diff --git a/frontend/dist/assets/AgentView-BgTBq7Qa.js b/frontend/dist/assets/AgentView-B0wsg8uQ.js similarity index 95% rename from frontend/dist/assets/AgentView-BgTBq7Qa.js rename to frontend/dist/assets/AgentView-B0wsg8uQ.js index 6282210..1c045c0 100644 --- a/frontend/dist/assets/AgentView-BgTBq7Qa.js +++ b/frontend/dist/assets/AgentView-B0wsg8uQ.js @@ -1,6 +1,6 @@ -import{c as A,I as P,f as M,k as B,u as D,r as z,j as e,J as T,b as a,K as g,M as b,N as W,t as f,W as j,O as G,X as I,C as N,n as y,q as i}from"./index-BYlMs6Dj.js";/** +import{c as A,I as P,f as M,k as B,u as D,r as z,j as e,b as a,J as g,K as b,M as T,t as f,W as j,X as W,C as N,n as y,q as i}from"./index-Bb8GyPHo.js";import{E as G}from"./external-link-P1_1JELD.js";import{S as I}from"./shield-DNyHWe3b.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const w=A("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),q=["chat","coding","fast","heavy"];function U(){const{data:r,error:c}=P(),{data:d}=M(),{showAlert:n,dialogElement:v}=B(),o=D(),x=c?String(c):"",[k,l]=z.useState(!1),_=(d==null?void 0:d.models)??[],m=s=>{var t;return((t=s==null?void 0:s.match(/:(\d+)/))==null?void 0:t[1])??""},p=m(r==null?void 0:r.gateway_url)||"8642",u=(r==null?void 0:r.pc_executor_url)??"",S=u.replace(/^https?:\/\//,""),C=m(u)||"7777";async function H(s){try{await y("/api/agent/brain",{method:"POST",body:JSON.stringify({model:s})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${s}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:i.agentStatus}),l(!1)}catch(t){n("Fehler",`Wechsel fehlgeschlagen: ${t.message||t}`)}}async function E(s){try{await y("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:s})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:i.agentStatus}),o.invalidateQueries({queryKey:i.models}),l(!1)}catch(t){n("Fehler",`Wechsel fehlgeschlagen: ${t.message||t}`)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",e.jsxs("code",{children:[":",p]}),") und seine eigene UI besitzt."]})]}),(r==null?void 0:r.hermes_ui_url)&&e.jsxs("a",{href:g(r.hermes_ui_url),target:"_blank",rel:"noopener",className:a("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",r.hermes_ui_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[e.jsx(T,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-GUI öffnen"})]})]}),x&&e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",x,")."]}),r&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"mc-card p-5",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx(b,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[e.jsxs("button",{onClick:()=>r.hermes_ui_reachable&&window.open(g(r.hermes_ui_url),"_blank"),title:r.hermes_ui_reachable?"Hermes-GUI öffnen":"Desktop-Gateway offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(W,{className:a("h-3.5 w-3.5",r.hermes_ui_reachable?"text-emerald-400":"text-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Desktop & GUI"}),e.jsx("span",{className:a("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",r.hermes_ui_reachable?"bg-emerald-500":"bg-amber-500")})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"Hermes Desktop · Clients"})]}),e.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),e.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[e.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[e.jsx(b,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),e.jsxs("span",{className:"text-[11px] font-mono text-muted-foreground",children:[":",p]}),e.jsxs("span",{className:a("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",r.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[e.jsx("span",{className:a("h-1.5 w-1.5 rounded-full",r.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),r.gateway_reachable?"online":"offline"]})]}),e.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[e.jsxs("button",{onClick:()=>l(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(f,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),e.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),e.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:r.brain_model,children:r.brain_model||"chat"})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(j,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),e.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[e.jsxs("span",{children:["Config: ",r.has_config?"✓":"—"]}),e.jsxs("span",{children:["Skills: ",r.has_skills?"✓":"—"]}),e.jsxs("span",{children:["Memory: ",r.has_memories?"✓":"—"]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),e.jsx("span",{className:a("ml-auto h-1.5 w-1.5 rounded-full",r.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),e.jsxs("div",{className:a("text-[11px] font-mono mt-1",r.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":",C," ",r.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),e.jsxs("div",{className:"mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(w,{className:"h-5 w-5 text-primary"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:a("h-2 w-2 rounded-full",r.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:r.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),e.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{children:["Der ",e.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:S||"deinem Windows-PC"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),e.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),e.jsx("div",{className:"space-y-3",children:r.pc_executor_reachable?e.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[e.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),e.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",e.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",e.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",e.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),e.jsxs("p",{children:["Starte ",e.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",e.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),e.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!r.gateway_reachable&&e.jsxs("div",{className:"mc-card p-6 space-y-4 text-left",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(G,{className:"h-5 w-5 text-amber-500"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[e.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),e.jsxs("p",{children:["Am schnellsten: In der System-Schublade unter ",e.jsx("strong",{children:"Dienste"})," den Eintrag"," ",e.jsx("strong",{children:"Hermes-Gateway"})," mit einem Klick neu starten (dort gibt es auch die Logs dazu)."]}),e.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-4 text-[11px] font-bold uppercase tracking-wide text-primary transition-all hover:bg-primary/20 cursor-pointer",children:[e.jsx(j,{className:"h-3.5 w-3.5"})," Dienste-Übersicht öffnen"]}),e.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",e.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),r&&k&&e.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:e.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[e.jsx(f,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),e.jsx("button",{onClick:()=>l(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:e.jsx(I,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:q.map(s=>{const t=r.brain_model===s;return e.jsxs("button",{onClick:()=>H(s),className:a("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",t?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[s,t&&e.jsx(N,{className:"h-3.5 w-3.5"})]},s)})}),e.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",e.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),e.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:_.map(s=>{var h;const t=s.role==="hermes";return e.jsxs("button",{onClick:()=>!t&&E(s.name),disabled:t||s.incomplete,className:a("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",t?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":s.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[e.jsxs("div",{className:"flex flex-col min-w-0",children:[e.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(h=s.name.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")}),e.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[s.capabilities.params_b?`${s.capabilities.params_b}B`:"?"," · ",s.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",s.role&&` · Rolle: ${s.role}`]})]}),t?e.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[e.jsx(N,{className:"h-3.5 w-3.5"})," Aktiv"]}):e.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},s.name)})})]}),e.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[e.jsx("span",{children:"💡"}),e.jsxs("span",{children:["Für einen ",e.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),v]})}export{U as AgentView}; + */const w=A("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),q=["chat","coding","fast","heavy"];function $(){const{data:r,error:c}=P(),{data:d}=M(),{showAlert:n,dialogElement:v}=B(),o=D(),x=c?String(c):"",[k,l]=z.useState(!1),_=(d==null?void 0:d.models)??[],m=s=>{var t;return((t=s==null?void 0:s.match(/:(\d+)/))==null?void 0:t[1])??""},p=m(r==null?void 0:r.gateway_url)||"8642",u=(r==null?void 0:r.pc_executor_url)??"",S=u.replace(/^https?:\/\//,""),C=m(u)||"7777";async function H(s){try{await y("/api/agent/brain",{method:"POST",body:JSON.stringify({model:s})}),n("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${s}'. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:i.agentStatus}),l(!1)}catch(t){n("Fehler",`Wechsel fehlgeschlagen: ${t.message||t}`)}}async function E(s){try{await y("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:s})}),n("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),o.invalidateQueries({queryKey:i.agentStatus}),o.invalidateQueries({queryKey:i.models}),l(!1)}catch(t){n("Fehler",`Wechsel fehlgeschlagen: ${t.message||t}`)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",e.jsxs("code",{children:[":",p]}),") und seine eigene UI besitzt."]})]}),(r==null?void 0:r.hermes_ui_url)&&e.jsxs("a",{href:g(r.hermes_ui_url),target:"_blank",rel:"noopener",className:a("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",r.hermes_ui_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[e.jsx(G,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-GUI öffnen"})]})]}),x&&e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",x,")."]}),r&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"mc-card p-5",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx(b,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[e.jsxs("button",{onClick:()=>r.hermes_ui_reachable&&window.open(g(r.hermes_ui_url),"_blank"),title:r.hermes_ui_reachable?"Hermes-GUI öffnen":"Desktop-Gateway offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(T,{className:a("h-3.5 w-3.5",r.hermes_ui_reachable?"text-emerald-400":"text-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Desktop & GUI"}),e.jsx("span",{className:a("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",r.hermes_ui_reachable?"bg-emerald-500":"bg-amber-500")})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"Hermes Desktop · Clients"})]}),e.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),e.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[e.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[e.jsx(b,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),e.jsxs("span",{className:"text-[11px] font-mono text-muted-foreground",children:[":",p]}),e.jsxs("span",{className:a("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",r.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[e.jsx("span",{className:a("h-1.5 w-1.5 rounded-full",r.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),r.gateway_reachable?"online":"offline"]})]}),e.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[e.jsxs("button",{onClick:()=>l(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(f,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),e.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),e.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:r.brain_model,children:r.brain_model||"chat"})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(j,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),e.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[e.jsxs("span",{children:["Config: ",r.has_config?"✓":"—"]}),e.jsxs("span",{children:["Skills: ",r.has_skills?"✓":"—"]}),e.jsxs("span",{children:["Memory: ",r.has_memories?"✓":"—"]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),e.jsx("span",{className:a("ml-auto h-1.5 w-1.5 rounded-full",r.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),e.jsxs("div",{className:a("text-[11px] font-mono mt-1",r.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":",C," ",r.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),e.jsxs("div",{className:"mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(w,{className:"h-5 w-5 text-primary"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:a("h-2 w-2 rounded-full",r.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:r.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),e.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{children:["Der ",e.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:S||"deinem Windows-PC"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),e.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),e.jsx("div",{className:"space-y-3",children:r.pc_executor_reachable?e.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[e.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),e.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",e.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",e.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",e.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),e.jsxs("p",{children:["Starte ",e.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",e.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),e.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!r.gateway_reachable&&e.jsxs("div",{className:"mc-card p-6 space-y-4 text-left",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"h-5 w-5 text-amber-500"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[e.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),e.jsxs("p",{children:["Am schnellsten: In der System-Schublade unter ",e.jsx("strong",{children:"Dienste"})," den Eintrag"," ",e.jsx("strong",{children:"Hermes-Gateway"})," mit einem Klick neu starten (dort gibt es auch die Logs dazu)."]}),e.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-4 text-[11px] font-bold uppercase tracking-wide text-primary transition-all hover:bg-primary/20 cursor-pointer",children:[e.jsx(j,{className:"h-3.5 w-3.5"})," Dienste-Übersicht öffnen"]}),e.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",e.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),r&&k&&e.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:e.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[e.jsx(f,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),e.jsx("button",{onClick:()=>l(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:e.jsx(W,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:q.map(s=>{const t=r.brain_model===s;return e.jsxs("button",{onClick:()=>H(s),className:a("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",t?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[s,t&&e.jsx(N,{className:"h-3.5 w-3.5"})]},s)})}),e.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",e.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),e.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:_.map(s=>{var h;const t=s.role==="hermes";return e.jsxs("button",{onClick:()=>!t&&E(s.name),disabled:t||s.incomplete,className:a("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",t?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":s.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[e.jsxs("div",{className:"flex flex-col min-w-0",children:[e.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(h=s.name.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")}),e.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[s.capabilities.params_b?`${s.capabilities.params_b}B`:"?"," · ",s.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",s.role&&` · Rolle: ${s.role}`]})]}),t?e.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[e.jsx(N,{className:"h-3.5 w-3.5"})," Aktiv"]}):e.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},s.name)})})]}),e.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[e.jsx("span",{children:"💡"}),e.jsxs("span",{children:["Für einen ",e.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),v]})}export{$ as AgentView}; diff --git a/frontend/dist/assets/AuftragsbuchView-C0bzCKZ0.js b/frontend/dist/assets/AuftragsbuchView-Ca4tUml_.js similarity index 89% rename from frontend/dist/assets/AuftragsbuchView-C0bzCKZ0.js rename to frontend/dist/assets/AuftragsbuchView-Ca4tUml_.js index ead28a9..2a6a0e7 100644 --- a/frontend/dist/assets/AuftragsbuchView-C0bzCKZ0.js +++ b/frontend/dist/assets/AuftragsbuchView-Ca4tUml_.js @@ -1,4 +1,4 @@ -import{c as W,a1 as H,a2 as F,u as G,k as T,r as b,j as e,R as _,b as y,L as m,C as E,_ as O,D as P,a0 as z,a3 as R,a4 as V,X as D,T as C,F as K,n as $,a5 as q,q as U}from"./index-BYlMs6Dj.js";import{S,H as Q}from"./SectionLabel-R1yae0WQ.js";import{C as M}from"./chevron-down-D5zhK_UQ.js";/** +import{c as W,Z as G,_ as H,u as T,k as F,r as m,j as e,b as y,L as p,C as E,U as _,Y as z,$ as R,X as D,T as C,G as V,n as $,a0 as O,q as P}from"./index-Bb8GyPHo.js";import{S,H as q}from"./SectionLabel-CS0KgrzT.js";import{R as U}from"./refresh-cw-C3saW9zg.js";import{A as Q}from"./arrow-right-D09OliuI.js";import{C as K}from"./clock-uyqKk7Jn.js";import{C as M}from"./chevron-down-BGRm8kVZ.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -8,8 +8,8 @@ import{c as W,a1 as H,a2 as F,u as G,k as T,r as b,j as e,R as _,b as y,L as m,C * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const J=W("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),X={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},Y={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function de(){const{data:t,isLoading:r,refetch:n,isFetching:p}=H(),{data:l}=F(),f=G(),{showAlert:h,showConfirm:j,dialogElement:B}=T(),[N,A]=b.useState({}),w=()=>f.invalidateQueries({queryKey:U.auftragsbuch});async function k(a,i,I,v){A(d=>({...d,[a]:!0}));try{await $(i,{method:"POST",body:JSON.stringify(I)}),v&&h("Erledigt",v),w()}catch(d){h("Das hat nicht geklappt",String((d==null?void 0:d.message)||d))}finally{A(d=>({...d,[a]:!1}))}}const g=(t==null?void 0:t.items)??[],o=(t==null?void 0:t.skill_kandidaten)??[],x=l!=null&&l.available?l.items.filter(a=>a.status==="blocked").length:0,u=g.length===0&&o.length===0;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),e.jsxs("button",{onClick:()=>n(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[e.jsx(_,{className:y("h-3.5 w-3.5",p&&"animate-spin")})," Aktualisieren"]})]}),t&&!t.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),r&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(m,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(t==null?void 0:t.available)&&u&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[e.jsx(E,{className:"h-5 w-5 shrink-0 text-emerald-400"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),x>0&&e.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"ideen"}})),className:"flex w-full items-center gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:border-red-500/50 cursor-pointer",children:[e.jsx(O,{className:"h-5 w-5 shrink-0 text-red-300"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:x===1?"Eine Idee hängt und braucht dich":`${x} Ideen hängen und brauchen dich`}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Hier ist nichts zu tun — aber drüben in den Ideen wartet eine Frage auf deine Antwort."})]}),e.jsx(P,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),g.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:J,children:["Patch-Vorschläge (",g.length,")"]}),g.map(a=>e.jsx(re,{item:a,busy:N,onAct:k,showConfirm:j},`${a.repo??"mc2"}:${a.branch}`))]}),o.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:z,children:["Skill-Kandidaten aus dem Traum (",o.length,")"]}),o.map(a=>e.jsx(se,{k:a,busy:N,onAct:k,showConfirm:j},a.file))]}),B]})}function ee({item:t}){const r=t.status;if(!r)return null;const n=Y[r.state];return n?e.jsxs("span",{className:y("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",n.cls),title:r.detail,children:[n.spin&&e.jsx(m,{className:"h-3 w-3 animate-spin"}),n.label]}):null}function te({item:t}){const r=t.ci_status;return r?r==="success"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-emerald-500/30 bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-bold text-emerald-400",title:"CI-Ampel: Grün (Baut & läuft)",children:[e.jsx(E,{className:"h-3 w-3"})," CI Grün"]}):r==="failure"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-red-500/30 bg-red-500/10 px-1.5 py-0.5 text-[10px] font-bold text-red-400",title:"CI-Ampel: Rot (Fehler)",children:[e.jsx(D,{className:"h-3 w-3"})," CI Rot"]}):r==="pending"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-amber-500/30 bg-amber-500/10 px-1.5 py-0.5 text-[10px] font-bold text-amber-400",title:"CI-Ampel: Läuft",children:[e.jsx(m,{className:"h-3 w-3 animate-spin"})," CI Läuft"]}):null:null}function re({item:t,busy:r,onAct:n,showConfirm:p}){var v,d,L;const[l,f]=b.useState(!1),[h,j]=b.useState(null),[B,N]=b.useState(!1),[A,w]=b.useState(!1),[k,g]=b.useState(""),o=((v=t.status)==null?void 0:v.state)==="laeuft"||((d=t.status)==null?void 0:d.state)==="rollback",x=((L=t.status)==null?void 0:L.state)==="eingespielt",u=t.repo??"mc2",a=u==="lucy",i=`${u}:${t.branch}`;async function I(){const s=!l;if(f(s),s&&h===null){N(!0);try{const c=await $(`/api/auftragsbuch/diff?branch=${encodeURIComponent(t.branch)}&repo=${u}`);j(c.diff+(c.truncated?` -… (gekürzt)`:""))}catch(c){j(`(Diff nicht ladbar: ${(c==null?void 0:c.message)||c})`)}finally{N(!1)}}}return e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:X[t.kind]??t.kind}),a&&e.jsx("span",{className:"rounded-md border border-pink-500/40 bg-pink-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-pink-300",title:"Vorschlag fürs Lucy-Repo — Annehmen baut die App am PC neu und startet sie neu, wenn sie läuft.",children:"Lucy"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:t.branch,children:t.branch}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(R,{className:"h-3 w-3"}),V(t.ts)]}),e.jsx(te,{item:t}),e.jsx(ee,{item:t})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.subject||"(ohne Titel)"}),t.body&&e.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:t.body}),t.empfehlung&&e.jsxs("p",{className:y("mt-1.5 flex items-start gap-1.5 rounded-lg border px-2 py-1 text-[11px]",t.empfehlung.empfehlung==="ANNEHMEN"&&"border-emerald-500/30 bg-emerald-500/5 text-emerald-300",t.empfehlung.empfehlung==="ABLEHNEN"&&"border-red-500/30 bg-red-500/5 text-red-300",t.empfehlung.empfehlung==="UNKLAR"&&"border-amber-500/30 bg-amber-500/5 text-amber-300"),title:`Nächtliches Kurz-Gutachten (${t.empfehlung.richter}) — eine Meinung, kein Muss. Die Entscheidung bleibt bei dir.`,children:[e.jsx(z,{className:"mt-0.5 h-3 w-3 shrink-0"}),e.jsxs("span",{children:[e.jsxs("b",{children:["Empfehlung: ",t.empfehlung.empfehlung==="ANNEHMEN"?"Annehmen":t.empfehlung.empfehlung==="ABLEHNEN"?"Ablehnen":"Unklar","."]})," ",t.empfehlung.satz]})]})]}),!o&&!x&&e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[!t.verwaist&&e.jsxs("button",{disabled:!!r[i],onClick:()=>p("Vorschlag annehmen?",a?`'${t.branch}' wird im Lucy-Repo auf main gemergt, dann baut dein PC die App neu (dist) und startet Lucy neu, falls sie gerade läuft. Der PC muss dafür an sein. Schlägt Build oder Start fehl, dreht die Box den Merge automatisch zurück — die laufende Lucy bleibt die alte.`:`'${t.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${t.frontend_ohne_build?` + */const J=W("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),X={wartung:"Werkstatt",orchestrator:"Orchestrator",doku:"Doku",feature:"Feature"},Y={laeuft:{label:"wird eingespielt …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},rollback:{label:"Rollback läuft …",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10",spin:!0},eingespielt:{label:"eingespielt ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"},fehlgeschlagen:{label:"fehlgeschlagen",cls:"text-red-300 border-red-500/40 bg-red-500/10"},zurueckgerollt:{label:"zurückgerollt",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},kritisch:{label:"KRITISCH — Box prüfen",cls:"text-red-200 border-red-500/60 bg-red-500/20"},abgelehnt:{label:"abgelehnt",cls:"text-muted-foreground border-border/60 bg-background/30"}};function oe(){const{data:t,isLoading:r,refetch:n,isFetching:b}=G(),{data:l}=H(),f=T(),{showAlert:h,showConfirm:j,dialogElement:B}=F(),[N,A]=m.useState({}),w=()=>f.invalidateQueries({queryKey:P.auftragsbuch});async function k(a,i,I,v){A(d=>({...d,[a]:!0}));try{await $(i,{method:"POST",body:JSON.stringify(I)}),v&&h("Erledigt",v),w()}catch(d){h("Das hat nicht geklappt",String((d==null?void 0:d.message)||d))}finally{A(d=>({...d,[a]:!1}))}}const g=(t==null?void 0:t.items)??[],o=(t==null?void 0:t.skill_kandidaten)??[],x=l!=null&&l.available?l.items.filter(a=>a.status==="blocked").length:0,u=g.length===0&&o.length===0;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Auftragsbuch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was die Box gebaut oder sich ausgedacht hat — du entscheidest. Annehmen spielt es mit Fangnetz ein (Health-Check, automatischer Rollback)."})]}),e.jsxs("button",{onClick:()=>n(),className:"flex h-9 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-3 text-xs font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer",children:[e.jsx(U,{className:y("h-3.5 w-3.5",b&&"animate-spin")})," Aktualisieren"]})]}),t&&!t.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Das Auftragsbuch lebt auf der Box (liest die Gitea-Branches dort). Im lokalen Dev-Modus ist hier nichts zu sehen."}),r&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(p,{className:"h-4 w-4 animate-spin"})," Vorschläge werden geladen …"]}),(t==null?void 0:t.available)&&u&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-5",children:[e.jsx(E,{className:"h-5 w-5 shrink-0 text-emerald-400"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu entscheiden"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keine offenen Vorschläge. Werkstatt, Orchestrator und Traum melden sich hier, sobald es etwas gibt."})]})]}),x>0&&e.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"ideen"}})),className:"flex w-full items-center gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:border-red-500/50 cursor-pointer",children:[e.jsx(_,{className:"h-5 w-5 shrink-0 text-red-300"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:x===1?"Eine Idee hängt und braucht dich":`${x} Ideen hängen und brauchen dich`}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Hier ist nichts zu tun — aber drüben in den Ideen wartet eine Frage auf deine Antwort."})]}),e.jsx(Q,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),g.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:J,children:["Patch-Vorschläge (",g.length,")"]}),g.map(a=>e.jsx(re,{item:a,busy:N,onAct:k,showConfirm:j},`${a.repo??"mc2"}:${a.branch}`))]}),o.length>0&&e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:z,children:["Skill-Kandidaten aus dem Traum (",o.length,")"]}),o.map(a=>e.jsx(se,{k:a,busy:N,onAct:k,showConfirm:j},a.file))]}),B]})}function ee({item:t}){const r=t.status;if(!r)return null;const n=Y[r.state];return n?e.jsxs("span",{className:y("flex items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",n.cls),title:r.detail,children:[n.spin&&e.jsx(p,{className:"h-3 w-3 animate-spin"}),n.label]}):null}function te({item:t}){const r=t.ci_status;return r?r==="success"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-emerald-500/30 bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-bold text-emerald-400",title:"CI-Ampel: Grün (Baut & läuft)",children:[e.jsx(E,{className:"h-3 w-3"})," CI Grün"]}):r==="failure"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-red-500/30 bg-red-500/10 px-1.5 py-0.5 text-[10px] font-bold text-red-400",title:"CI-Ampel: Rot (Fehler)",children:[e.jsx(D,{className:"h-3 w-3"})," CI Rot"]}):r==="pending"?e.jsxs("span",{className:"flex items-center gap-1 rounded-lg border border-amber-500/30 bg-amber-500/10 px-1.5 py-0.5 text-[10px] font-bold text-amber-400",title:"CI-Ampel: Läuft",children:[e.jsx(p,{className:"h-3 w-3 animate-spin"})," CI Läuft"]}):null:null}function re({item:t,busy:r,onAct:n,showConfirm:b}){var v,d,L;const[l,f]=m.useState(!1),[h,j]=m.useState(null),[B,N]=m.useState(!1),[A,w]=m.useState(!1),[k,g]=m.useState(""),o=((v=t.status)==null?void 0:v.state)==="laeuft"||((d=t.status)==null?void 0:d.state)==="rollback",x=((L=t.status)==null?void 0:L.state)==="eingespielt",u=t.repo??"mc2",a=u==="lucy",i=`${u}:${t.branch}`;async function I(){const s=!l;if(f(s),s&&h===null){N(!0);try{const c=await $(`/api/auftragsbuch/diff?branch=${encodeURIComponent(t.branch)}&repo=${u}`);j(c.diff+(c.truncated?` +… (gekürzt)`:""))}catch(c){j(`(Diff nicht ladbar: ${(c==null?void 0:c.message)||c})`)}finally{N(!1)}}}return e.jsxs("div",{className:"mc-card p-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-primary",children:X[t.kind]??t.kind}),a&&e.jsx("span",{className:"rounded-md border border-pink-500/40 bg-pink-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-pink-300",title:"Vorschlag fürs Lucy-Repo — Annehmen baut die App am PC neu und startet sie neu, wenn sie läuft.",children:"Lucy"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",title:t.branch,children:t.branch}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(K,{className:"h-3 w-3"}),R(t.ts)]}),e.jsx(te,{item:t}),e.jsx(ee,{item:t})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.subject||"(ohne Titel)"}),t.body&&e.jsx("p",{className:"mt-1 whitespace-pre-wrap text-xs leading-relaxed text-muted-foreground line-clamp-6",children:t.body}),t.empfehlung&&e.jsxs("p",{className:y("mt-1.5 flex items-start gap-1.5 rounded-lg border px-2 py-1 text-[11px]",t.empfehlung.empfehlung==="ANNEHMEN"&&"border-emerald-500/30 bg-emerald-500/5 text-emerald-300",t.empfehlung.empfehlung==="ABLEHNEN"&&"border-red-500/30 bg-red-500/5 text-red-300",t.empfehlung.empfehlung==="UNKLAR"&&"border-amber-500/30 bg-amber-500/5 text-amber-300"),title:`Nächtliches Kurz-Gutachten (${t.empfehlung.richter}) — eine Meinung, kein Muss. Die Entscheidung bleibt bei dir.`,children:[e.jsx(z,{className:"mt-0.5 h-3 w-3 shrink-0"}),e.jsxs("span",{children:[e.jsxs("b",{children:["Empfehlung: ",t.empfehlung.empfehlung==="ANNEHMEN"?"Annehmen":t.empfehlung.empfehlung==="ABLEHNEN"?"Ablehnen":"Unklar","."]})," ",t.empfehlung.satz]})]})]}),!o&&!x&&e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[!t.verwaist&&e.jsxs("button",{disabled:!!r[i],onClick:()=>b("Vorschlag annehmen?",a?`'${t.branch}' wird im Lucy-Repo auf main gemergt, dann baut dein PC die App neu (dist) und startet Lucy neu, falls sie gerade läuft. Der PC muss dafür an sein. Schlägt Build oder Start fehl, dreht die Box den Merge automatisch zurück — die laufende Lucy bleibt die alte.`:`'${t.branch}' wird auf main gemergt und live eingespielt. Die Zentrale startet dabei kurz neu. Geht der Health-Check danach rot, rollt die Box automatisch zurück.${t.frontend_ohne_build?` -Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>n(i,"/api/auftragsbuch/annehmen",{branch:t.branch,repo:u})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[r[i]?e.jsx(m,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(E,{className:"h-3.5 w-3.5"})," Annehmen"]}),e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>w(s=>!s),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["ab:"+i]?e.jsx(m,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(D,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),A&&!o&&!x&&e.jsxs("div",{className:"space-y-2 rounded-xl border border-red-500/25 bg-red-500/5 p-3",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Der Branch '",t.branch,"' wird auf Gitea gelöscht (die Arbeit bleibt in der Historie). Sag der Box kurz ",e.jsx("b",{children:"warum"})," — dann schlägt sie dir so etwas nicht wieder vor."]}),e.jsx("input",{value:k,onChange:s=>g(s.target.value),placeholder:"Grund (optional) — z. B. „gibt es schon“ oder „will ich nicht“",maxLength:400,className:"w-full rounded-lg border border-border/60 bg-background/60 px-2.5 py-1.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>{w(!1),n("ab:"+i,"/api/auftragsbuch/ablehnen",{branch:t.branch,repo:u,grund:k.trim()})},className:"flex h-8 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(D,{className:"h-3.5 w-3.5"})," Wirklich ablehnen"]}),e.jsx("button",{onClick:()=>w(!1),className:"flex h-8 items-center rounded-lg border border-border/60 bg-background/40 px-3 text-[11px] font-semibold text-muted-foreground transition-all hover:text-foreground cursor-pointer",children:"Abbrechen"})]})]}),t.status&&(o||!x)&&t.status.detail&&e.jsx("p",{className:"text-[11px] text-muted-foreground",children:t.status.detail}),t.verwaist&&e.jsxs("p",{className:"rounded-lg border border-red-500/30 bg-red-500/5 px-2 py-1.5 text-[11px] text-red-300/90",children:[e.jsx("b",{children:"Kaputt aufgesetzt:"})," Dieser Branch hat keinen gemeinsamen Ursprung mit main (der Werkstatt-Worker hat nicht richtig geklont) — Annehmen ist technisch unmöglich, deshalb fehlt der Knopf. Am besten ",e.jsx("b",{children:"ablehnen mit Grund"}),"; die Idee kann danach frisch in die Queue."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[t.ahead," Commit",t.ahead===1?"":"s"]}),t.shortstat&&e.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:t.shortstat.trim()}),t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-red-500/10 px-1.5 py-0.5 text-red-300",title:"Kein gemeinsamer Vorfahre mit main — git kann diesen Branch niemals mergen.",children:[e.jsx(C,{className:"h-3 w-3"})," kein gemeinsamer Ursprung"]}),t.leer&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Der Diff gegen main ist leer — der Branch würde nichts verändern (Inhalt schon in main oder am Repo vorbei gearbeitet).",children:[e.jsx(C,{className:"h-3 w-3"})," Diff leer — bringt nichts"]}),t.behind>0&&!t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen — bei Konflikten versucht die Annahme automatisch einen Rebase.",children:[e.jsx(C,{className:"h-3 w-3"})," ",t.behind," hinter main"]}),t.frontend_ohne_build&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[e.jsx(C,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),e.jsxs("div",{children:[e.jsxs("button",{onClick:I,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(K,{className:"h-3.5 w-3.5"}),e.jsx(Z,{className:"h-3.5 w-3.5"})," ",t.files.length," Datei",t.files.length===1?"":"en"," — Änderungen ansehen"]}),l&&e.jsxs("div",{className:"mt-2 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[t.files.map(s=>e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[e.jsx("b",{className:y(s.status.startsWith("A")&&"text-emerald-400",s.status.startsWith("D")&&"text-red-400",s.status.startsWith("M")&&"text-sky-400"),children:s.status})," ",s.path]},s.path)),t.files_truncated&&e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),e.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:B?e.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):e.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(h??"").split(` -`).map((s,c)=>e.jsx("span",{className:y("block",s.startsWith("+")&&!s.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",s.startsWith("-")&&!s.startsWith("---")&&"text-red-300/90 bg-red-500/5",(s.startsWith("@@")||s.startsWith("diff "))&&"text-sky-300/90"),children:s||" "},c))})})]})]})]})}function se({k:t,busy:r,onAct:n,showConfirm:p}){const[l,f]=b.useState(!1);return e.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:t.file}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(R,{className:"h-3 w-3"}),V(t.mtime)]})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.title})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsxs("button",{disabled:!!r["sk:"+t.file],onClick:()=>p("Werkstatt beauftragen?",`Der Kandidat '${t.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>n("sk:"+t.file,"/api/auftragsbuch/skill/annehmen",{file:t.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[r["sk:"+t.file]?e.jsx(m,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"})," Beauftragen"]}),e.jsxs("button",{disabled:!!r["skab:"+t.file],onClick:()=>p("Kandidat verwerfen?",`'${t.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>n("skab:"+t.file,"/api/auftragsbuch/skill/ablehnen",{file:t.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["skab:"+t.file]?e.jsx(m,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(D,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),e.jsxs("button",{onClick:()=>f(h=>!h),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(K,{className:"h-3.5 w-3.5"}),e.jsx(q,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),l&&e.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:t.preview})]})}export{de as AuftragsbuchView}; +Achtung: Enthält Frontend-Quelltext ohne gebautes Bundle — die Oberfläche bleibt alt, bis am PC gebaut wird.`:""}`,()=>n(i,"/api/auftragsbuch/annehmen",{branch:t.branch,repo:u})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[r[i]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(E,{className:"h-3.5 w-3.5"})," Annehmen"]}),e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>w(s=>!s),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["ab:"+i]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(D,{className:"h-3.5 w-3.5"})," Ablehnen"]})]})]}),A&&!o&&!x&&e.jsxs("div",{className:"space-y-2 rounded-xl border border-red-500/25 bg-red-500/5 p-3",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Der Branch '",t.branch,"' wird auf Gitea gelöscht (die Arbeit bleibt in der Historie). Sag der Box kurz ",e.jsx("b",{children:"warum"})," — dann schlägt sie dir so etwas nicht wieder vor."]}),e.jsx("input",{value:k,onChange:s=>g(s.target.value),placeholder:"Grund (optional) — z. B. „gibt es schon“ oder „will ich nicht“",maxLength:400,className:"w-full rounded-lg border border-border/60 bg-background/60 px-2.5 py-1.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{disabled:!!r["ab:"+i],onClick:()=>{w(!1),n("ab:"+i,"/api/auftragsbuch/ablehnen",{branch:t.branch,repo:u,grund:k.trim()})},className:"flex h-8 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(D,{className:"h-3.5 w-3.5"})," Wirklich ablehnen"]}),e.jsx("button",{onClick:()=>w(!1),className:"flex h-8 items-center rounded-lg border border-border/60 bg-background/40 px-3 text-[11px] font-semibold text-muted-foreground transition-all hover:text-foreground cursor-pointer",children:"Abbrechen"})]})]}),t.status&&(o||!x)&&t.status.detail&&e.jsx("p",{className:"text-[11px] text-muted-foreground",children:t.status.detail}),t.verwaist&&e.jsxs("p",{className:"rounded-lg border border-red-500/30 bg-red-500/5 px-2 py-1.5 text-[11px] text-red-300/90",children:[e.jsx("b",{children:"Kaputt aufgesetzt:"})," Dieser Branch hat keinen gemeinsamen Ursprung mit main (der Werkstatt-Worker hat nicht richtig geklont) — Annehmen ist technisch unmöglich, deshalb fehlt der Knopf. Am besten ",e.jsx("b",{children:"ablehnen mit Grund"}),"; die Idee kann danach frisch in die Queue."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground",children:[e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:[t.ahead," Commit",t.ahead===1?"":"s"]}),t.shortstat&&e.jsx("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono",children:t.shortstat.trim()}),t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-red-500/10 px-1.5 py-0.5 text-red-300",title:"Kein gemeinsamer Vorfahre mit main — git kann diesen Branch niemals mergen.",children:[e.jsx(C,{className:"h-3 w-3"})," kein gemeinsamer Ursprung"]}),t.leer&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Der Diff gegen main ist leer — der Branch würde nichts verändern (Inhalt schon in main oder am Repo vorbei gearbeitet).",children:[e.jsx(C,{className:"h-3 w-3"})," Diff leer — bringt nichts"]}),t.behind>0&&!t.verwaist&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"main ist seit diesem Vorschlag weitergelaufen — bei Konflikten versucht die Annahme automatisch einen Rebase.",children:[e.jsx(C,{className:"h-3 w-3"})," ",t.behind," hinter main"]}),t.frontend_ohne_build&&e.jsxs("span",{className:"flex items-center gap-1 rounded bg-amber-500/10 px-1.5 py-0.5 text-amber-300",title:"Die Box kann kein Frontend bauen (kein Node) — nach dem Annehmen bleibt die Oberfläche alt, bis am PC gebaut wird.",children:[e.jsx(C,{className:"h-3 w-3"})," Frontend ohne Build"]})]}),e.jsxs("div",{children:[e.jsxs("button",{onClick:I,className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(V,{className:"h-3.5 w-3.5"}),e.jsx(Z,{className:"h-3.5 w-3.5"})," ",t.files.length," Datei",t.files.length===1?"":"en"," — Änderungen ansehen"]}),l&&e.jsxs("div",{className:"mt-2 space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[t.files.map(s=>e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:[e.jsx("b",{className:y(s.status.startsWith("A")&&"text-emerald-400",s.status.startsWith("D")&&"text-red-400",s.status.startsWith("M")&&"text-sky-400"),children:s.status})," ",s.path]},s.path)),t.files_truncated&&e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"…"})]}),e.jsx("div",{className:"max-h-96 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3",children:B?e.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Diff wird geladen …"}):e.jsx("pre",{className:"text-[10px] leading-relaxed text-foreground/80 whitespace-pre",children:(h??"").split(` +`).map((s,c)=>e.jsx("span",{className:y("block",s.startsWith("+")&&!s.startsWith("+++")&&"text-emerald-300/90 bg-emerald-500/5",s.startsWith("-")&&!s.startsWith("---")&&"text-red-300/90 bg-red-500/5",(s.startsWith("@@")||s.startsWith("diff "))&&"text-sky-300/90"),children:s||" "},c))})})]})]})]})}function se({k:t,busy:r,onAct:n,showConfirm:b}){const[l,f]=m.useState(!1);return e.jsxs("div",{className:"rounded-2xl border border-violet-500/25 bg-violet-500/[0.04] p-4 shadow-lg shadow-black/15 backdrop-blur-md space-y-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"rounded-md border border-violet-500/30 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-violet-300",children:"Traum-Idee"}),e.jsx("span",{className:"font-mono text-[11px] text-muted-foreground truncate",children:t.file}),e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(K,{className:"h-3 w-3"}),R(t.mtime)]})]}),e.jsx("p",{className:"mt-1.5 text-sm font-semibold text-foreground",children:t.title})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsxs("button",{disabled:!!r["sk:"+t.file],onClick:()=>b("Werkstatt beauftragen?",`Der Kandidat '${t.title}' geht als Auftrag an die Werkstatt (Orchestrator, propose-only). Das Ergebnis erscheint später als neuer Patch-Vorschlag hier im Auftragsbuch — nichts geht ungefragt live.`,()=>n("sk:"+t.file,"/api/auftragsbuch/skill/annehmen",{file:t.file},"Die Werkstatt arbeitet. Das Ergebnis taucht als neuer Vorschlag im Auftragsbuch auf (das kann einige Minuten dauern).")),className:"flex h-9 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[r["sk:"+t.file]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(q,{className:"h-3.5 w-3.5"})," Beauftragen"]}),e.jsxs("button",{disabled:!!r["skab:"+t.file],onClick:()=>b("Kandidat verwerfen?",`'${t.title}' wandert ins Archiv des Wissens-Vaults (verworfen/). Der Traum schlägt ihn nicht erneut vor.`,()=>n("skab:"+t.file,"/api/auftragsbuch/skill/ablehnen",{file:t.file})),className:"flex h-9 items-center gap-1.5 rounded-lg border border-red-500/30 bg-red-500/5 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300/90 transition-all hover:bg-red-500/15 cursor-pointer disabled:opacity-50",children:[r["skab:"+t.file]?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(D,{className:"h-3.5 w-3.5"})," Verwerfen"]})]})]}),e.jsxs("button",{onClick:()=>f(h=>!h),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[l?e.jsx(M,{className:"h-3.5 w-3.5"}):e.jsx(V,{className:"h-3.5 w-3.5"}),e.jsx(O,{className:"h-3.5 w-3.5"})," Vorschlag lesen"]}),l&&e.jsx("pre",{className:"max-h-72 overflow-auto rounded-xl border border-border/50 bg-background/50 p-3 text-[11px] leading-relaxed text-foreground/85 whitespace-pre-wrap",children:t.preview})]})}export{oe as AuftragsbuchView}; diff --git a/frontend/dist/assets/ChronikView-Bz_yVFvS.js b/frontend/dist/assets/ChronikView-CBBlq8pa.js similarity index 93% rename from frontend/dist/assets/ChronikView-Bz_yVFvS.js rename to frontend/dist/assets/ChronikView-CBBlq8pa.js index 638733b..4fb0305 100644 --- a/frontend/dist/assets/ChronikView-Bz_yVFvS.js +++ b/frontend/dist/assets/ChronikView-CBBlq8pa.js @@ -1,4 +1,4 @@ -import{c as d,aj as S,r as h,j as e,ak as M,L as p,a0 as z,a5 as C,al as D,am as A,b as B,an as Z,u as E,k as L,n as k,q}from"./index-BYlMs6Dj.js";import{R as j}from"./rotate-ccw-Dx0bZ_kA.js";/** +import{c as d,ad as S,r as h,j as e,ae as M,L as g,Y as z,R as j,a0 as C,af as D,ag as A,b as B,ah as Z,u as E,k as L,n as k,q}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -28,4 +28,4 @@ import{c as d,aj as S,r as h,j as e,ak as M,L as p,a0 as z,a5 as C,al as D,am as * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const H=d("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),O={sentry:{icon:A,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:D,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:T,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:U,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:H,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:C,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:j,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:R,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:z,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},P={icon:$,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function W(r){return new Date(r*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function G(){const{data:r=[],isLoading:u}=S(),[i,x]=h.useState(!0),b=h.useMemo(()=>{const o=[];for(const n of r){const a=W(n.ts),l=o[o.length-1];l&&l.day===a?l.items.push(n):o.push({day:a,items:[n]})}return o},[r]);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Chronik"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),e.jsx(J,{}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(M,{className:"h-3.5 w-3.5"})," Verlauf"]}),u&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(p,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!u&&r.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),b.map(({day:o,items:n})=>e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:o}),e.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(i?n.slice(0,8):n).map(a=>{const l=O[a.source]??P,m=l.icon;return e.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[e.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:B("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",l.cls),children:[e.jsx(m,{className:"h-3 w-3"})," ",l.label]}),a.subject&&e.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:a.subject}),e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(a.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),e.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:a.text})]},a.id)}),i&&n.length>8&&e.jsxs("button",{onClick:()=>x(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[n.length-8," weitere anzeigen"]})]})]},o))]})]})}function J(){const{data:r}=Z(),u=E(),{showAlert:i,showConfirm:x,dialogElement:b}=L(),[o,n]=h.useState(null),[a,l]=h.useState(!1),[m,v]=h.useState(!1),c=(r==null?void 0:r.backups)??[],g=m?c:c.slice(0,4);function f(t){const s=t.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return s?`${s[3]}.${s[2]}.${s[1]}, ${s[4]}:${s[5]} Uhr`:t.snapshot}async function w(t){n(t.file);try{await k("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:t.file})}),i("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(s){i("Start fehlgeschlagen",String((s==null?void 0:s.message)||s))}finally{n(null)}}async function N(){l(!0);try{const t=await k("/api/system/backup",{method:"POST"});t.ok?i("Gesichert",`Snapshot ${t.snapshot} wurde angelegt.`):i("Backup fehlgeschlagen",t.error||"Unbekannter Fehler"),u.invalidateQueries({queryKey:q.zeitmaschine})}catch(t){i("Backup fehlgeschlagen",String((t==null?void 0:t.message)||t))}finally{l(!1)}}return e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(y,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),e.jsxs("button",{onClick:N,disabled:a||!(r!=null&&r.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[a?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(y,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),r&&!r.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(r==null?void 0:r.available)&&c.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),g.length>0&&e.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:g.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[f(t)," ",s===0&&e.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),e.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:t.file,children:[t.size_mb.toLocaleString("de-DE")," MB · ",t.file]})]}),e.jsxs("button",{disabled:o!==null,onClick:()=>x("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${f(t)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>w(t)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[o===t.file?e.jsx(p,{className:"h-3 w-3 animate-spin"}):e.jsx(j,{className:"h-3 w-3"})," Zurück"]})]},t.file))}),c.length>4&&!m&&e.jsxs("button",{onClick:()=>v(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",c.length," Snapshots anzeigen"]}),b]})}export{G as ChronikView}; + */const H=d("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),O={sentry:{icon:A,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:D,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:T,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:U,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:H,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:C,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:j,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:R,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:z,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},P={icon:$,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function W(r){return new Date(r*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function _(){const{data:r=[],isLoading:u}=S(),[i,x]=h.useState(!0),b=h.useMemo(()=>{const o=[];for(const n of r){const a=W(n.ts),l=o[o.length-1];l&&l.day===a?l.items.push(n):o.push({day:a,items:[n]})}return o},[r]);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Chronik"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),e.jsx(J,{}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(M,{className:"h-3.5 w-3.5"})," Verlauf"]}),u&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(g,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!u&&r.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),b.map(({day:o,items:n})=>e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:o}),e.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(i?n.slice(0,8):n).map(a=>{const l=O[a.source]??P,m=l.icon;return e.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[e.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:B("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",l.cls),children:[e.jsx(m,{className:"h-3 w-3"})," ",l.label]}),a.subject&&e.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:a.subject}),e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(a.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),e.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:a.text})]},a.id)}),i&&n.length>8&&e.jsxs("button",{onClick:()=>x(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[n.length-8," weitere anzeigen"]})]})]},o))]})]})}function J(){const{data:r}=Z(),u=E(),{showAlert:i,showConfirm:x,dialogElement:b}=L(),[o,n]=h.useState(null),[a,l]=h.useState(!1),[m,v]=h.useState(!1),c=(r==null?void 0:r.backups)??[],p=m?c:c.slice(0,4);function f(t){const s=t.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return s?`${s[3]}.${s[2]}.${s[1]}, ${s[4]}:${s[5]} Uhr`:t.snapshot}async function w(t){n(t.file);try{await k("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:t.file})}),i("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(s){i("Start fehlgeschlagen",String((s==null?void 0:s.message)||s))}finally{n(null)}}async function N(){l(!0);try{const t=await k("/api/system/backup",{method:"POST"});t.ok?i("Gesichert",`Snapshot ${t.snapshot} wurde angelegt.`):i("Backup fehlgeschlagen",t.error||"Unbekannter Fehler"),u.invalidateQueries({queryKey:q.zeitmaschine})}catch(t){i("Backup fehlgeschlagen",String((t==null?void 0:t.message)||t))}finally{l(!1)}}return e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(y,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),e.jsxs("button",{onClick:N,disabled:a||!(r!=null&&r.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[a?e.jsx(g,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(y,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),r&&!r.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(r==null?void 0:r.available)&&c.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),p.length>0&&e.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:p.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[f(t)," ",s===0&&e.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),e.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:t.file,children:[t.size_mb.toLocaleString("de-DE")," MB · ",t.file]})]}),e.jsxs("button",{disabled:o!==null,onClick:()=>x("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${f(t)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>w(t)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[o===t.file?e.jsx(g,{className:"h-3 w-3 animate-spin"}):e.jsx(j,{className:"h-3 w-3"})," Zurück"]})]},t.file))}),c.length>4&&!m&&e.jsxs("button",{onClick:()=>v(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",c.length," Snapshots anzeigen"]}),b]})}export{_ as ChronikView}; diff --git a/frontend/dist/assets/CommandPalette-Bzgk4pnl.js b/frontend/dist/assets/CommandPalette-Bzgk4pnl.js new file mode 100644 index 0000000..a2375a6 --- /dev/null +++ b/frontend/dist/assets/CommandPalette-Bzgk4pnl.js @@ -0,0 +1,41 @@ +import{r as a,j as C,ao as Be,z as Gt,ap as qt}from"./index-Bb8GyPHo.js";import{r as mt}from"./index-wthGkuS_.js";var qe=1,Zt=.9,Qt=.8,Jt=.17,Pe=.1,Oe=.999,en=.9999,tn=.99,nn=/[\\\/_+.#"@\[\(\{&]/,rn=/[\\\/_+.#"@\[\(\{&]/g,on=/[\s-]/,pt=/[\s-]/g;function Fe(e,t,n,r,o,i,u){if(i===t.length)return o===e.length?qe:tn;var c=`${o},${i}`;if(u[c]!==void 0)return u[c];for(var v=r.charAt(i),s=n.indexOf(v,o),l=0,d,h,p,S;s>=0;)d=Fe(e,t,n,r,s+1,i+1,u),d>l&&(s===o?d*=qe:nn.test(e.charAt(s-1))?(d*=Qt,p=e.slice(o,s-1).match(rn),p&&o>0&&(d*=Math.pow(Oe,p.length))):on.test(e.charAt(s-1))?(d*=Zt,S=e.slice(o,s-1).match(pt),S&&o>0&&(d*=Math.pow(Oe,S.length))):(d*=Jt,o>0&&(d*=Math.pow(Oe,s-o))),e.charAt(s)!==t.charAt(i)&&(d*=en)),(dd&&(d=h*Pe)),d>l&&(l=d),s=n.indexOf(v,s+1);return u[c]=l,l}function Ze(e){return e.toLowerCase().replace(pt," ")}function an(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Fe(e,t,Ze(e),Ze(t),0,0,{})}function z(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Qe(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=Qe(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o{var w;const{scope:h,children:p,...S}=d,m=((w=h==null?void 0:h[e])==null?void 0:w[v])||c,g=a.useMemo(()=>S,Object.values(S));return C.jsx(m.Provider,{value:g,children:p})};s.displayName=i+"Provider";function l(d,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[v])||c,S=a.useContext(p);if(S)return S;if(u!==void 0)return u;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[s,l]}const o=()=>{const i=n.map(u=>a.createContext(u));return function(c){const v=(c==null?void 0:c[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:v}}),[c,v])}};return o.scopeName=e,[r,un(o,...t)]}function un(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const u=r.reduce((c,{useScope:v,scopeName:s})=>{const d=v(i)[`__scope${s}`];return{...c,...d}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return n.scopeName=t.scopeName,n}var ce=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},sn=Be[" useId ".trim().toString()]||(()=>{}),ln=0;function K(e){const[t,n]=a.useState(sn());return ce(()=>{n(r=>r??String(ln++))},[e]),t?`radix-${t}`:""}var dn=Be[" useInsertionEffect ".trim().toString()]||ce;function fn({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,u]=vn({defaultProp:t,onChange:n}),c=e!==void 0,v=c?e:o;{const l=a.useRef(e!==void 0);a.useEffect(()=>{const d=l.current;d!==c&&console.warn(`${r} is changing from ${d?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),l.current=c},[c,r])}const s=a.useCallback(l=>{var d;if(c){const h=mn(l)?l(e):l;h!==e&&((d=u.current)==null||d.call(u,h))}else i(l)},[c,e,i,u]);return[v,s]}function vn({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return dn(()=>{i.current=t},[t]),a.useEffect(()=>{var u;o.current!==n&&((u=i.current)==null||u.call(i,n),o.current=n)},[n,o]),[n,r,i]}function mn(e){return typeof e=="function"}function ht(e){const t=a.forwardRef((n,r)=>{let{children:o,...i}=n,u=null,c=!1;const v=[];Je(o)&&typeof de=="function"&&(o=de(o._payload)),a.Children.forEach(o,h=>{var p;if(bn(h)){c=!0;const S=h;let m="child"in S.props?S.props.child:S.props.children;Je(m)&&typeof de=="function"&&(m=de(m._payload)),u=hn(S,m),v.push((p=u==null?void 0:u.props)==null?void 0:p.children)}else v.push(h)}),u?u=a.cloneElement(u,void 0,v):!c&&a.Children.count(o)===1&&a.isValidElement(o)&&(u=o);const s=u?yn(u):void 0,l=X(r,s);if(!u){if(o||o===0)throw new Error(c?Cn(e):Sn(e));return o}const d=gn(i,u.props??{});return u.type!==a.Fragment&&(d.ref=r?l:s),a.cloneElement(u,d)});return t.displayName=`${e}.Slot`,t}var pn=Symbol.for("radix.slottable"),hn=(e,t)=>{if("child"in e.props){const n=e.props.child;return a.isValidElement(n)?a.cloneElement(n,void 0,e.props.children(n.props.children)):null}return a.isValidElement(t)?t:null};function gn(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...c)=>{const v=i(...c);return o(...c),v}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function yn(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function bn(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pn}var En=Symbol.for("react.lazy");function Je(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===En&&"_payload"in e&&wn(e._payload)}function wn(e){return typeof e=="object"&&e!==null&&"then"in e}var Sn=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Cn=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,de=Be[" use ".trim().toString()],Rn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],M=Rn.reduce((e,t)=>{const n=ht(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:u,...c}=o,v=u?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),C.jsx(v,{...c,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function xn(e,t){e&&mt.flushSync(()=>e.dispatchEvent(t))}function ue(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}function Dn(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Pn="DismissableLayer",_e="dismissableLayer.update",On="dismissableLayer.pointerDownOutside",Nn="dismissableLayer.focusOutside",et,$e=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),gt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:u,onInteractOutside:c,onDismiss:v,...s}=e,l=a.useContext($e),[d,h]=a.useState(null),p=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=a.useState({}),m=X(t,A=>h(A)),g=Array.from(l.layers),[w]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),b=g.indexOf(w),R=d?g.indexOf(d):-1,O=l.layersWithOutsidePointerEventsDisabled.size>0,x=R>=b,D=a.useRef(!1),I=Mn(A=>{const F=A.target;if(!(F instanceof Node))return;const _=[...l.branches].some(W=>W.contains(F));!x||_||(i==null||i(A),c==null||c(A),A.defaultPrevented||v==null||v())},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:D,dismissableSurfaces:l.dismissableSurfaces}),U=Tn(A=>{if(r&&D.current)return;const F=A.target;[...l.branches].some(W=>W.contains(F))||(u==null||u(A),c==null||c(A),A.defaultPrevented||v==null||v())},p);return Dn(A=>{R===l.layers.size-1&&(o==null||o(A),!A.defaultPrevented&&v&&(A.preventDefault(),v()))},p),a.useEffect(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(et=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),tt(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(d),l.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=et))}},[d,p,n,l]),a.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),tt())},[d,l]),a.useEffect(()=>{const A=()=>S({});return document.addEventListener(_e,A),()=>document.removeEventListener(_e,A)},[]),C.jsx(M.div,{...s,ref:m,style:{pointerEvents:O?x?"auto":"none":void 0,...e.style},onFocusCapture:z(e.onFocusCapture,U.onFocusCapture),onBlurCapture:z(e.onBlurCapture,U.onBlurCapture),onPointerDownCapture:z(e.onPointerDownCapture,I.onPointerDownCapture)})});gt.displayName=Pn;var In="DismissableLayerBranch",An=a.forwardRef((e,t)=>{const n=a.useContext($e),r=a.useRef(null),o=X(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),C.jsx(M.div,{...e,ref:o})});An.displayName=In;function kn(){const e=a.useContext($e),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function Mn(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i}=t,u=ue(e),c=a.useRef(!1),v=a.useRef(!1),s=a.useRef(new Map),l=a.useRef(()=>{});return a.useEffect(()=>{function d(){v.current=!1,o.current=!1,s.current.clear()}function h(){return Array.from(s.current.values()).some(Boolean)}function p(b){if(!v.current)return;const R=b.target;R instanceof Node&&[...i].some(x=>x.contains(R))||s.current.set(b.type,!0),b.type==="click"&&window.setTimeout(()=>{v.current&&l.current()},0)}function S(b){v.current&&s.current.set(b.type,!1)}const m=b=>{if(b.target&&!c.current){let R=function(){n.removeEventListener("click",l.current);const x=h();d(),x||yt(On,u,O,{discrete:!0})};const O={originalEvent:b};v.current=!0,o.current=r&&b.button===0,s.current.clear(),!r||b.button!==0?R():(n.removeEventListener("click",l.current),l.current=R,n.addEventListener("click",l.current,{once:!0}))}else n.removeEventListener("click",l.current),d();c.current=!1},g=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const b of g)n.addEventListener(b,p,!0),n.addEventListener(b,S);const w=window.setTimeout(()=>{n.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(w),n.removeEventListener("pointerdown",m),n.removeEventListener("click",l.current);for(const b of g)n.removeEventListener(b,p,!0),n.removeEventListener(b,S)}},[n,u,r,o,i]),{onPointerDownCapture:()=>c.current=!0}}function Tn(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&yt(Nn,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function tt(){const e=new CustomEvent(_e);document.dispatchEvent(e)}function yt(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?xn(o,i):o.dispatchEvent(i)}var Ne="focusScope.autoFocusOnMount",Ie="focusScope.autoFocusOnUnmount",nt={bubbles:!1,cancelable:!0},Ln="FocusScope",bt=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...u}=e,[c,v]=a.useState(null),s=ue(o),l=ue(i),d=a.useRef(null),h=X(t,m=>v(m)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let m=function(R){if(p.paused||!c)return;const O=R.target;c.contains(O)?d.current=O:V(d.current,{select:!0})},g=function(R){if(p.paused||!c)return;const O=R.relatedTarget;O!==null&&(c.contains(O)||V(d.current,{select:!0}))},w=function(R){if(document.activeElement===document.body)for(const x of R)x.removedNodes.length>0&&V(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const b=new MutationObserver(w);return c&&b.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),b.disconnect()}}},[r,c,p.paused]),a.useEffect(()=>{if(c){ot.add(p);const m=document.activeElement;if(!c.contains(m)){const w=new CustomEvent(Ne,nt);c.addEventListener(Ne,s),c.dispatchEvent(w),w.defaultPrevented||(Fn($n(Et(c)),{select:!0}),document.activeElement===m&&V(c))}return()=>{c.removeEventListener(Ne,s),setTimeout(()=>{const w=new CustomEvent(Ie,nt);c.addEventListener(Ie,l),c.dispatchEvent(w),w.defaultPrevented||V(m??document.body,{select:!0}),c.removeEventListener(Ie,l),ot.remove(p)},0)}}},[c,s,l,p]);const S=a.useCallback(m=>{if(!n&&!r||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,w=document.activeElement;if(g&&w){const b=m.currentTarget,[R,O]=_n(b);R&&O?!m.shiftKey&&w===O?(m.preventDefault(),n&&V(R,{select:!0})):m.shiftKey&&w===R&&(m.preventDefault(),n&&V(O,{select:!0})):w===b&&m.preventDefault()}},[n,r,p.paused]);return C.jsx(M.div,{tabIndex:-1,...u,ref:h,onKeyDown:S})});bt.displayName=Ln;function Fn(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(V(r,{select:t}),document.activeElement!==n)return}function _n(e){const t=Et(e),n=rt(t,e),r=rt(t.reverse(),e);return[n,r]}function Et(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function rt(e,t){for(const n of e)if(!jn(n,{upTo:t}))return n}function jn(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Wn(e){return e instanceof HTMLInputElement&&"select"in e}function V(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Wn(e)&&t&&e.select()}}var ot=Bn();function Bn(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=at(e,t),e.unshift(t)},remove(t){var n;e=at(e,t),(n=e[0])==null||n.resume()}}}function at(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function $n(e){return e.filter(t=>t.tagName!=="A")}var Un="Portal",wt=a.forwardRef((e,t)=>{var c;const{container:n,...r}=e,[o,i]=a.useState(!1);ce(()=>i(!0),[]);const u=n||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return u?mt.createPortal(C.jsx(M.div,{...r,ref:t}),u):null});wt.displayName=Un;function Kn(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var we=e=>{const{present:t,children:n}=e,r=Vn(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=zn(r.ref,Yn(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};we.displayName="Presence";function Vn(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),u=e?"mounted":"unmounted",[c,v]=Kn(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const s=fe(r.current);i.current=c==="mounted"?s:"none"},[c]),ce(()=>{const s=r.current,l=o.current;if(l!==e){const h=i.current,p=fe(s);e?v("MOUNT"):p==="none"||(s==null?void 0:s.display)==="none"?v("UNMOUNT"):v(l&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,v]),ce(()=>{if(t){let s;const l=t.ownerDocument.defaultView??window,d=p=>{const m=fe(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(v("ANIMATION_END"),!o.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",s=l.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(i.current=fe(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{l.clearTimeout(s),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else v("ANIMATION_END")},[t,v]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(s=>{r.current=s?getComputedStyle(s):null,n(s)},[])}}function it(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function zn(...e){const t=a.useRef(e);return t.current=e,a.useCallback(n=>{const r=t.current;let o=!1;const i=r.map(u=>{const c=it(u,n);return!o&&typeof c=="function"&&(o=!0),c});if(o)return()=>{for(let u=0;u{B||(B={start:ct(),end:ct()});const{start:e,end:t}=B;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),ve++,()=>{ve===1&&(B==null||B.start.remove(),B==null||B.end.remove(),B=null),ve=Math.max(0,ve-1)}},[])}function ct(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var $=function(){return $=Object.assign||function(t){for(var n,r=1,o=arguments.length;r"u")return lr;var t=dr(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},vr=xt(),ne="data-scroll-locked",mr=function(e,t,n,r){var o=e.left,i=e.top,u=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(Gn,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(c,"px ").concat(r,`; + } + body[`).concat(ne,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(u,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(ye,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(be,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(ye," .").concat(ye,` { + right: 0 `).concat(r,`; + } + + .`).concat(be," .").concat(be,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(ne,`] { + `).concat(qn,": ").concat(c,`px; + } +`)},st=function(){var e=parseInt(document.body.getAttribute(ne)||"0",10);return isFinite(e)?e:0},pr=function(){a.useEffect(function(){return document.body.setAttribute(ne,(st()+1).toString()),function(){var e=st()-1;e<=0?document.body.removeAttribute(ne):document.body.setAttribute(ne,e.toString())}},[])},hr=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;pr();var i=a.useMemo(function(){return fr(o)},[o]);return a.createElement(vr,{styles:mr(i,!t,o,n?"":"!important")})},je=!1;if(typeof window<"u")try{var me=Object.defineProperty({},"passive",{get:function(){return je=!0,!0}});window.addEventListener("test",me,me),window.removeEventListener("test",me,me)}catch{je=!1}var q=je?{passive:!1}:!1,gr=function(e){return e.tagName==="TEXTAREA"},Dt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!gr(e)&&n[t]==="visible")},yr=function(e){return Dt(e,"overflowY")},br=function(e){return Dt(e,"overflowX")},lt=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Pt(e,r);if(o){var i=Ot(e,r),u=i[1],c=i[2];if(u>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Er=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},wr=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Pt=function(e,t){return e==="v"?yr(t):br(t)},Ot=function(e,t){return e==="v"?Er(t):wr(t)},Sr=function(e,t){return e==="h"&&t==="rtl"?-1:1},Cr=function(e,t,n,r,o){var i=Sr(e,window.getComputedStyle(t).direction),u=i*r,c=n.target,v=t.contains(c),s=!1,l=u>0,d=0,h=0;do{if(!c)break;var p=Ot(e,c),S=p[0],m=p[1],g=p[2],w=m-g-i*S;(S||w)&&Pt(e,c)&&(d+=w,h+=S);var b=c.parentNode;c=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!v&&c!==document.body||v&&(t.contains(c)||t===c));return(l&&Math.abs(d)<1||!l&&Math.abs(h)<1)&&(s=!0),s},pe=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},dt=function(e){return[e.deltaX,e.deltaY]},ft=function(e){return e&&"current"in e?e.current:e},Rr=function(e,t){return e[0]===t[0]&&e[1]===t[1]},xr=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Dr=0,Z=[];function Pr(e){var t=a.useRef([]),n=a.useRef([0,0]),r=a.useRef(),o=a.useState(Dr++)[0],i=a.useState(xt)[0],u=a.useRef(e);a.useEffect(function(){u.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=Xn([e.lockRef.current],(e.shards||[]).map(ft),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=a.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!u.current.allowPinchZoom;var w=pe(m),b=n.current,R="deltaX"in m?m.deltaX:b[0]-w[0],O="deltaY"in m?m.deltaY:b[1]-w[1],x,D=m.target,I=Math.abs(R)>Math.abs(O)?"h":"v";if("touches"in m&&I==="h"&&D.type==="range")return!1;var U=window.getSelection(),A=U&&U.anchorNode,F=A?A===D||A.contains(D):!1;if(F)return!1;var _=lt(I,D);if(!_)return!0;if(_?x=I:(x=I==="v"?"h":"v",_=lt(I,D)),!_)return!1;if(!r.current&&"changedTouches"in m&&(R||O)&&(r.current=x),!x)return!0;var W=r.current||x;return Cr(W,g,m,W==="h"?R:O)},[]),v=a.useCallback(function(m){var g=m;if(!(!Z.length||Z[Z.length-1]!==i)){var w="deltaY"in g?dt(g):pe(g),b=t.current.filter(function(x){return x.name===g.type&&(x.target===g.target||g.target===x.shadowParent)&&Rr(x.delta,w)})[0];if(b&&b.should){g.cancelable&&g.preventDefault();return}if(!b){var R=(u.current.shards||[]).map(ft).filter(Boolean).filter(function(x){return x.contains(g.target)}),O=R.length>0?c(g,R[0]):!u.current.noIsolation;O&&g.cancelable&&g.preventDefault()}}},[]),s=a.useCallback(function(m,g,w,b){var R={name:m,delta:g,target:w,should:b,shadowParent:Or(w)};t.current.push(R),setTimeout(function(){t.current=t.current.filter(function(O){return O!==R})},1)},[]),l=a.useCallback(function(m){n.current=pe(m),r.current=void 0},[]),d=a.useCallback(function(m){s(m.type,dt(m),m.target,c(m,e.lockRef.current))},[]),h=a.useCallback(function(m){s(m.type,pe(m),m.target,c(m,e.lockRef.current))},[]);a.useEffect(function(){return Z.push(i),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:h}),document.addEventListener("wheel",v,q),document.addEventListener("touchmove",v,q),document.addEventListener("touchstart",l,q),function(){Z=Z.filter(function(m){return m!==i}),document.removeEventListener("wheel",v,q),document.removeEventListener("touchmove",v,q),document.removeEventListener("touchstart",l,q)}},[]);var p=e.removeScrollBar,S=e.inert;return a.createElement(a.Fragment,null,S?a.createElement(i,{styles:xr(o)}):null,p?a.createElement(hr,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Or(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Nr=rr(Rt,Pr);var Nt=a.forwardRef(function(e,t){return a.createElement(Se,$({},e,{ref:t,sideCar:Nr}))});Nt.classNames=Se.classNames;var Ir=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Q=new WeakMap,he=new WeakMap,ge={},Te=0,It=function(e){return e&&(e.host||It(e.parentNode))},Ar=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=It(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},kr=function(e,t,n,r){var o=Ar(t,Array.isArray(e)?e:[e]);ge[n]||(ge[n]=new WeakMap);var i=ge[n],u=[],c=new Set,v=new Set(o),s=function(d){!d||c.has(d)||(c.add(d),s(d.parentNode))};o.forEach(s);var l=function(d){!d||v.has(d)||Array.prototype.forEach.call(d.children,function(h){if(c.has(h))l(h);else try{var p=h.getAttribute(r),S=p!==null&&p!=="false",m=(Q.get(h)||0)+1,g=(i.get(h)||0)+1;Q.set(h,m),i.set(h,g),u.push(h),m===1&&S&&he.set(h,!0),g===1&&h.setAttribute(n,"true"),S||h.setAttribute(r,"true")}catch(w){console.error("aria-hidden: cannot operate on ",h,w)}})};return l(t),c.clear(),Te++,function(){u.forEach(function(d){var h=Q.get(d)-1,p=i.get(d)-1;Q.set(d,h),i.set(d,p),h||(he.has(d)||d.removeAttribute(r),he.delete(d)),p||d.removeAttribute(n)}),Te--,Te||(Q=new WeakMap,Q=new WeakMap,he=new WeakMap,ge={})}},Mr=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=Ir(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),kr(r,o,n,"aria-hidden")):function(){return null}},Ce="Dialog",[At]=cn(Ce),[Tr,j]=At(Ce),kt=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:u=!0}=e,c=a.useRef(null),v=a.useRef(null),[s,l]=fn({prop:r,defaultProp:o??!1,onChange:i,caller:Ce});return C.jsx(Tr,{scope:t,triggerRef:c,contentRef:v,contentId:K(),titleId:K(),descriptionId:K(),open:s,onOpenChange:l,onOpenToggle:a.useCallback(()=>l(d=>!d),[l]),modal:u,children:n})};kt.displayName=Ce;var Mt="DialogTrigger",Lr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Mt,n),i=X(t,o.triggerRef);return C.jsx(M.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Ke(o.open),...r,ref:i,onClick:z(e.onClick,o.onOpenToggle)})});Lr.displayName=Mt;var Ue="DialogPortal",[Fr,Tt]=At(Ue,{forceMount:void 0}),Lt=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=j(Ue,t);return C.jsx(Fr,{scope:t,forceMount:n,children:a.Children.map(r,u=>C.jsx(we,{present:n||i.open,children:C.jsx(wt,{asChild:!0,container:o,children:u})}))})};Lt.displayName=Ue;var Ee="DialogOverlay",Ft=a.forwardRef((e,t)=>{const n=Tt(Ee,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=j(Ee,e.__scopeDialog);return i.modal?C.jsx(we,{present:r||i.open,children:C.jsx(jr,{...o,ref:t})}):null});Ft.displayName=Ee;var _r=ht("DialogOverlay.RemoveScroll"),jr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Ee,n),i=kn(),u=X(t,i);return C.jsx(Nt,{as:_r,allowPinchZoom:!0,shards:[o.contentRef],children:C.jsx(M.div,{"data-state":Ke(o.open),...r,ref:u,style:{pointerEvents:"auto",...r.style}})})}),oe="DialogContent",_t=a.forwardRef((e,t)=>{const n=Tt(oe,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=j(oe,e.__scopeDialog);return C.jsx(we,{present:r||i.open,children:i.modal?C.jsx(Wr,{...o,ref:t}):C.jsx(Br,{...o,ref:t})})});_t.displayName=oe;var Wr=a.forwardRef((e,t)=>{const n=j(oe,e.__scopeDialog),r=a.useRef(null),o=X(t,n.contentRef,r);return a.useEffect(()=>{const i=r.current;if(i)return Mr(i)},[]),C.jsx(jt,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:z(e.onCloseAutoFocus,i=>{var u;i.preventDefault(),(u=n.triggerRef.current)==null||u.focus()}),onPointerDownOutside:z(e.onPointerDownOutside,i=>{const u=i.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&i.preventDefault()}),onFocusOutside:z(e.onFocusOutside,i=>i.preventDefault())})}),Br=a.forwardRef((e,t)=>{const n=j(oe,e.__scopeDialog),r=a.useRef(!1),o=a.useRef(!1);return C.jsx(jt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var u,c;(u=e.onCloseAutoFocus)==null||u.call(e,i),i.defaultPrevented||(r.current||(c=n.triggerRef.current)==null||c.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var v,s;(v=e.onInteractOutside)==null||v.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=i.target;((s=n.triggerRef.current)==null?void 0:s.contains(u))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),jt=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...u}=e,c=j(oe,n);return Hn(),C.jsx(C.Fragment,{children:C.jsx(bt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:C.jsx(gt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Ke(c.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),Wt="DialogTitle",$r=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Wt,n);return C.jsx(M.h2,{id:o.titleId,...r,ref:t})});$r.displayName=Wt;var Bt="DialogDescription",Ur=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Bt,n);return C.jsx(M.p,{id:o.descriptionId,...r,ref:t})});Ur.displayName=Bt;var $t="DialogClose",Kr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j($t,n);return C.jsx(M.button,{type:"button",...r,ref:t,onClick:z(e.onClick,()=>o.onOpenChange(!1))})});Kr.displayName=$t;function Ke(e){return e?"open":"closed"}var ie='[cmdk-group=""]',Le='[cmdk-group-items=""]',Vr='[cmdk-group-heading=""]',Ut='[cmdk-item=""]',vt=`${Ut}:not([aria-disabled="true"])`,We="cmdk-item-select",ee="data-value",zr=(e,t,n)=>an(e,t,n),Kt=a.createContext(void 0),se=()=>a.useContext(Kt),Vt=a.createContext(void 0),Ve=()=>a.useContext(Vt),zt=a.createContext(void 0),Yt=a.forwardRef((e,t)=>{let n=te(()=>{var f,E;return{search:"",value:(E=(f=e.value)!=null?f:e.defaultValue)!=null?E:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=te(()=>new Set),o=te(()=>new Map),i=te(()=>new Map),u=te(()=>new Set),c=Ht(e),{label:v,children:s,value:l,onValueChange:d,filter:h,shouldFilter:p,loop:S,disablePointerSelection:m=!1,vimBindings:g=!0,...w}=e,b=K(),R=K(),O=K(),x=a.useRef(null),D=no();H(()=>{if(l!==void 0){let f=l.trim();n.current.value=f,I.emit()}},[l]),H(()=>{D(6,ze)},[]);let I=a.useMemo(()=>({subscribe:f=>(u.current.add(f),()=>u.current.delete(f)),snapshot:()=>n.current,setState:(f,E,P)=>{var y,N,k,L;if(!Object.is(n.current[f],E)){if(n.current[f]=E,f==="search")W(),F(),D(1,_);else if(f==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let T=document.getElementById(O);T?T.focus():(y=document.getElementById(b))==null||y.focus()}if(D(7,()=>{var T;n.current.selectedItemId=(T=G())==null?void 0:T.id,I.emit()}),P||D(5,ze),((N=c.current)==null?void 0:N.value)!==void 0){let T=E??"";(L=(k=c.current).onValueChange)==null||L.call(k,T);return}}I.emit()}},emit:()=>{u.current.forEach(f=>f())}}),[]),U=a.useMemo(()=>({value:(f,E,P)=>{var y;E!==((y=i.current.get(f))==null?void 0:y.value)&&(i.current.set(f,{value:E,keywords:P}),n.current.filtered.items.set(f,A(E,P)),D(2,()=>{F(),I.emit()}))},item:(f,E)=>(r.current.add(f),E&&(o.current.has(E)?o.current.get(E).add(f):o.current.set(E,new Set([f]))),D(3,()=>{W(),F(),n.current.value||_(),I.emit()}),()=>{i.current.delete(f),r.current.delete(f),n.current.filtered.items.delete(f);let P=G();D(4,()=>{W(),(P==null?void 0:P.getAttribute("id"))===f&&_(),I.emit()})}),group:f=>(o.current.has(f)||o.current.set(f,new Set),()=>{i.current.delete(f),o.current.delete(f)}),filter:()=>c.current.shouldFilter,label:v||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:O,labelId:R,listInnerRef:x}),[]);function A(f,E){var P,y;let N=(y=(P=c.current)==null?void 0:P.filter)!=null?y:zr;return f?N(f,n.current.search,E):0}function F(){if(!n.current.search||c.current.shouldFilter===!1)return;let f=n.current.filtered.items,E=[];n.current.filtered.groups.forEach(y=>{let N=o.current.get(y),k=0;N.forEach(L=>{let T=f.get(L);k=Math.max(T,k)}),E.push([y,k])});let P=x.current;ae().sort((y,N)=>{var k,L;let T=y.getAttribute("id"),le=N.getAttribute("id");return((k=f.get(le))!=null?k:0)-((L=f.get(T))!=null?L:0)}).forEach(y=>{let N=y.closest(Le);N?N.appendChild(y.parentElement===N?y:y.closest(`${Le} > *`)):P.appendChild(y.parentElement===P?y:y.closest(`${Le} > *`))}),E.sort((y,N)=>N[1]-y[1]).forEach(y=>{var N;let k=(N=x.current)==null?void 0:N.querySelector(`${ie}[${ee}="${encodeURIComponent(y[0])}"]`);k==null||k.parentElement.appendChild(k)})}function _(){let f=ae().find(P=>P.getAttribute("aria-disabled")!=="true"),E=f==null?void 0:f.getAttribute(ee);I.setState("value",E||void 0)}function W(){var f,E,P,y;if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let N=0;for(let k of r.current){let L=(E=(f=i.current.get(k))==null?void 0:f.value)!=null?E:"",T=(y=(P=i.current.get(k))==null?void 0:P.keywords)!=null?y:[],le=A(L,T);n.current.filtered.items.set(k,le),le>0&&N++}for(let[k,L]of o.current)for(let T of L)if(n.current.filtered.items.get(T)>0){n.current.filtered.groups.add(k);break}n.current.filtered.count=N}function ze(){var f,E,P;let y=G();y&&(((f=y.parentElement)==null?void 0:f.firstChild)===y&&((P=(E=y.closest(ie))==null?void 0:E.querySelector(Vr))==null||P.scrollIntoView({block:"nearest"})),y.scrollIntoView({block:"nearest"}))}function G(){var f;return(f=x.current)==null?void 0:f.querySelector(`${Ut}[aria-selected="true"]`)}function ae(){var f;return Array.from(((f=x.current)==null?void 0:f.querySelectorAll(vt))||[])}function xe(f){let E=ae()[f];E&&I.setState("value",E.getAttribute(ee))}function De(f){var E;let P=G(),y=ae(),N=y.findIndex(L=>L===P),k=y[N+f];(E=c.current)!=null&&E.loop&&(k=N+f<0?y[y.length-1]:N+f===y.length?y[0]:y[N+f]),k&&I.setState("value",k.getAttribute(ee))}function Ye(f){let E=G(),P=E==null?void 0:E.closest(ie),y;for(;P&&!y;)P=f>0?eo(P,ie):to(P,ie),y=P==null?void 0:P.querySelector(vt);y?I.setState("value",y.getAttribute(ee)):De(f)}let He=()=>xe(ae().length-1),Xe=f=>{f.preventDefault(),f.metaKey?He():f.altKey?Ye(1):De(1)},Ge=f=>{f.preventDefault(),f.metaKey?xe(0):f.altKey?Ye(-1):De(-1)};return a.createElement(M.div,{ref:t,tabIndex:-1,...w,"cmdk-root":"",onKeyDown:f=>{var E;(E=w.onKeyDown)==null||E.call(w,f);let P=f.nativeEvent.isComposing||f.keyCode===229;if(!(f.defaultPrevented||P))switch(f.key){case"n":case"j":{g&&f.ctrlKey&&Xe(f);break}case"ArrowDown":{Xe(f);break}case"p":case"k":{g&&f.ctrlKey&&Ge(f);break}case"ArrowUp":{Ge(f);break}case"Home":{f.preventDefault(),xe(0);break}case"End":{f.preventDefault(),He();break}case"Enter":{f.preventDefault();let y=G();if(y){let N=new Event(We);y.dispatchEvent(N)}}}}},a.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:oo},v),Re(e,f=>a.createElement(Vt.Provider,{value:I},a.createElement(Kt.Provider,{value:U},f))))}),Yr=a.forwardRef((e,t)=>{var n,r;let o=K(),i=a.useRef(null),u=a.useContext(zt),c=se(),v=Ht(e),s=(r=(n=v.current)==null?void 0:n.forceMount)!=null?r:u==null?void 0:u.forceMount;H(()=>{if(!s)return c.item(o,u==null?void 0:u.id)},[s]);let l=Xt(o,i,[e.value,e.children,i],e.keywords),d=Ve(),h=Y(D=>D.value&&D.value===l.current),p=Y(D=>s||c.filter()===!1?!0:D.search?D.filtered.items.get(o)>0:!0);a.useEffect(()=>{let D=i.current;if(!(!D||e.disabled))return D.addEventListener(We,S),()=>D.removeEventListener(We,S)},[p,e.onSelect,e.disabled]);function S(){var D,I;m(),(I=(D=v.current).onSelect)==null||I.call(D,l.current)}function m(){d.setState("value",l.current,!0)}if(!p)return null;let{disabled:g,value:w,onSelect:b,forceMount:R,keywords:O,...x}=e;return a.createElement(M.div,{ref:re(i,t),...x,id:o,"cmdk-item":"",role:"option","aria-disabled":!!g,"aria-selected":!!h,"data-disabled":!!g,"data-selected":!!h,onPointerMove:g||c.getDisablePointerSelection()?void 0:m,onClick:g?void 0:S},e.children)}),Hr=a.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:o,...i}=e,u=K(),c=a.useRef(null),v=a.useRef(null),s=K(),l=se(),d=Y(p=>o||l.filter()===!1?!0:p.search?p.filtered.groups.has(u):!0);H(()=>l.group(u),[]),Xt(u,c,[e.value,e.heading,v]);let h=a.useMemo(()=>({id:u,forceMount:o}),[o]);return a.createElement(M.div,{ref:re(c,t),...i,"cmdk-group":"",role:"presentation",hidden:d?void 0:!0},n&&a.createElement("div",{ref:v,"cmdk-group-heading":"","aria-hidden":!0,id:s},n),Re(e,p=>a.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?s:void 0},a.createElement(zt.Provider,{value:h},p))))}),Xr=a.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,o=a.useRef(null),i=Y(u=>!u.search);return!n&&!i?null:a.createElement(M.div,{ref:re(o,t),...r,"cmdk-separator":"",role:"separator"})}),Gr=a.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,o=e.value!=null,i=Ve(),u=Y(s=>s.search),c=Y(s=>s.selectedItemId),v=se();return a.useEffect(()=>{e.value!=null&&i.setState("search",e.value)},[e.value]),a.createElement(M.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":v.listId,"aria-labelledby":v.labelId,"aria-activedescendant":c,id:v.inputId,type:"text",value:o?e.value:u,onChange:s=>{o||i.setState("search",s.target.value),n==null||n(s.target.value)}})}),qr=a.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...o}=e,i=a.useRef(null),u=a.useRef(null),c=Y(s=>s.selectedItemId),v=se();return a.useEffect(()=>{if(u.current&&i.current){let s=u.current,l=i.current,d,h=new ResizeObserver(()=>{d=requestAnimationFrame(()=>{let p=s.offsetHeight;l.style.setProperty("--cmdk-list-height",p.toFixed(1)+"px")})});return h.observe(s),()=>{cancelAnimationFrame(d),h.unobserve(s)}}},[]),a.createElement(M.div,{ref:re(i,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:v.listId},Re(e,s=>a.createElement("div",{ref:re(u,v.listInnerRef),"cmdk-list-sizer":""},s)))}),Zr=a.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:o,contentClassName:i,container:u,...c}=e;return a.createElement(kt,{open:n,onOpenChange:r},a.createElement(Lt,{container:u},a.createElement(Ft,{"cmdk-overlay":"",className:o}),a.createElement(_t,{"aria-label":e.label,"cmdk-dialog":"",className:i},a.createElement(Yt,{ref:t,...c}))))}),Qr=a.forwardRef((e,t)=>Y(n=>n.filtered.count===0)?a.createElement(M.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Jr=a.forwardRef((e,t)=>{let{progress:n,children:r,label:o="Loading...",...i}=e;return a.createElement(M.div,{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},Re(e,u=>a.createElement("div",{"aria-hidden":!0},u)))}),J=Object.assign(Yt,{List:qr,Item:Yr,Input:Gr,Group:Hr,Separator:Xr,Dialog:Zr,Empty:Qr,Loading:Jr});function eo(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function to(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Ht(e){let t=a.useRef(e);return H(()=>{t.current=e}),t}var H=typeof window>"u"?a.useEffect:a.useLayoutEffect;function te(e){let t=a.useRef();return t.current===void 0&&(t.current=e()),t}function Y(e){let t=Ve(),n=()=>e(t.snapshot());return a.useSyncExternalStore(t.subscribe,n,n)}function Xt(e,t,n,r=[]){let o=a.useRef(),i=se();return H(()=>{var u;let c=(()=>{var s;for(let l of n){if(typeof l=="string")return l.trim();if(typeof l=="object"&&"current"in l)return l.current?(s=l.current.textContent)==null?void 0:s.trim():o.current}})(),v=r.map(s=>s.trim());i.value(e,c,v),(u=t.current)==null||u.setAttribute(ee,c),o.current=c}),o}var no=()=>{let[e,t]=a.useState(),n=te(()=>new Map);return H(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,o)=>{n.current.set(r,o),t({})}};function ro(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Re({asChild:e,children:t},n){return e&&a.isValidElement(t)?a.cloneElement(ro(t),{ref:t.ref},n(t.props.children)):n(t)}var oo={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function co(){const[e,t]=a.useState(!1),n=Gt();return a.useEffect(()=>{const r=o=>{(o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="k"&&(o.preventDefault(),t(i=>!i))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),a.useEffect(()=>{const r=()=>t(!0);return window.addEventListener("mc-palette-open",r),()=>window.removeEventListener("mc-palette-open",r)},[]),C.jsx(J.Dialog,{open:e,onOpenChange:t,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>t(!1),children:C.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:r=>r.stopPropagation(),children:[C.jsx(J.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),C.jsxs(J.List,{className:"max-h-80 overflow-y-auto p-2",children:[C.jsx(J.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),C.jsx(J.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:qt.map(r=>C.jsxs(J.Item,{value:`${r.label} ${r.hint}`,onSelect:()=>{n({to:r.pfad}),t(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[C.jsx(r.icon,{className:"h-4 w-4 text-primary"}),C.jsx("span",{children:r.label}),C.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:r.hint})]},r.id))})]})]})})}export{co as CommandPalette}; diff --git a/frontend/dist/assets/ConnectView-Cz-npKrg.js b/frontend/dist/assets/ConnectView-1pPeysE2.js similarity index 94% rename from frontend/dist/assets/ConnectView-Cz-npKrg.js rename to frontend/dist/assets/ConnectView-1pPeysE2.js index 1217126..4e3dc24 100644 --- a/frontend/dist/assets/ConnectView-Cz-npKrg.js +++ b/frontend/dist/assets/ConnectView-1pPeysE2.js @@ -1,4 +1,4 @@ -import{c as i,r as p,z as G,A as H,j as e,D as u,t as z,B as I,F as M,b as S,L as B,G as _,C as E}from"./index-BYlMs6Dj.js";import{C as P}from"./chevron-down-D5zhK_UQ.js";/** +import{c as i,r as p,D as G,F as H,j as e,t as I,B as M,G as z,b as S,L as B,C as _}from"./index-Bb8GyPHo.js";import{A as u}from"./arrow-right-D09OliuI.js";import{C as E}from"./chevron-down-BGRm8kVZ.js";import{C as P}from"./circle-check-Crmfz00W.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -23,4 +23,4 @@ import{c as i,r as p,z as G,A as H,j as e,D as u,t as z,B as I,F as M,b as S,L a * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const g=i("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),k={hermes_desktop:"Hermes Desktop: Browser-Login",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function f({line:t,loading:n}){return n||!t?e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[e.jsx(B,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):t.ok?e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[e.jsx(_,{className:"h-3 w-3"})," ",t.detail]}):e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[e.jsx(T,{className:"h-3 w-3"})," ",t.detail]})}function C({tool:t,fileName:n,accent:o,copied:c,onCopy:x}){return e.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[e.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),e.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),e.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),e.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:e.jsx("span",{children:n})}),e.jsxs("button",{onClick:x,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[c?e.jsx(E,{className:"h-3.5 w-3.5 text-emerald-400"}):e.jsx(K,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:c?"Kopiert":"Kopieren"})]})]}),e.jsx("pre",{className:S("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",o==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:e.jsx("code",{children:t.snippet})})]})}function R(){const t=window.location.hostname;return t&&t!=="localhost"&&t!=="127.0.0.1"?t:"192.168.178.151"}function W(){const[t,n]=p.useState(localStorage.getItem("mc_host")||R()),[o,c]=p.useState("kilo"),[x,L]=p.useState(!1),[b,j]=p.useState(null),A=new URLSearchParams({host:t}),{data:a,error:N}=G(A.toString()),{data:r,isLoading:h}=H(),v=N?String(N):"";function D(s){n(s),s&&localStorage.setItem("mc_host",s)}const d=a==null?void 0:a.tools.hermes_desktop,l=a==null?void 0:a.tools[o];async function y(s,m){m&&(await navigator.clipboard.writeText(m),j(s),setTimeout(()=>j(null),1500))}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("span",{className:"text-foreground",children:"Hermes Desktop"})," ist die Tür zur Box — einmal verbinden, fertig. Für Spezialfälle gibt es darunter den rohen Gateway-Zugang ( /v1) für sonstige Tools."]})]}),e.jsxs("div",{className:"p-5 mc-card",children:[e.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[e.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[e.jsx(g,{className:"h-7 w-7 mx-auto text-muted-foreground"}),e.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),e.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Hermes Desktop · Kilo Code · Claude Code …"})]}),e.jsxs("div",{className:"flex flex-col gap-2.5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[e.jsx(z,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),e.jsx(f,{line:r==null?void 0:r.gateway,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Modelle coder / heavy / vision"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[e.jsx(I,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),e.jsx(f,{line:r==null?void 0:r.memory,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"Hermes-nativ · im Agenten · nichts einzurichten"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-emerald-500/25 bg-emerald-500/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-emerald-300",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," Leitung 3 — Desktop-Gateway"]}),e.jsx(f,{line:r==null?void 0:r.desktop_gateway,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-emerald-300/80",children:"Desktop-Gateway · :9119 · API-Status"})]})]})]})]}),e.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",e.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das Gedächtnis führt",e.jsx("span",{className:"text-foreground",children:" Hermes selbst"})," (nichts einzurichten — die Kachel zeigt nur, ob es lebt), und das Desktop-Gateway bietet die Agenten-Schnittstelle. IDEs wählen die ",e.jsx("span",{className:"text-foreground",children:"echten Modelle"})," ","(coder · heavy · vision); daneben gibt es die virtuellen Lanes ",e.jsx("span",{className:"text-foreground",children:"chat"})," und"," ",e.jsx("span",{className:"text-foreground",children:"coding"}),", die je Anfrage selbst das passende Modell wählen (Alltags-Chat, simple Tools)."]})]}),e.jsx("div",{className:"p-5 mc-card",children:e.jsxs("div",{className:"space-y-1.5 max-w-md",children:[e.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[e.jsx(F,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse",e.jsx("span",{className:"normal-case font-semibold tracking-normal text-muted-foreground/60",children:"— vorbefüllt aus der Adresse dieser Seite"})]}),e.jsx("input",{value:t,onChange:s=>D(s.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),e.jsx("p",{className:"text-[10px] text-muted-foreground/70",children:"Wird in alle Snippets eingebacken. Ändern musst du sie nur, wenn die Box eine neue IP bekommt."})]})}),v&&e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",v]}),a&&e.jsxs("div",{className:"space-y-5",children:[d&&e.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-emerald-500/70 bg-card/30 p-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[e.jsx(g,{className:"h-4 w-4 text-emerald-400"}),"Hermes Desktop anbinden",e.jsx("span",{className:"text-[10px] font-medium text-emerald-400/90 normal-case",children:"der Hauptweg"})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Die Desktop-App dockt remote an die Box an — volle Agent-Oberfläche, Projekte, Review, Gedächtnis inklusive."})]}),d.note&&e.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[e.jsx(w,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),e.jsx("span",{children:d.note})]}),e.jsx(C,{tool:d,fileName:k.hermes_desktop,accent:"teal",copied:b==="desktop",onCopy:()=>y("desktop",d.snippet)})]}),e.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/30",children:[e.jsxs("button",{onClick:()=>L(s=>!s),className:"flex w-full items-center gap-2 p-4 text-sm font-space font-bold text-foreground cursor-pointer hover:text-primary transition-colors",children:[x?e.jsx(P,{className:"h-4 w-4"}):e.jsx(M,{className:"h-4 w-4"}),"Sonstige Tools (roher /v1-Zugang)",e.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"Kilo Code · Claude Code · Eigenbau"})]}),x&&e.jsx("div",{className:"grid gap-5 p-4 pt-0",children:e.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[e.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(a.tools).filter(([s])=>s!=="hermes_desktop").map(([s,m])=>e.jsx("button",{onClick:()=>c(s),className:S("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",o===s?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:m.label},s))}),l&&e.jsxs(e.Fragment,{children:[l.note&&e.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[e.jsx(w,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),e.jsx("span",{children:l.note})]}),e.jsx(C,{tool:l,fileName:k[o]||"config.json",accent:"teal",copied:b==="model",onCopy:()=>y("model",l.snippet)})]})]})})]})]})]})}export{W as ConnectView}; + */const g=i("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),k={hermes_desktop:"Hermes Desktop: Browser-Login",kilo:"Kilo: Einstellungen → API Provider",claude_code:"env / Übersetzer"};function f({line:t,loading:n}){return n||!t?e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[e.jsx(B,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):t.ok?e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[e.jsx(P,{className:"h-3 w-3"})," ",t.detail]}):e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[e.jsx(T,{className:"h-3 w-3"})," ",t.detail]})}function C({tool:t,fileName:n,accent:o,copied:c,onCopy:x}){return e.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[e.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),e.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),e.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),e.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:e.jsx("span",{children:n})}),e.jsxs("button",{onClick:x,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[c?e.jsx(_,{className:"h-3.5 w-3.5 text-emerald-400"}):e.jsx(K,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:c?"Kopiert":"Kopieren"})]})]}),e.jsx("pre",{className:S("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",o==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:e.jsx("code",{children:t.snippet})})]})}function R(){const t=window.location.hostname;return t&&t!=="localhost"&&t!=="127.0.0.1"?t:"192.168.178.151"}function Z(){const[t,n]=p.useState(localStorage.getItem("mc_host")||R()),[o,c]=p.useState("kilo"),[x,L]=p.useState(!1),[b,j]=p.useState(null),A=new URLSearchParams({host:t}),{data:a,error:N}=G(A.toString()),{data:r,isLoading:h}=H(),v=N?String(N):"";function D(s){n(s),s&&localStorage.setItem("mc_host",s)}const d=a==null?void 0:a.tools.hermes_desktop,l=a==null?void 0:a.tools[o];async function y(s,m){m&&(await navigator.clipboard.writeText(m),j(s),setTimeout(()=>j(null),1500))}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("span",{className:"text-foreground",children:"Hermes Desktop"})," ist die Tür zur Box — einmal verbinden, fertig. Für Spezialfälle gibt es darunter den rohen Gateway-Zugang ( /v1) für sonstige Tools."]})]}),e.jsxs("div",{className:"p-5 mc-card",children:[e.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[e.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[e.jsx(g,{className:"h-7 w-7 mx-auto text-muted-foreground"}),e.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),e.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Hermes Desktop · Kilo Code · Claude Code …"})]}),e.jsxs("div",{className:"flex flex-col gap-2.5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[e.jsx(I,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),e.jsx(f,{line:r==null?void 0:r.gateway,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · Modelle coder / heavy / vision"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[e.jsx(M,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),e.jsx(f,{line:r==null?void 0:r.memory,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"Hermes-nativ · im Agenten · nichts einzurichten"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(u,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsxs("div",{className:"flex-1 rounded-xl border border-emerald-500/25 bg-emerald-500/5 px-3.5 py-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-emerald-300",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," Leitung 3 — Desktop-Gateway"]}),e.jsx(f,{line:r==null?void 0:r.desktop_gateway,loading:h})]}),e.jsx("div",{className:"mt-1 text-[11px] font-mono text-emerald-300/80",children:"Desktop-Gateway · :9119 · API-Status"})]})]})]})]}),e.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",e.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das Gedächtnis führt",e.jsx("span",{className:"text-foreground",children:" Hermes selbst"})," (nichts einzurichten — die Kachel zeigt nur, ob es lebt), und das Desktop-Gateway bietet die Agenten-Schnittstelle. IDEs wählen die ",e.jsx("span",{className:"text-foreground",children:"echten Modelle"})," ","(coder · heavy · vision); daneben gibt es die virtuellen Lanes ",e.jsx("span",{className:"text-foreground",children:"chat"})," und"," ",e.jsx("span",{className:"text-foreground",children:"coding"}),", die je Anfrage selbst das passende Modell wählen (Alltags-Chat, simple Tools)."]})]}),e.jsx("div",{className:"p-5 mc-card",children:e.jsxs("div",{className:"space-y-1.5 max-w-md",children:[e.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[e.jsx(F,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse",e.jsx("span",{className:"normal-case font-semibold tracking-normal text-muted-foreground/60",children:"— vorbefüllt aus der Adresse dieser Seite"})]}),e.jsx("input",{value:t,onChange:s=>D(s.target.value),"aria-label":"Box LAN IP-Adresse",spellCheck:!1,placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),e.jsx("p",{className:"text-[10px] text-muted-foreground/70",children:"Wird in alle Snippets eingebacken. Ändern musst du sie nur, wenn die Box eine neue IP bekommt."})]})}),v&&e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",v]}),a&&e.jsxs("div",{className:"space-y-5",children:[d&&e.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-emerald-500/70 bg-card/30 p-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[e.jsx(g,{className:"h-4 w-4 text-emerald-400"}),"Hermes Desktop anbinden",e.jsx("span",{className:"text-[10px] font-medium text-emerald-400/90 normal-case",children:"der Hauptweg"})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Die Desktop-App dockt remote an die Box an — volle Agent-Oberfläche, Projekte, Review, Gedächtnis inklusive."})]}),d.note&&e.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[e.jsx(w,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),e.jsx("span",{children:d.note})]}),e.jsx(C,{tool:d,fileName:k.hermes_desktop,accent:"teal",copied:b==="desktop",onCopy:()=>y("desktop",d.snippet)})]}),e.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/30",children:[e.jsxs("button",{onClick:()=>L(s=>!s),className:"flex w-full items-center gap-2 p-4 text-sm font-space font-bold text-foreground cursor-pointer hover:text-primary transition-colors",children:[x?e.jsx(E,{className:"h-4 w-4"}):e.jsx(z,{className:"h-4 w-4"}),"Sonstige Tools (roher /v1-Zugang)",e.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"Kilo Code · Claude Code · Eigenbau"})]}),x&&e.jsx("div",{className:"grid gap-5 p-4 pt-0",children:e.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[e.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(a.tools).filter(([s])=>s!=="hermes_desktop").map(([s,m])=>e.jsx("button",{onClick:()=>c(s),className:S("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",o===s?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:m.label},s))}),l&&e.jsxs(e.Fragment,{children:[l.note&&e.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[e.jsx(w,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),e.jsx("span",{children:l.note})]}),e.jsx(C,{tool:l,fileName:k[o]||"config.json",accent:"teal",copied:b==="model",onCopy:()=>y("model",l.snippet)})]})]})})]})]})]})}export{Z as ConnectView}; diff --git a/frontend/dist/assets/GuideView-CP1Y1rbp.js b/frontend/dist/assets/GuideView-DYdOo_ra.js similarity index 97% rename from frontend/dist/assets/GuideView-CP1Y1rbp.js rename to frontend/dist/assets/GuideView-DYdOo_ra.js index dd1b0f0..84fd644 100644 --- a/frontend/dist/assets/GuideView-CP1Y1rbp.js +++ b/frontend/dist/assets/GuideView-DYdOo_ra.js @@ -1,4 +1,4 @@ -import{c as u,j as e,r as M,t as C,V as z,Y as k,Z as y,M as v,_ as L,O as G,$ as D,W as T,b as f,a0 as B}from"./index-BYlMs6Dj.js";import{a as w,L as P,C as E,Z as R}from"./zap-B_VSdjfC.js";import{L as I}from"./layers-DCwnbkXd.js";/** +import{c as u,j as e,r as M,t as C,O as z,P as k,Q as y,K as v,U as L,V as G,W as D,b as f,Y as T}from"./index-Bb8GyPHo.js";import{a as w,L as B,C as P,Z as E}from"./zap-CsukfbMs.js";import{L as R}from"./layers-y2iqT_Gl.js";import{S as I}from"./shield-DNyHWe3b.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -28,9 +28,9 @@ import{c as u,j as e,r as M,t as C,V as z,Y as k,Z as y,M as v,_ as L,O as G,$ a * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const H=u("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]),i={text:"hsl(var(--foreground))",mut:"hsl(var(--muted-foreground))",border:"hsl(var(--border))",card:"hsl(var(--card) / 0.9)",bg:"hsl(var(--background) / 0.4)",primary:"hsl(var(--primary))",teal:"#2dd4bf",sky:"#38bdf8",violet:"#a78bfa",rose:"#fb7185",amber:"#fbbf24",emerald:"#34d399",indigo:"#818cf8"};function o({x:n,y:r,w:t,h:c,color:h,title:g,sub:d,sub2:x,strong:p}){const b=n+t/2;return e.jsxs("g",{children:[e.jsx("rect",{x:n,y:r,width:t,height:c,rx:12,fill:i.card,stroke:h,strokeOpacity:p?.9:.45,strokeWidth:p?2:1.25}),e.jsx("rect",{x:n,y:r,width:t,height:3,rx:1.5,fill:h,opacity:.8}),e.jsx("text",{x:b,y:r+(d?24:c/2+4),textAnchor:"middle",fill:i.text,fontSize:12.5,fontWeight:700,children:g}),d&&e.jsx("text",{x:b,y:r+40,textAnchor:"middle",fill:i.mut,fontSize:10,children:d}),x&&e.jsx("text",{x:b,y:r+53,textAnchor:"middle",fill:i.mut,fontSize:10,children:x})]})}function j({from:n,to:r,color:t=i.border,dash:c}){const[h,g]=n,[d,x]=r,p=(h+d)/2;return e.jsxs("g",{stroke:t,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:c?"5 4":void 0,children:[e.jsx("path",{d:`M ${h} ${g} C ${p} ${g}, ${p} ${x}, ${d} ${x}`}),e.jsx("path",{d:`M ${d-6} ${x-4} L ${d} ${x} L ${d-6} ${x+4}`,fill:t,fillOpacity:.7,stroke:"none"})]})}function F(){const n=[{y:34,title:"Diese Oberfläche",sub:"Browser · Cockpit & Klick-Gates",color:i.teal},{y:128,title:"Lucy",sub:"Stimme & Begleiterin am PC",color:i.rose},{y:222,title:"Hermes Desktop",sub:"IDE für Projekte (PC + remote)",color:i.violet},{y:316,title:"Telegram",sub:"unterwegs, gleiche Erinnerung",color:i.sky}];return e.jsxs("svg",{viewBox:"0 0 880 432",role:"img","aria-label":"Landkarte: Du erreichst die Box über vier Türen; in der Box arbeiten Mission Control, der Hermes-Agent, der Modell-Stall, das Gedächtnis und der Wissens-Vault.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[e.jsx(o,{x:16,y:150,w:120,h:92,color:i.primary,strong:!0,title:"Du",sub:"entscheidest —",sub2:"die Box arbeitet"}),e.jsx(o,{x:16,y:330,w:150,h:68,color:i.emerald,title:"PC-Executor",sub:"baut & startet Lucy",sub2:"nach deiner Annahme"}),n.map(r=>e.jsx(o,{x:196,y:r.y,w:186,h:64,color:r.color,title:r.title,sub:r.sub},r.title)),n.map(r=>e.jsx(j,{from:[136,196],to:[196,r.y+32]},r.title)),e.jsx("rect",{x:420,y:14,width:444,height:404,rx:16,fill:i.bg,stroke:i.border,strokeOpacity:.7}),e.jsx("text",{x:642,y:38,textAnchor:"middle",fill:i.text,fontSize:13,fontWeight:800,letterSpacing:.5,children:"DIE BOX · 192.168.178.151"}),e.jsx(o,{x:444,y:54,w:396,h:62,color:i.teal,title:"Mission Control (:9001)",sub:"Cockpit · Auftragsbuch (Klick-Gate) · Chronik · Wissen"}),e.jsx(o,{x:444,y:126,w:396,h:62,color:i.rose,title:"Hermes-Agent",sub:"denkt, nutzt Werkzeuge, betreibt die Werkstatt & Nacht-Crons"}),e.jsx(o,{x:444,y:198,w:396,h:78,color:i.sky,title:"Modell-Stall (llama-swap)",sub:"Hirn · Groß · Coder · Augen · Späher · Kritiker",sub2:"+ Embedding & Sortierer fürs Gedächtnis"}),e.jsx(o,{x:444,y:286,w:190,h:56,color:i.indigo,title:"Natives Gedächtnis",sub:"Hermes v0.20 SQLite & Embed"}),e.jsx(o,{x:650,y:286,w:190,h:56,color:i.amber,title:"Wissens-Vault",sub:"Träume & Notizen (git)"}),e.jsx(o,{x:444,y:352,w:396,h:52,color:i.emerald,title:"Selbstheilung & Backups",sub:"Health-Checks · Auto-Revert bei Rot · PBS-Sicherung"}),n.map(r=>e.jsx(j,{from:[382,r.y+32],to:[420,r.y+46]},r.title)),e.jsx(j,{from:[420,396],to:[166,364],color:i.emerald,dash:!0}),e.jsx("text",{x:272,y:412,textAnchor:"middle",fill:i.mut,fontSize:9.5,fontStyle:"italic",children:"Lucy-Karte angenommen → PC baut neu"})]})}function O(){const n=[{x:14,color:i.amber,title:"Idee",sub:"von dir oder vom",sub2:"Nacht-Radar"},{x:158,color:i.violet,title:"Ideen-Queue",sub:"Kanban sammelt,",sub2:"Specifier plant"},{x:302,color:i.rose,title:"Werkstatt",sub:"Agent baut den",sub2:"Vorschlag (Branch)"},{x:446,color:i.sky,title:"Auftragsbuch",sub:"Karte + Stempel",sub2:"vom Gutachter"},{x:590,color:i.primary,title:"DEIN Klick",sub:"annehmen oder",sub2:"ablehnen (mit Grund)",strong:!0},{x:734,color:i.emerald,title:"Live",sub:"Merge + Deploy,",sub2:"Rot = Auto-Rückbau"}];return e.jsxs("svg",{viewBox:"0 0 880 246",role:"img","aria-label":"Kreislauf: Idee, Ideen-Queue, Werkstatt, Auftragsbuch, dein Klick, live — Chronik und Morgenlage berichten zurück.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[n.map(r=>e.jsx(o,{x:r.x,y:38,w:132,h:66,color:r.color,title:r.title,sub:r.sub,sub2:r.sub2,strong:r.strong},r.title)),n.slice(0,-1).map((r,t)=>e.jsx(j,{from:[r.x+132,71],to:[n[t+1].x,71]},r.title)),e.jsxs("g",{stroke:i.border,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:"5 4",children:[e.jsx("path",{d:"M 800 104 C 800 150, 720 150, 440 150 C 160 150, 80 150, 80 112"}),e.jsx("path",{d:"M 76 118 L 80 108 L 84 118",fill:i.border,fillOpacity:.7,stroke:"none"})]}),e.jsx("text",{x:440,y:144,textAnchor:"middle",fill:i.mut,fontSize:10,fontStyle:"italic",children:"Chronik & Morgenlage berichten · Ablehnungs-Gründe werden Lern-Futter"}),e.jsx("rect",{x:14,y:176,width:852,height:54,rx:12,fill:i.bg,stroke:i.border,strokeOpacity:.5}),e.jsx("text",{x:440,y:198,textAnchor:"middle",fill:i.text,fontSize:11,fontWeight:700,children:"Nachts, ganz allein:"}),e.jsx("text",{x:440,y:216,textAnchor:"middle",fill:i.mut,fontSize:10,children:"03:15 Traum · 03:35 Selbst-Inventur · 03:45 Idle-Radar · 04:00 Karten-Gutachter · 04:10 Bagatellen · 04:30 Morgenlage · Mo 05:15 Release-Radar"})]})}function U(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(F,{})})}),e.jsx("div",{className:"border-t border-border/20 pt-4 overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(O,{})})})]})}const N=[{id:"system",label:"Dein System"},{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function Q(n){var r;(r=document.getElementById(n))==null||r.scrollIntoView({behavior:"smooth",block:"start"})}function a({id:n,icon:r,color:t,title:c,kicker:h,children:g,wide:d}){return e.jsxs("section",{id:n,className:f("scroll-mt-20 mc-card p-6 space-y-3",d&&"md:col-span-2"),children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(r,{className:f("h-5 w-5 shrink-0",t)}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:c}),h&&e.jsx("span",{className:f("text-[9px] font-mono",t),children:h})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:g})]})}function m({children:n}){return e.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[e.jsx(B,{className:"h-3 w-3"})," Bei dir konkret"]}),e.jsx("div",{className:"text-muted-foreground space-y-1",children:n})]})}function s({children:n}){return e.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:n})}function l({href:n,name:r,note:t}){return e.jsxs("li",{className:"leading-relaxed",children:[e.jsxs("a",{href:n,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[r,e.jsx(K,{className:"h-3 w-3 opacity-60"})]}),e.jsxs("span",{className:"text-muted-foreground",children:[" — ",t]})]})}function q(){const[n,r]=M.useState(!1);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{className:"mc-card p-6 flex items-start gap-4",children:[e.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:e.jsx(S,{className:"h-6 w-6 text-primary"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Erst ",e.jsx("span",{className:"font-semibold text-foreground",children:"dein System auf einen Blick"}),", dann das allgemeine Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",e.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juli 2026."})," ",e.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),e.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:e.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(n?N:N.slice(0,9)).map(t=>e.jsx("button",{onClick:()=>Q(t.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t.label},t.id)),e.jsx("button",{onClick:()=>r(t=>!t),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n?"weniger":"+ mehr"})]})})}),e.jsxs("section",{id:"system",className:"scroll-mt-20 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(A,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"So funktioniert dein System"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Landkarte & Kreislauf — das große Bild"})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed max-w-3xl",children:["Vier Türen führen zur selben Box: ",e.jsx("strong",{className:"text-foreground",children:"diese Oberfläche"})," zum Steuern und Abnicken, ",e.jsx("strong",{className:"text-foreground",children:"Lucy"})," für Zurufe per Stimme,",e.jsx("strong",{className:"text-foreground",children:" Hermes Desktop"})," für richtige Projekte und",e.jsx("strong",{className:"text-foreground",children:" Telegram"})," für unterwegs. In der Box denken die Modelle, das Gedächtnis lernt automatisch mit — und nachts arbeitet sie allein: Sie träumt, inventarisiert sich selbst, entwickelt Ideen zu fertigen Vorschlägen und legt sie dir als Karten ins Auftragsbuch.",e.jsx("strong",{className:"text-primary",children:" Nichts geht live ohne deinen Klick"})," — und wenn nach einer Annahme etwas rot wird, baut die Box es selbst zurück."]}),e.jsx(U,{})]}),e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsxs(a,{id:"grundlagen",icon:C,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[e.jsxs("p",{children:["Ein LLM ist im Kern ein ",e.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",e.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),e.jsxs(a,{id:"moe",icon:I,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",e.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",e.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx(s,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),e.jsxs(m,{children:["VRAM/RAM ist die harte Grenze — ",e.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",e.jsx(s,{children:"Q4_K_M"}),"/",e.jsx(s,{children:"Q6_K"}),"."]})]}),e.jsxs(a,{id:"lokal",icon:z,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"llama-swap"})," — Proxy, der ",e.jsx("em",{children:"mehrere"})," Modelle hinter ",e.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx(s,{children:"CUDA"})," NVIDIA · ",e.jsx(s,{children:"ROCm"})," AMD · ",e.jsx(s,{children:"Vulkan"})," herstellerübergreifend · ",e.jsx(s,{children:"Metal"})," Apple"]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",e.jsx(s,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",e.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),e.jsxs(m,{children:["Deine Box hat eine AMD-APU (gfx1151). ",e.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",e.jsx(s,{children:"Vulkan/RADV"})," das offizielle ",e.jsx(s,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",e.jsx(s,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",e.jsx(s,{children:"coder"})," nutzt Spec-Decoding."]})]}),e.jsxs(a,{id:"modelle",icon:k,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Llama"})," (Meta), ",e.jsx("strong",{children:"Gemma"})," (Google), ",e.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"DeepSeek"}),", ",e.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Frontier (Cloud-API):"})}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx("strong",{children:"Claude"})," (Anthropic), ",e.jsx("strong",{children:"GPT"})," (OpenAI), ",e.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),e.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),e.jsxs(m,{children:["Dein Line-up via llama-swap (Klartext-Rollen): ",e.jsx(s,{children:"Hirn"})," (Agent, dauerwarm) · ",e.jsx(s,{children:"Groß"})," (schwere Logik) · ",e.jsx(s,{children:"Coder"})," · ",e.jsx(s,{children:"Augen"})," (Bilder) · ",e.jsx(s,{children:"Späher"})," (schnelle Recherche) ·",e.jsx(s,{children:"Kritiker"})," (Fremdblick/Review) · ",e.jsx(s,{children:"Gedächtnis"})," + ",e.jsx(s,{children:"Sortierer"})," (Embedding & Reranking). Verwalten/tauschen im ",e.jsx("strong",{children:"Modelle"}),"-Tab."]})]}),e.jsxs(a,{id:"gateway",icon:A,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[e.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",e.jsx("strong",{children:"OpenAI-Format"})," (",e.jsx(s,{children:"/v1/chat/completions"}),"). Ein",e.jsx("strong",{children:" Gateway"})," davor gibt dir ",e.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",e.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),e.jsxs("p",{children:["Die Lane-Idee: du wählst ",e.jsx(s,{children:"chat"})," (Alltag, ",e.jsx(s,{children:"auto"})," geht als Alias weiter) oder"," ",e.jsx(s,{children:"coding"})," (agentisch), das Gateway pickt das passende echte Modell und lädt es bei Bedarf."]}),e.jsxs(m,{children:["Dein Gateway: ",e.jsx(s,{children:"http://192.168.178.151:9001/v1"}),", Model ",e.jsx(s,{children:"chat"})," oder ",e.jsx(s,{children:"coding"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",e.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),e.jsxs(a,{id:"mcp",icon:y,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[e.jsxs("p",{children:["Das ",e.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",e.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),e.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),e.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[e.jsx(P,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),e.jsxs(a,{id:"skills",icon:H,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",e.jsx(s,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),e.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- + */const H=u("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]),i={text:"hsl(var(--foreground))",mut:"hsl(var(--muted-foreground))",border:"hsl(var(--border))",card:"hsl(var(--card) / 0.9)",bg:"hsl(var(--background) / 0.4)",primary:"hsl(var(--primary))",teal:"#2dd4bf",sky:"#38bdf8",violet:"#a78bfa",rose:"#fb7185",amber:"#fbbf24",emerald:"#34d399",indigo:"#818cf8"};function o({x:n,y:r,w:t,h:c,color:h,title:g,sub:d,sub2:x,strong:p}){const b=n+t/2;return e.jsxs("g",{children:[e.jsx("rect",{x:n,y:r,width:t,height:c,rx:12,fill:i.card,stroke:h,strokeOpacity:p?.9:.45,strokeWidth:p?2:1.25}),e.jsx("rect",{x:n,y:r,width:t,height:3,rx:1.5,fill:h,opacity:.8}),e.jsx("text",{x:b,y:r+(d?24:c/2+4),textAnchor:"middle",fill:i.text,fontSize:12.5,fontWeight:700,children:g}),d&&e.jsx("text",{x:b,y:r+40,textAnchor:"middle",fill:i.mut,fontSize:10,children:d}),x&&e.jsx("text",{x:b,y:r+53,textAnchor:"middle",fill:i.mut,fontSize:10,children:x})]})}function j({from:n,to:r,color:t=i.border,dash:c}){const[h,g]=n,[d,x]=r,p=(h+d)/2;return e.jsxs("g",{stroke:t,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:c?"5 4":void 0,children:[e.jsx("path",{d:`M ${h} ${g} C ${p} ${g}, ${p} ${x}, ${d} ${x}`}),e.jsx("path",{d:`M ${d-6} ${x-4} L ${d} ${x} L ${d-6} ${x+4}`,fill:t,fillOpacity:.7,stroke:"none"})]})}function F(){const n=[{y:34,title:"Diese Oberfläche",sub:"Browser · Cockpit & Klick-Gates",color:i.teal},{y:128,title:"Lucy",sub:"Stimme & Begleiterin am PC",color:i.rose},{y:222,title:"Hermes Desktop",sub:"IDE für Projekte (PC + remote)",color:i.violet},{y:316,title:"Telegram",sub:"unterwegs, gleiche Erinnerung",color:i.sky}];return e.jsxs("svg",{viewBox:"0 0 880 432",role:"img","aria-label":"Landkarte: Du erreichst die Box über vier Türen; in der Box arbeiten Mission Control, der Hermes-Agent, der Modell-Stall, das Gedächtnis und der Wissens-Vault.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[e.jsx(o,{x:16,y:150,w:120,h:92,color:i.primary,strong:!0,title:"Du",sub:"entscheidest —",sub2:"die Box arbeitet"}),e.jsx(o,{x:16,y:330,w:150,h:68,color:i.emerald,title:"PC-Executor",sub:"baut & startet Lucy",sub2:"nach deiner Annahme"}),n.map(r=>e.jsx(o,{x:196,y:r.y,w:186,h:64,color:r.color,title:r.title,sub:r.sub},r.title)),n.map(r=>e.jsx(j,{from:[136,196],to:[196,r.y+32]},r.title)),e.jsx("rect",{x:420,y:14,width:444,height:404,rx:16,fill:i.bg,stroke:i.border,strokeOpacity:.7}),e.jsx("text",{x:642,y:38,textAnchor:"middle",fill:i.text,fontSize:13,fontWeight:800,letterSpacing:.5,children:"DIE BOX · 192.168.178.151"}),e.jsx(o,{x:444,y:54,w:396,h:62,color:i.teal,title:"Mission Control (:9001)",sub:"Cockpit · Auftragsbuch (Klick-Gate) · Chronik · Wissen"}),e.jsx(o,{x:444,y:126,w:396,h:62,color:i.rose,title:"Hermes-Agent",sub:"denkt, nutzt Werkzeuge, betreibt die Werkstatt & Nacht-Crons"}),e.jsx(o,{x:444,y:198,w:396,h:78,color:i.sky,title:"Modell-Stall (llama-swap)",sub:"Hirn · Groß · Coder · Augen · Späher · Kritiker",sub2:"+ Embedding & Sortierer fürs Gedächtnis"}),e.jsx(o,{x:444,y:286,w:190,h:56,color:i.indigo,title:"Natives Gedächtnis",sub:"Hermes v0.20 SQLite & Embed"}),e.jsx(o,{x:650,y:286,w:190,h:56,color:i.amber,title:"Wissens-Vault",sub:"Träume & Notizen (git)"}),e.jsx(o,{x:444,y:352,w:396,h:52,color:i.emerald,title:"Selbstheilung & Backups",sub:"Health-Checks · Auto-Revert bei Rot · PBS-Sicherung"}),n.map(r=>e.jsx(j,{from:[382,r.y+32],to:[420,r.y+46]},r.title)),e.jsx(j,{from:[420,396],to:[166,364],color:i.emerald,dash:!0}),e.jsx("text",{x:272,y:412,textAnchor:"middle",fill:i.mut,fontSize:9.5,fontStyle:"italic",children:"Lucy-Karte angenommen → PC baut neu"})]})}function O(){const n=[{x:14,color:i.amber,title:"Idee",sub:"von dir oder vom",sub2:"Nacht-Radar"},{x:158,color:i.violet,title:"Ideen-Queue",sub:"Kanban sammelt,",sub2:"Specifier plant"},{x:302,color:i.rose,title:"Werkstatt",sub:"Agent baut den",sub2:"Vorschlag (Branch)"},{x:446,color:i.sky,title:"Auftragsbuch",sub:"Karte + Stempel",sub2:"vom Gutachter"},{x:590,color:i.primary,title:"DEIN Klick",sub:"annehmen oder",sub2:"ablehnen (mit Grund)",strong:!0},{x:734,color:i.emerald,title:"Live",sub:"Merge + Deploy,",sub2:"Rot = Auto-Rückbau"}];return e.jsxs("svg",{viewBox:"0 0 880 246",role:"img","aria-label":"Kreislauf: Idee, Ideen-Queue, Werkstatt, Auftragsbuch, dein Klick, live — Chronik und Morgenlage berichten zurück.",style:{width:"100%",height:"auto",fontFamily:"var(--font-sans)"},children:[n.map(r=>e.jsx(o,{x:r.x,y:38,w:132,h:66,color:r.color,title:r.title,sub:r.sub,sub2:r.sub2,strong:r.strong},r.title)),n.slice(0,-1).map((r,t)=>e.jsx(j,{from:[r.x+132,71],to:[n[t+1].x,71]},r.title)),e.jsxs("g",{stroke:i.border,strokeOpacity:.7,fill:"none",strokeWidth:1.5,strokeDasharray:"5 4",children:[e.jsx("path",{d:"M 800 104 C 800 150, 720 150, 440 150 C 160 150, 80 150, 80 112"}),e.jsx("path",{d:"M 76 118 L 80 108 L 84 118",fill:i.border,fillOpacity:.7,stroke:"none"})]}),e.jsx("text",{x:440,y:144,textAnchor:"middle",fill:i.mut,fontSize:10,fontStyle:"italic",children:"Chronik & Morgenlage berichten · Ablehnungs-Gründe werden Lern-Futter"}),e.jsx("rect",{x:14,y:176,width:852,height:54,rx:12,fill:i.bg,stroke:i.border,strokeOpacity:.5}),e.jsx("text",{x:440,y:198,textAnchor:"middle",fill:i.text,fontSize:11,fontWeight:700,children:"Nachts, ganz allein:"}),e.jsx("text",{x:440,y:216,textAnchor:"middle",fill:i.mut,fontSize:10,children:"03:15 Traum · 03:35 Selbst-Inventur · 03:45 Idle-Radar · 04:00 Karten-Gutachter · 04:10 Bagatellen · 04:30 Morgenlage · Mo 05:15 Release-Radar"})]})}function U(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(F,{})})}),e.jsx("div",{className:"border-t border-border/20 pt-4 overflow-x-auto",children:e.jsx("div",{className:"min-w-[680px]",children:e.jsx(O,{})})})]})}const N=[{id:"system",label:"Dein System"},{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function Q(n){var r;(r=document.getElementById(n))==null||r.scrollIntoView({behavior:"smooth",block:"start"})}function a({id:n,icon:r,color:t,title:c,kicker:h,children:g,wide:d}){return e.jsxs("section",{id:n,className:f("scroll-mt-20 mc-card p-6 space-y-3",d&&"md:col-span-2"),children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(r,{className:f("h-5 w-5 shrink-0",t)}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:c}),h&&e.jsx("span",{className:f("text-[9px] font-mono",t),children:h})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:g})]})}function m({children:n}){return e.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[e.jsx(T,{className:"h-3 w-3"})," Bei dir konkret"]}),e.jsx("div",{className:"text-muted-foreground space-y-1",children:n})]})}function s({children:n}){return e.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:n})}function l({href:n,name:r,note:t}){return e.jsxs("li",{className:"leading-relaxed",children:[e.jsxs("a",{href:n,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[r,e.jsx(K,{className:"h-3 w-3 opacity-60"})]}),e.jsxs("span",{className:"text-muted-foreground",children:[" — ",t]})]})}function J(){const[n,r]=M.useState(!1);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{className:"mc-card p-6 flex items-start gap-4",children:[e.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:e.jsx(S,{className:"h-6 w-6 text-primary"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),e.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Erst ",e.jsx("span",{className:"font-semibold text-foreground",children:"dein System auf einen Blick"}),", dann das allgemeine Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",e.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juli 2026."})," ",e.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),e.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:e.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(n?N:N.slice(0,9)).map(t=>e.jsx("button",{onClick:()=>Q(t.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t.label},t.id)),e.jsx("button",{onClick:()=>r(t=>!t),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n?"weniger":"+ mehr"})]})})}),e.jsxs("section",{id:"system",className:"scroll-mt-20 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(A,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"So funktioniert dein System"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Landkarte & Kreislauf — das große Bild"})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed max-w-3xl",children:["Vier Türen führen zur selben Box: ",e.jsx("strong",{className:"text-foreground",children:"diese Oberfläche"})," zum Steuern und Abnicken, ",e.jsx("strong",{className:"text-foreground",children:"Lucy"})," für Zurufe per Stimme,",e.jsx("strong",{className:"text-foreground",children:" Hermes Desktop"})," für richtige Projekte und",e.jsx("strong",{className:"text-foreground",children:" Telegram"})," für unterwegs. In der Box denken die Modelle, das Gedächtnis lernt automatisch mit — und nachts arbeitet sie allein: Sie träumt, inventarisiert sich selbst, entwickelt Ideen zu fertigen Vorschlägen und legt sie dir als Karten ins Auftragsbuch.",e.jsx("strong",{className:"text-primary",children:" Nichts geht live ohne deinen Klick"})," — und wenn nach einer Annahme etwas rot wird, baut die Box es selbst zurück."]}),e.jsx(U,{})]}),e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsxs(a,{id:"grundlagen",icon:C,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[e.jsxs("p",{children:["Ein LLM ist im Kern ein ",e.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",e.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),e.jsxs(a,{id:"moe",icon:R,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",e.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",e.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx(s,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),e.jsxs("li",{children:[e.jsx(s,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),e.jsxs(m,{children:["VRAM/RAM ist die harte Grenze — ",e.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",e.jsx(s,{children:"Q4_K_M"}),"/",e.jsx(s,{children:"Q6_K"}),"."]})]}),e.jsxs(a,{id:"lokal",icon:z,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"llama-swap"})," — Proxy, der ",e.jsx("em",{children:"mehrere"})," Modelle hinter ",e.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx(s,{children:"CUDA"})," NVIDIA · ",e.jsx(s,{children:"ROCm"})," AMD · ",e.jsx(s,{children:"Vulkan"})," herstellerübergreifend · ",e.jsx(s,{children:"Metal"})," Apple"]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",e.jsx(s,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",e.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),e.jsxs(m,{children:["Deine Box hat eine AMD-APU (gfx1151). ",e.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",e.jsx(s,{children:"Vulkan/RADV"})," das offizielle ",e.jsx(s,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",e.jsx(s,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",e.jsx(s,{children:"coder"})," nutzt Spec-Decoding."]})]}),e.jsxs(a,{id:"modelle",icon:k,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Llama"})," (Meta), ",e.jsx("strong",{children:"Gemma"})," (Google), ",e.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"DeepSeek"}),", ",e.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{children:"Frontier (Cloud-API):"})}),e.jsx("ul",{className:"list-disc pl-4 space-y-1",children:e.jsxs("li",{children:[e.jsx("strong",{children:"Claude"})," (Anthropic), ",e.jsx("strong",{children:"GPT"})," (OpenAI), ",e.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),e.jsxs("p",{className:"pt-1",children:[e.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),e.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),e.jsxs(m,{children:["Dein Line-up via llama-swap (Klartext-Rollen): ",e.jsx(s,{children:"Hirn"})," (Agent, dauerwarm) · ",e.jsx(s,{children:"Groß"})," (schwere Logik) · ",e.jsx(s,{children:"Coder"})," · ",e.jsx(s,{children:"Augen"})," (Bilder) · ",e.jsx(s,{children:"Späher"})," (schnelle Recherche) ·",e.jsx(s,{children:"Kritiker"})," (Fremdblick/Review) · ",e.jsx(s,{children:"Gedächtnis"})," + ",e.jsx(s,{children:"Sortierer"})," (Embedding & Reranking). Verwalten/tauschen im ",e.jsx("strong",{children:"Modelle"}),"-Tab."]})]}),e.jsxs(a,{id:"gateway",icon:A,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[e.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",e.jsx("strong",{children:"OpenAI-Format"})," (",e.jsx(s,{children:"/v1/chat/completions"}),"). Ein",e.jsx("strong",{children:" Gateway"})," davor gibt dir ",e.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",e.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),e.jsxs("p",{children:["Die Lane-Idee: du wählst ",e.jsx(s,{children:"chat"})," (Alltag, ",e.jsx(s,{children:"auto"})," geht als Alias weiter) oder"," ",e.jsx(s,{children:"coding"})," (agentisch), das Gateway pickt das passende echte Modell und lädt es bei Bedarf."]}),e.jsxs(m,{children:["Dein Gateway: ",e.jsx(s,{children:"http://192.168.178.151:9001/v1"}),", Model ",e.jsx(s,{children:"chat"})," oder ",e.jsx(s,{children:"coding"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",e.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),e.jsxs(a,{id:"mcp",icon:y,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[e.jsxs("p",{children:["Das ",e.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",e.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),e.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),e.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[e.jsx(B,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),e.jsxs(a,{id:"skills",icon:H,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",e.jsx(s,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),e.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- name: tdd-pro description: Treibt Entwicklung mit strikter TDD-Praxis --- # Instructions -...`}),e.jsxs("p",{children:["Suchen & installieren über die ",e.jsx("strong",{children:"skills.sh"}),"-Registry: ",e.jsx(s,{children:"npx skills find"})," /",e.jsx(s,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),e.jsxs(a,{id:"memory",icon:V,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["LLMs sind ",e.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",e.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:["extrahiert Fakten ",e.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),e.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),e.jsxs("li",{children:[e.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",e.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),e.jsxs(m,{children:["Dein Gedächtnis führt ",e.jsx("strong",{children:"Hermes"})," selbst — auto-lernend und semantisch. Der Agent lernt im Hintergrund nach jedem Turn, egal ob du per Desktop, Konsole, Telegram oder Lucy mit ihm sprichst.",e.jsx("br",{}),"Deshalb hat das Steuerpult ",e.jsx("strong",{children:"keinen eigenen Gedächtnis-Tab"}),": bis August 2026 lag das Gedächtnis in einem MC2-Sidecar, seit dessen Ablösung ist Hermes die einzige Quelle — angesehen und gepflegt wird es dort, nicht hier. Unter ",e.jsx("strong",{children:"Wissen"})," findest du weiterhin die Graph-Sicht auf Lucys Wissens-Vault.",e.jsx("br",{}),e.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),e.jsxs(a,{id:"agents",icon:v,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",e.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",e.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),e.jsxs(m,{children:[e.jsx("strong",{children:"Hermes"})," ist dein Box-Agent mit eigenem Agent-Hirn (Rolle ",e.jsx(s,{children:"Hirn"}),", dauerwarm). Reden tust du mit ihm über ",e.jsx("strong",{children:"Hermes Desktop"})," (am PC, remote via ",e.jsx(s,{children:"/hermes-ui"}),"), die ",e.jsx("strong",{children:"Konsole"})," (Box-Shell im Browser), ",e.jsx("strong",{children:"Telegram"})," — oder per Stimme über",e.jsx("strong",{children:" Lucy"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und",e.jsx("strong",{children:" PC-Steuerung"})," (Executor auf deinem Windows-PC). Nachts betreibt er Werkstatt & Radar-Crons — alles Gebaute landet als Karte im ",e.jsx("strong",{children:"Auftragsbuch"}),". Status & Verdrahtung im ",e.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),e.jsxs(a,{id:"ide",icon:E,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[e.jsxs("p",{children:["Jede ",e.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cline"})," & ",e.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continue"}),", ",e.jsx("strong",{children:"aider"})," (CLI), ",e.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),e.jsxs(m,{children:["Deine Haupt-IDE ist inzwischen ",e.jsx("strong",{children:"Hermes Desktop"})," — sie ist ab Werk mit Box, Gedächtnis und Skills verdrahtet, da ist nichts zu konfigurieren. Für alles andere gilt: Tipp den Kram nicht ab — der",e.jsx("strong",{children:" Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",e.jsx(s,{children:"…:9001/v1"}),", Model ",e.jsx(s,{children:"coder"})," (bauen) / ",e.jsx(s,{children:"heavy"})," (denken) /"," ",e.jsx(s,{children:"vision"})," (Bilder); für simple Chat-Tools tut es die Lane ",e.jsx(s,{children:"chat"}),". Key beliebig."]})]}),e.jsx(a,{id:"tricks",icon:L,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:e.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([t,c])=>e.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[e.jsx(R,{className:"h-3 w-3 text-amber-400"})," ",t]}),e.jsx("p",{className:"text-[11px]",children:c})]},t))})}),e.jsx(a,{id:"wartung",icon:G,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(D,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(T,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Backup:"})," PBS-Backup-Zentrum (Sicherung auf den Proxmox-Server) + tägliche Tarball-Sicherung; Restore echt durchgespielt (",e.jsx(s,{children:"restore.sh"}),", Doku in ",e.jsx(s,{children:"docs/BACKUP.md"}),")."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",e.jsx("strong",{children:"Update-Buttons"})," mit anschließendem ",e.jsx("strong",{children:"Gehirn-Check"})," (rot, falls ein Update das Gedächtnis zerschießt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Annahme-Sicherheit:"})," jede Auftragsbuch-Annahme läuft mit Health-Check — wird's rot, baut die Box automatisch zurück (Auto-Revert)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),e.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),e.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(w,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(k,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),e.jsx(l,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),e.jsx(l,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),e.jsx(l,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),e.jsx(l,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),e.jsx(l,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(y,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),e.jsx(l,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),e.jsx(l,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),e.jsx(l,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),e.jsx(l,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(v,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),e.jsx(l,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),e.jsx(l,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),e.jsx(l,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),e.jsx(l,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(S,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),e.jsx(l,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),e.jsx(l,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),e.jsx(l,{href:"https://hermes-agent.nousresearch.com",name:"Hermes Agent",note:"die autonome Open-Source Agenten-Plattform unserer Box."}),e.jsx(l,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),e.jsx(a,{id:"troubleshooting",icon:W,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:e.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",e.jsx(s,{children:":9001"}),")? Backend-Status im ",e.jsx("strong",{children:"Cockpit"})," prüfen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," Im ",e.jsx("strong",{children:"Cockpit → Dienste"})," schauen, ob ",e.jsx(s,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session starten (Hermes Desktop oder ",e.jsx("strong",{children:"Konsole"}),") — meist ist es vollgemüllter Kontext."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Angenommene Karte hat etwas zerschossen?"})," Meist fängt es der Auto-Revert; sonst ",e.jsx("strong",{children:"Chronik → Zeitmaschine"})," (Stand von gestern) oder Backup & ",e.jsx(s,{children:"restore.sh"}),"."]})]})})]}),e.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juli 2026 — lebendes Dokument, wächst mit dem Stack."})]})}export{q as GuideView}; +...`}),e.jsxs("p",{children:["Suchen & installieren über die ",e.jsx("strong",{children:"skills.sh"}),"-Registry: ",e.jsx(s,{children:"npx skills find"})," /",e.jsx(s,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),e.jsxs(a,{id:"memory",icon:V,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["LLMs sind ",e.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",e.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:["extrahiert Fakten ",e.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),e.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),e.jsxs("li",{children:[e.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",e.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),e.jsxs(m,{children:["Dein Gedächtnis führt ",e.jsx("strong",{children:"Hermes"})," selbst — auto-lernend und semantisch. Der Agent lernt im Hintergrund nach jedem Turn, egal ob du per Desktop, Konsole, Telegram oder Lucy mit ihm sprichst.",e.jsx("br",{}),"Deshalb hat das Steuerpult ",e.jsx("strong",{children:"keinen eigenen Gedächtnis-Tab"}),": bis August 2026 lag das Gedächtnis in einem MC2-Sidecar, seit dessen Ablösung ist Hermes die einzige Quelle — angesehen und gepflegt wird es dort, nicht hier. Unter ",e.jsx("strong",{children:"Wissen"})," findest du weiterhin die Graph-Sicht auf Lucys Wissens-Vault.",e.jsx("br",{}),e.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),e.jsxs(a,{id:"agents",icon:v,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["Ein ",e.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",e.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",e.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),e.jsxs(m,{children:[e.jsx("strong",{children:"Hermes"})," ist dein Box-Agent mit eigenem Agent-Hirn (Rolle ",e.jsx(s,{children:"Hirn"}),", dauerwarm). Reden tust du mit ihm über ",e.jsx("strong",{children:"Hermes Desktop"})," (am PC, remote via ",e.jsx(s,{children:"/hermes-ui"}),"), die ",e.jsx("strong",{children:"Konsole"})," (Box-Shell im Browser), ",e.jsx("strong",{children:"Telegram"})," — oder per Stimme über",e.jsx("strong",{children:" Lucy"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und",e.jsx("strong",{children:" PC-Steuerung"})," (Executor auf deinem Windows-PC). Nachts betreibt er Werkstatt & Radar-Crons — alles Gebaute landet als Karte im ",e.jsx("strong",{children:"Auftragsbuch"}),". Status & Verdrahtung im ",e.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),e.jsxs(a,{id:"ide",icon:P,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[e.jsxs("p",{children:["Jede ",e.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cline"})," & ",e.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continue"}),", ",e.jsx("strong",{children:"aider"})," (CLI), ",e.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),e.jsxs(m,{children:["Deine Haupt-IDE ist inzwischen ",e.jsx("strong",{children:"Hermes Desktop"})," — sie ist ab Werk mit Box, Gedächtnis und Skills verdrahtet, da ist nichts zu konfigurieren. Für alles andere gilt: Tipp den Kram nicht ab — der",e.jsx("strong",{children:" Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",e.jsx(s,{children:"…:9001/v1"}),", Model ",e.jsx(s,{children:"coder"})," (bauen) / ",e.jsx(s,{children:"heavy"})," (denken) /"," ",e.jsx(s,{children:"vision"})," (Bilder); für simple Chat-Tools tut es die Lane ",e.jsx(s,{children:"chat"}),". Key beliebig."]})]}),e.jsx(a,{id:"tricks",icon:L,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:e.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([t,c])=>e.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[e.jsx(E,{className:"h-3 w-3 text-amber-400"})," ",t]}),e.jsx("p",{className:"text-[11px]",children:c})]},t))})}),e.jsx(a,{id:"wartung",icon:I,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(G,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[e.jsx(D,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Backup:"})," PBS-Backup-Zentrum (Sicherung auf den Proxmox-Server) + tägliche Tarball-Sicherung; Restore echt durchgespielt (",e.jsx(s,{children:"restore.sh"}),", Doku in ",e.jsx(s,{children:"docs/BACKUP.md"}),")."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",e.jsx("strong",{children:"Update-Buttons"})," mit anschließendem ",e.jsx("strong",{children:"Gehirn-Check"})," (rot, falls ein Update das Gedächtnis zerschießt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Annahme-Sicherheit:"})," jede Auftragsbuch-Annahme läuft mit Health-Check — wird's rot, baut die Box automatisch zurück (Auto-Revert)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),e.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),e.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[e.jsx(w,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),e.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(k,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),e.jsx(l,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),e.jsx(l,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),e.jsx(l,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),e.jsx(l,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),e.jsx(l,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(y,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),e.jsx(l,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),e.jsx(l,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),e.jsx(l,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),e.jsx(l,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(v,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),e.jsx(l,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),e.jsx(l,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),e.jsx(l,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),e.jsx(l,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[e.jsx(S,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),e.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[e.jsx(l,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),e.jsx(l,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),e.jsx(l,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),e.jsx(l,{href:"https://hermes-agent.nousresearch.com",name:"Hermes Agent",note:"die autonome Open-Source Agenten-Plattform unserer Box."}),e.jsx(l,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),e.jsx(a,{id:"troubleshooting",icon:W,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:e.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",e.jsx(s,{children:":9001"}),")? Backend-Status im ",e.jsx("strong",{children:"Cockpit"})," prüfen."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," Im ",e.jsx("strong",{children:"Cockpit → Dienste"})," schauen, ob ",e.jsx(s,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session starten (Hermes Desktop oder ",e.jsx("strong",{children:"Konsole"}),") — meist ist es vollgemüllter Kontext."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Angenommene Karte hat etwas zerschossen?"})," Meist fängt es der Auto-Revert; sonst ",e.jsx("strong",{children:"Chronik → Zeitmaschine"})," (Stand von gestern) oder Backup & ",e.jsx(s,{children:"restore.sh"}),"."]})]})})]}),e.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juli 2026 — lebendes Dokument, wächst mit dem Stack."})]})}export{J as GuideView}; diff --git a/frontend/dist/assets/IdeenView-wVxyfCCm.js b/frontend/dist/assets/IdeenView-C8BKiJHT.js similarity index 50% rename from frontend/dist/assets/IdeenView-wVxyfCCm.js rename to frontend/dist/assets/IdeenView-C8BKiJHT.js index 9ff9208..ed1799e 100644 --- a/frontend/dist/assets/IdeenView-wVxyfCCm.js +++ b/frontend/dist/assets/IdeenView-C8BKiJHT.js @@ -1,35 +1,35 @@ -import{c as $,j as e,b as S,a2 as ve,u as Se,k as De,r as d,n as z,a6 as Ke,_ as O,L as D,X as Q,a7 as xe,F as T,a3 as he,C as Ce,T as ze,a4 as Ee,a8 as pe,q as Ae,R as fe}from"./index-BYlMs6Dj.js";import{S as Le,H as X}from"./SectionLabel-R1yae0WQ.js";import{C as ee}from"./code-xml-DZ6lLr-w.js";import{L as Pe}from"./layers-DCwnbkXd.js";import{C as U}from"./chevron-down-D5zhK_UQ.js";import{R as We}from"./rotate-ccw-Dx0bZ_kA.js";/** +import{c as R,j as e,b as S,_ as Se,u as De,k as Ce,r as u,z as Ke,A as ze,n as z,a1 as Ee,U as O,L as D,X as Q,a2 as xe,G as T,C as Ae,T as Le,$ as Pe,R as We,q as $e}from"./index-Bb8GyPHo.js";import{S as Re,H as U}from"./SectionLabel-CS0KgrzT.js";import{C as ee}from"./code-xml-D7ACEH7O.js";import{C as he}from"./clock-uyqKk7Jn.js";import{L as Be}from"./layers-y2iqT_Gl.js";import{C as X}from"./chevron-down-BGRm8kVZ.js";import{F as ge}from"./file-text-Bdam-Njc.js";import{R as fe}from"./refresh-cw-C3saW9zg.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Re=$("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** + */const Ie=R("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $e=$("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const Oe=R("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Be=$("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/** + */const Te=R("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Y=$("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);/** + */const Y=R("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const me=$("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const me=R("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ie=$("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);function Oe({text:r,className:c}){const k=(r||"").split(` -`),s=[];let m=[],g=null;const h=p=>{m.length&&(s.push(e.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:m},p)),m=[])};return k.forEach((p,o)=>{const i=`l${o}`;if(g!==null){p.trimEnd()==="```"?(s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:g.join(` -`)},i)),g=null):g.push(p);return}if(p.trimStart().startsWith("```")){h(i),g=[];return}const j=p.trimEnd();if(!j.trim()){h(i);return}const w=j.match(/^(#{1,4})\s+(.*)$/);if(w){h(i);const N=w[1].length,u=N===1?"text-base font-bold mt-1 mb-2":N===2?"text-sm font-bold mt-4 mb-1.5":"text-xs font-bold mt-3 mb-1 uppercase tracking-wide text-muted-foreground";s.push(e.jsx("p",{className:S(u,"font-space text-foreground"),children:F(w[2],i)},i));return}const y=j.match(/^\s*[-*•]\s+(.*)$/);if(y){m.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:F(y[1],i)},i));return}const l=j.match(/^\s*\d+\.\s+(.*)$/);if(l){m.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:F(l[1],i)},i));return}h(i),s.push(e.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:F(j,i)},i))}),h("end"),g!==null&&s.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:g.join(` -`)},"code-end")),e.jsx("div",{className:S("max-w-3xl",c),children:s})}function F(r,c){return r.split(/(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((s,m)=>{const g=`${c}-${m}`;return/^\*\*[^*]+\*\*$/.test(s)?e.jsx("b",{className:"font-semibold text-foreground",children:s.slice(2,-2)},g):/^\*[^*]+\*$/.test(s)?e.jsx("i",{children:s.slice(1,-1)},g):/^`[^`]+`$/.test(s)?e.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-foreground/90",children:s.slice(1,-1)},g):e.jsx("span",{children:s},g)})}const Te={triage:{label:"wird ausgearbeitet …",cls:"text-violet-300 border-violet-500/40 bg-violet-500/10",spin:!0},todo:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},scheduled:{label:"geplant",cls:"text-muted-foreground border-border/60 bg-background/30"},ready:{label:"gleich dran",cls:"text-sky-300/80 border-sky-500/30 bg-sky-500/5"},running:{label:"in Arbeit …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},review:{label:"im Review",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},blocked:{label:"hängt — braucht dich",cls:"text-red-300 border-red-500/40 bg-red-500/10"},done:{label:"fertig ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"}},Ve={box:{label:"BOX",icon:X,cls:"border-border/60 bg-background/40 text-muted-foreground",title:"Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live."},idee:{label:"IDEE",icon:O,cls:"border-sky-500/40 bg-sky-500/10 text-sky-300",title:"Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird."},projekt:{label:"IDE",icon:ee,cls:"border-violet-500/40 bg-violet-500/10 text-violet-300",title:"IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in der Agentic IDE."}},_e={needs_input:"Die Box hat eine Frage:",capability:"Die Box kam hier nicht weiter:",transient:"Die Aufgabe hakt:"},be="mc_ideen_quote";function ke(){try{const r=JSON.parse(localStorage.getItem(be)||"{}");return{gesendet:Number(r.gesendet)||0,geaendert:Number(r.geaendert)||0}}catch{return{gesendet:0,geaendert:0}}}function ge(r){try{const c=ke();c[r]+=1,localStorage.setItem(be,JSON.stringify(c))}catch{}}function qe(){var ie,le;const{data:r,isLoading:c}=ve(),k=Se(),{showAlert:s,showConfirm:m,dialogElement:g}=De(),[h,p]=d.useState(""),[o,i]=d.useState("denken"),[j,w]=d.useState("schlank"),[y,l]=d.useState(!1),[N,u]=d.useState(!1),L=o!=="box",V=o==="repo",[K,je]=d.useState("lxc"),[Z,te]=d.useState(!1),[v,E]=d.useState({}),[B,Ne]=d.useState(null),[H,we]=d.useState(null),[J,re]=d.useState({}),P=(r==null?void 0:r.items)??[],W=()=>k.invalidateQueries({queryKey:Ae.ideen});d.useEffect(()=>{const t=h.trim();if(t.length<12){u(!1);return}let n=!1;const x=setTimeout(async()=>{try{const f=await z("/api/ideen/einordnen",{method:"POST",body:JSON.stringify({text:t})});if(n||!(f!=null&&f.ok))return;i(f.nur_denken?"denken":f.wer==="ide"?"repo":"box"),f.tiefe&&w(f.tiefe),u(!0)}catch{}},700);return()=>{n=!0,clearTimeout(x)}},[h]);const se=B!==null&&(((ie=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:ie.status)==="triage"||((le=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:le.status)==="running"),I=Ke(B??"",se);async function ne(){const t=h.trim();if(!(t.length<3||Z)){te(!0);try{const n=t.length>160?t.slice(0,157)+"…":t;await z("/api/ideen",{method:"POST",body:JSON.stringify({titel:n,notiz:t.length>160?t:"",welt:L?"ide":"box",tiefe:V?j==="gruendlich"?"gruendlich":"simpel":"",ziel:V?K:"",art:o==="denken"?"idee":"projekt"})}),ge("gesendet"),p(""),u(!1),l(!1),W()}catch(n){s("Das hat nicht geklappt",String((n==null?void 0:n.message)||n))}finally{te(!1)}}}function ae(t,n,x){m(`${n} fertige Karte${n===1?"":"n"} wegräumen?`,`${x} verschwindet aus der Liste. Gelöscht wird nichts — die Karten wandern ins Archiv der Queue und bleiben dort lesbar. Laufende, hängende und wartende Karten bleiben unberührt.`,async()=>{var b;const f="arch:"+(t||"*");E(a=>({...a,[f]:!0}));try{const a=await z("/api/ideen/archivieren-alle",{method:"POST",body:JSON.stringify({projekt:t})});(b=a.fehlgeschlagen)!=null&&b.length&&s("Teilweise erledigt",`${a.archiviert} weggeräumt, ${a.fehlgeschlagen.length} nicht: `+a.fehlgeschlagen.map(A=>A.titel).join(", ")),W()}catch(a){s("Das hat nicht geklappt",String((a==null?void 0:a.message)||a))}finally{E(a=>({...a,[f]:!1}))}})}async function ye(t){E(n=>({...n,[t]:!0}));try{await z("/api/ideen/archivieren",{method:"POST",body:JSON.stringify({id:t})}),W()}catch(n){s("Das hat nicht geklappt",String((n==null?void 0:n.message)||n))}finally{E(n=>({...n,[t]:!1}))}}async function _(t,n,x,f){E(b=>({...b,[t+n]:!0}));try{await z(x,{method:"POST",body:JSON.stringify(f)}),W()}catch(b){s("Das hat nicht geklappt",String((b==null?void 0:b.message)||b))}finally{E(b=>({...b,[t+n]:!1}))}}async function oe(t){const n=(J[t]||"").trim();if(!(n.length<1||v["ans:"+t])){E(x=>({...x,["ans:"+t]:!0}));try{await z("/api/ideen/antwort",{method:"POST",body:JSON.stringify({id:t,antwort:n})}),re(x=>({...x,[t]:""})),W()}catch(x){s("Das hat nicht geklappt",String((x==null?void 0:x.message)||x))}finally{E(x=>({...x,["ans:"+t]:!1}))}}}const q=t=>{var ce,ue;const n=Te[t.status]??{label:t.status,cls:"text-muted-foreground border-border/60 bg-background/30"},x=B===t.id,f=t.status==="triage"||t.status==="running"||t.status==="done",b=t.status==="blocked",a=!!v["ans:"+t.id],A=t.status==="running"&&(t.puls_alter??0)>600,de=t.status==="todo"||t.status==="ready"||t.status==="scheduled";return e.jsxs("li",{className:S("flex flex-col gap-2 rounded-xl border bg-background/30 px-3 py-2",b?"border-red-500/30":A?"border-amber-500/40":"border-border/40"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:S("flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",n.cls),children:[n.spin&&e.jsx(D,{className:"h-3 w-3 animate-spin"}),n.label]}),A&&e.jsxs("span",{className:"flex shrink-0 items-center gap-1 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold text-amber-300",title:"Der Worker lebt, gibt aber kein Lebenszeichen mehr — vermutlich wartet er auf etwas, das nie kommt. „Neuer Versuch“ startet die Karte frisch.",children:[e.jsx(ze,{className:"h-3 w-3"})," ",Math.round((t.puls_alter??0)/60)," min ohne Regung"]}),(t.prio??0)!==0&&e.jsxs("span",{className:"shrink-0 rounded bg-background/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",title:"Priorität — höher kommt zuerst dran (bei gleicher Prio: Erstellzeit)",children:["P",t.prio]}),(()=>{const C=Ve[t.art||(t.welt==="ide"?"projekt":"box")];if(!C)return null;const M=C.icon;return e.jsxs("span",{className:S("flex shrink-0 items-center gap-1 rounded-lg border px-2 py-0.5 text-[10px] font-bold",C.cls),title:C.title,children:[e.jsx(M,{className:"h-3 w-3"})," ",C.label]})})(),e.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-foreground",title:t.titel,children:t.titel}),e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(he,{className:"h-3 w-3"}),Ee(t.erstellt)]}),de&&e.jsxs("span",{className:"flex shrink-0 items-center",children:[e.jsx("button",{disabled:!!v["pr:"+t.id],onClick:()=>_("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"hoch"}),title:"Vorziehen (Prio +1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx($e,{className:"h-3.5 w-3.5"})}),e.jsx("button",{disabled:!!v["pr:"+t.id],onClick:()=>_("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"runter"}),title:"Zurückstellen (Prio −1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(Re,{className:"h-3.5 w-3.5"})})]}),(t.status==="running"||b)&&e.jsx("button",{disabled:!!v["rt:"+t.id],onClick:()=>m("Neuer Versuch?",t.status==="running"?`Der laufende Worker von '${t.titel.slice(0,60)}' wird beendet (samt gestarteter Test-Prozesse) und die Karte frisch gestartet. Bisheriger Zwischenstand im Workspace bleibt liegen.`:`Die Karte '${t.titel.slice(0,60)}' wird entsperrt und läuft weiter, sobald ein Platz frei ist.`,()=>_("rt:",t.id,"/api/ideen/retry",{id:t.id})),title:"Neuer Versuch — Karte frisch starten",className:S("shrink-0 rounded-md p-1 transition-colors cursor-pointer disabled:opacity-50",A?"text-amber-300 hover:text-amber-200":"text-muted-foreground/60 hover:text-foreground"),children:v["rt:"+t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(We,{className:"h-3.5 w-3.5"})}),(t.status==="running"||de||t.status==="triage")&&e.jsx("button",{disabled:!!v["st:"+t.id],onClick:()=>m("Karte stoppen?",`'${t.titel.slice(0,60)}' wird angehalten${t.status==="running"?" und der laufende Worker beendet":""}. Sie bleibt als gestoppt im Board und kann jederzeit per „Neuer Versuch“ weiterlaufen.`,()=>_("st:",t.id,"/api/ideen/stopp",{id:t.id})),title:"Stoppen — Karte anhalten",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-red-300 cursor-pointer disabled:opacity-50",children:v["st:"+t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Ie,{className:"h-3.5 w-3.5"})}),(t.status==="done"||b)&&e.jsx("button",{disabled:!!v[t.id],onClick:()=>ye(t.id),title:b?"Aufgeben und aus der Liste räumen (wandert ins Kanban-Archiv)":"Aus der Liste räumen (wandert ins Kanban-Archiv)",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:v[t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"})}),t.welt==="ide"&&(t.status==="running"||t.status==="done")&&e.jsxs("button",{onClick:()=>we(H===t.id?null:t.id),title:"Konzept ansehen (das ausgearbeitete KONZEPT.md)",className:S("flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 text-[10px] font-bold transition-colors cursor-pointer",H===t.id?"text-violet-300":"text-violet-300/70 hover:text-violet-200"),children:[e.jsx(pe,{className:"h-3.5 w-3.5"})," Konzept"]}),f&&e.jsx("button",{onClick:()=>Ne(x?null:t.id),title:t.status==="done"?"Ergebnis anzeigen":"Worker-Log anzeigen",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer",children:x?e.jsx(U,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"})})]}),H===t.id&&e.jsx(Ge,{id:t.id,istIdee:t.art==="idee"&&t.status==="done",onWeiter:W}),t.status==="running"&&t.notiz&&e.jsxs("p",{className:"-mt-1 ml-1 text-[11px] italic leading-relaxed text-sky-200/80",title:"Jüngste Zwischenmeldung des Workers (Heartbeat)",children:["„",t.notiz,"“"]}),(t.status==="todo"||t.status==="scheduled"||t.status==="ready")&&(((ce=t.wartet_auf)==null?void 0:ce.length)??0)>0&&e.jsxs("p",{className:"-mt-1 ml-1 text-[10px] text-muted-foreground/70",children:["→ wartet auf: ",t.wartet_auf.join(" · ")]}),b&&e.jsxs("div",{className:"space-y-2 border-t border-red-500/20 pt-2",children:[e.jsxs("p",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-red-200/90",children:[e.jsx(xe,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-red-300"}),e.jsxs("span",{children:[e.jsx("b",{children:_e[t.frage_kind||""]??"Die Aufgabe hängt und wartet auf dich:"})," ",t.frage?e.jsx("span",{className:"text-foreground/90",children:t.frage}):e.jsx("span",{className:"text-muted-foreground italic",children:"kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter."})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:J[t.id]||"",onChange:C=>re(M=>({...M,[t.id]:C.target.value})),onKeyDown:C=>{C.key==="Enter"&&oe(t.id)},placeholder:"Deine Antwort — die Box macht damit weiter",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>oe(t.id),disabled:a||(J[t.id]||"").trim().length<1,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[a?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(me,{className:"h-3.5 w-3.5"})," Antworten & weiter"]})]})]}),x&&f&&t.status!=="done"&&e.jsx("div",{className:"ml-2 -mt-1",children:e.jsx("div",{className:"rounded-lg border border-border/50 bg-background/50 p-2",children:se&&I.isLoading?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Log wird geladen …"}):I.error?e.jsx("p",{className:"text-[10px] text-red-400",children:"Log nicht ladbar"}):(ue=I.data)!=null&&ue.available&&I.data.lines.length>0?e.jsx("pre",{className:"max-h-64 overflow-auto font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap",children:I.data.lines.join(` -`)}):e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Kein Log verfügbar"})})}),x&&t.status==="done"&&e.jsx(He,{id:t.id})]},t.id)};return r&&!r.available?null:e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(Le,{icon:O,children:(()=>{if(!r)return"Ideen-Queue";const t=x=>P.filter(f=>x.includes(f.status)).length,n=[t(["blocked"])>0?`${t(["blocked"])} braucht dich`:"",t(["running","triage","review"])>0?`${t(["running","triage","review"])} in Arbeit`:"",t(["todo","scheduled","ready"])>0?`${t(["todo","scheduled","ready"])} wartet`:"",t(["done"])>0?`${t(["done"])} fertig`:""].filter(Boolean);return n.length?n.join(" · "):"noch nichts in der Queue"})()}),(()=>{const t=P.filter(n=>n.status==="done").length;return t===0?null:e.jsxs("button",{disabled:!!v["arch:*"],onClick:()=>ae("",t,`Alle ${t} fertigen Karten`),title:"Räumt ALLE fertigen Karten weg — auch die in abgeschlossenen Projekt-Ketten. Laufende, hängende und wartende bleiben unberührt.",className:"flex shrink-0 items-center gap-1.5 rounded-lg border border-border/60 px-2.5 py-1 text-[11px] font-semibold text-muted-foreground transition-all hover:border-primary/40 hover:text-foreground disabled:opacity-50 cursor-pointer",children:[v["arch:*"]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"}),t," fertige wegräumen"]})})()]}),e.jsxs("div",{className:"mc-card p-4 space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:h,onChange:t=>{p(t.target.value),u(!1)},onKeyDown:t=>{t.key==="Enter"&&ne()},placeholder:"Was soll entstehen?",className:"h-10 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"}),e.jsxs("button",{onClick:ne,disabled:Z||h.trim().length<3,className:"flex h-10 shrink-0 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-4 text-xs font-semibold text-primary transition-all hover:bg-primary/20 disabled:opacity-40 cursor-pointer",children:[Z?e.jsx(D,{className:"h-4 w-4 animate-spin"}):e.jsx(me,{className:"h-4 w-4"}),"Los"]})]}),y?e.jsxs("div",{className:"space-y-3 rounded-xl border border-border/40 bg-background/20 p-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1.5 text-[11px] text-muted-foreground/70",children:"Wer baut das?"}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsx(G,{aktiv:o!=="box",onWahl:()=>i(o==="box"?"denken":o),k:{id:"ide",icon:ee,titel:"Ich, in der Agentic IDE",text:"Du bekommst Konzept und Repo — den Code schreibst du selbst."}}),e.jsx(G,{aktiv:o==="box",onWahl:()=>i("box"),k:{id:"box",icon:X,titel:"Die Box, allein",text:"Für dein Heimlabor. Das Ergebnis kommt als Patch-Vorschlag ins Auftragsbuch."}})]})]}),o!=="box"&&e.jsxs("div",{className:"border-l-2 border-primary/40 pl-3",children:[e.jsx("p",{className:"mb-1.5 text-[11px] text-muted-foreground/70",children:"Und wie startest du?"}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsx(G,{aktiv:o==="denken",onWahl:()=>i("denken"),k:{id:"denken",icon:O,titel:"Erst durchdenken",text:"Konzept zuerst — auf dein Ja wird ein Repo daraus."}}),e.jsx(G,{aktiv:o==="repo",onWahl:()=>i("repo"),k:{id:"repo",icon:Y,titel:"Direkt ein Repo",text:"Konzept und Gitea-Repo in einem Zug."}})]}),o==="repo"?e.jsxs("div",{className:"mt-2.5 flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Wie gründlich?"}),e.jsx("div",{className:"flex rounded-lg border border-border/60 p-0.5",children:[["schlank","schlank"],["gruendlich","gründlich"]].map(([t,n])=>e.jsx("button",{onClick:()=>w(t),className:S("rounded px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",j===t?"bg-primary/15 text-primary":"text-muted-foreground/60 hover:text-foreground"),children:n},t))}),e.jsxs("span",{className:"ml-auto flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Läuft als"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:[["lxc","LXC"],["docker","Docker"]].map(([t,n])=>e.jsx("button",{onClick:()=>je(t),title:t==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker). Wird vom Backup-Server mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",K===t?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:n},t))})]})]}):e.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[10px] leading-relaxed text-muted-foreground/60",children:[e.jsx(xe,{className:"mt-px h-3 w-3 shrink-0"}),'Wie gründlich und wo es läuft, fragt die Box erst beim „gefällt mir" — dann weißt du mehr.']})]}),(()=>{const t=ke();return t.gesendet<3?null:e.jsxs("p",{className:"border-t border-border/30 pt-2 text-[10px] text-muted-foreground/50",children:["Du hast ",t.geaendert," von ",t.gesendet," Vorschlägen geändert. Wird das die Regel, bauen wir hier einen richtigen Schritt-für-Schritt-Assistenten."]})})()]}):e.jsxs("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/40 bg-background/20 px-3 py-2.5 text-xs",children:[o==="box"?e.jsx(X,{className:"h-4 w-4 shrink-0 text-primary"}):o==="repo"?e.jsx(Y,{className:"h-4 w-4 shrink-0 text-primary"}):e.jsx(O,{className:"h-4 w-4 shrink-0 text-primary"}),!N&&e.jsx("span",{className:"shrink-0 text-[10px] uppercase tracking-wider text-muted-foreground/50",children:"Voreingestellt"}),e.jsx("span",{className:"text-muted-foreground",children:o==="box"?"Ich baue das selbst und lege dir das Ergebnis als Vorschlag hin.":o==="repo"?"Du baust selbst — ich lege dir Konzept und Repo an.":"Du baust selbst — ich arbeite erst ein Konzept aus."}),N&&e.jsx("span",{className:"shrink-0 rounded border border-primary/40 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold text-primary",children:"gelesen"}),e.jsx("button",{onClick:()=>{l(!0),ge("geaendert")},className:"ml-auto shrink-0 text-[11px] text-muted-foreground/60 underline underline-offset-2 transition-colors hover:text-foreground cursor-pointer",children:"anders"})]}),c&&e.jsxs("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"})," Queue wird geladen …"]}),(r==null?void 0:r.fehler)&&e.jsx("p",{className:"text-xs text-amber-300",children:"Queue gerade nicht lesbar — neuer Versuch läuft."}),P.length>0&&e.jsxs("div",{className:"space-y-3",children:[((r==null?void 0:r.projekte)??[]).map(t=>e.jsx(Fe,{projekt:t,karten:P.filter(n=>n.projekt===t.key),zeile:q,onArchivAlle:ae,raeumt:!!v["arch:"+t.key]},t.key)),(()=>{const t=new Set(((r==null?void 0:r.projekte)??[]).map(a=>a.key)),n=P.filter(a=>!a.projekt||!t.has(a.projekt));if(n.length===0)return null;const x=n.filter(a=>R[a.status]!==void 0).sort((a,A)=>R[a.status]-R[A.status]||(a.erstellt??0)-(A.erstellt??0)),f=n.filter(a=>["todo","scheduled"].includes(a.status)),b=n.filter(a=>a.status==="done");return e.jsxs("div",{className:"space-y-2",children:[x.length>0&&e.jsx("ul",{className:"space-y-1.5",children:x.map(a=>q(a))}),f.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(T,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(he,{className:"h-3 w-3"})," Wartet (",f.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:f.map(a=>q(a))})]}),b.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(T,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(Ce,{className:"h-3 w-3 text-emerald-400/70"})," Fertig (",b.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:b.map(a=>q(a))})]})]})})()]}),(r==null?void 0:r.available)&&!c&&P.length===0&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Noch nichts hier. Zum Beispiel:"}),["Ein kleines Werkzeug, das meine Fotos nach Aufnahmedatum in Ordner sortiert","Rippy soll die Untertitel-Spur automatisch auswählen statt zu fragen","Lohnt sich ein Dashboard für die Stromzähler, oder reicht Home Assistant?"].map(t=>e.jsxs("button",{onClick:()=>p(t),className:"flex w-full items-center gap-2 rounded-lg border border-border/40 bg-background/20 px-3 py-2 text-left text-xs text-muted-foreground transition-all hover:border-primary/40 hover:text-foreground cursor-pointer",children:[e.jsx(O,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/50"}),t]},t))]})]}),g]})}function G({k:r,aktiv:c,onWahl:k}){return e.jsxs("button",{onClick:k,className:S("rounded-xl border p-3 text-left transition-all cursor-pointer",c?"border-primary/60 bg-primary/5":"border-border/50 hover:border-border"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r.icon,{className:S("h-4 w-4 shrink-0",c?"text-primary":"text-muted-foreground")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:r.titel})]}),e.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:r.text})]})}const R={blocked:0,running:1,review:2,ready:3,triage:4};function Fe({projekt:r,karten:c,zeile:k,onArchivAlle:s,raeumt:m}){const[g,h]=d.useState(!1),[p,o]=d.useState(!1),i=c.filter(l=>R[l.status]!==void 0).sort((l,N)=>R[l.status]-R[N.status]||(l.erstellt??0)-(N.erstellt??0)),j=c.filter(l=>l.status==="todo"||l.status==="scheduled").sort((l,N)=>{var u,L;return((u=l.wartet_auf)!=null&&u.length?1:0)-((L=N.wartet_auf)!=null&&L.length?1:0)||(l.erstellt??0)-(N.erstellt??0)}),w=c.filter(l=>l.status==="done").sort((l,N)=>(N.fertig??0)-(l.fertig??0)),y=r.gesamt>0?Math.round(r.fertig/r.gesamt*100):0;return e.jsxs("div",{className:"space-y-2 rounded-xl border border-border/50 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Pe,{className:"h-4 w-4 shrink-0 text-primary/70"}),e.jsx("p",{className:"min-w-0 flex-1 truncate text-xs font-semibold text-foreground",title:r.titel,children:r.titel}),e.jsxs("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:[r.fertig," von ",r.gesamt," fertig"]})]}),e.jsx("div",{className:"h-1 overflow-hidden rounded-full bg-background/60",title:`${y}%`,children:e.jsx("div",{className:"h-1 rounded-full bg-primary/70 transition-all",style:{width:`${y}%`}})}),i.length>0&&e.jsx("ul",{className:"space-y-1.5",children:i.map(l=>k(l))}),j.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>h(l=>!l),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[g?e.jsx(U,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),j.length," Karte",j.length===1?"":"n"," in der Kette — laufen automatisch der Reihe nach"]}),g&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:j.map(l=>k(l))})]}),w.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:()=>o(l=>!l),className:"flex items-center gap-1.5 text-[11px] font-semibold text-emerald-300/70 hover:text-emerald-300 transition-colors cursor-pointer",children:[p?e.jsx(U,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),w.length," fertig"]}),s&&e.jsxs("button",{disabled:m,onClick:()=>s(r.key,w.length,`„${r.titel}"`),title:"Räumt die fertigen Karten dieser Kette weg (Archiv, nichts wird gelöscht).",className:"flex items-center gap-1 text-[11px] text-muted-foreground/60 transition-colors hover:text-foreground disabled:opacity-50 cursor-pointer",children:[m?e.jsx(D,{className:"h-3 w-3 animate-spin"}):e.jsx(Q,{className:"h-3 w-3"}),"wegräumen"]})]}),p&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:w.map(l=>k(l))})]})]})}function Ge({id:r,istIdee:c,onWeiter:k}){const[s,m]=d.useState(null),[g,h]=d.useState(!1),[p,o]=d.useState(0);return d.useEffect(()=>{let i=!1;return m(null),h(!1),z(`/api/ideen/${r}/konzept`).then(j=>{i||m(j)}).catch(()=>{i||h(!0)}),()=>{i=!0}},[r,p]),e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-violet-500/25 bg-violet-500/[0.04] p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-violet-300",children:[e.jsx(pe,{className:"h-3 w-3"})," Konzept"]}),(s==null?void 0:s.repo)&&e.jsxs("a",{href:`https://git.tobisniceshomelab.ddnsfree.com/${s.repo}`,className:"flex items-center gap-1 text-[10px] text-violet-300/70 hover:text-violet-200",children:[e.jsx(Y,{className:"h-3 w-3"})," ",s.repo]}),!(s!=null&&s.repo)&&(s==null?void 0:s.quelle)==="datei"&&e.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/70",title:"Der Worker hat kein Repo angelegt — das Konzept liegt als Datei auf der Box.",children:s.pfad}),e.jsx("button",{onClick:()=>o(i=>i+1),title:"Neu laden",className:"ml-auto rounded p-0.5 text-muted-foreground/50 hover:text-foreground cursor-pointer",children:e.jsx(fe,{className:"h-3 w-3"})})]}),g?e.jsx("p",{className:"text-[11px] text-red-400",children:"Konzept nicht ladbar — später nochmal versuchen."}):s===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Konzept wird geladen …"}):s.konzept?e.jsx("div",{className:"max-h-[28rem] overflow-y-auto pr-1",children:e.jsx(Oe,{text:s.konzept})}):e.jsx("p",{className:"text-[11px] text-muted-foreground italic",children:s.error||"Noch kein Konzept — das Projekt wird gerade vorbereitet."}),c&&(s==null?void 0:s.konzept)&&e.jsx(Ze,{id:r,onFertig:k})]})})}function Ze({id:r,onFertig:c}){const[k,s]=d.useState("lxc"),[m,g]=d.useState("simpel"),[h,p]=d.useState(!1),[o,i]=d.useState(null),[j,w]=d.useState(""),[y,l]=d.useState(""),N=async(u,L,V)=>{p(!0),w("");try{const K=await z(u,{method:"POST",body:JSON.stringify(L)});i({id:K.id,art:V}),c==null||c()}catch(K){w(String((K==null?void 0:K.message)||K))}finally{p(!1)}};return o?e.jsx("p",{className:"mt-3 border-t border-violet-500/20 pt-2 text-[11px] text-emerald-300",children:o.art==="projekt"?e.jsxs(e.Fragment,{children:["Projekt-Karte ",e.jsx("span",{className:"font-mono",children:o.id})," ist angelegt — die Box bereitet das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in der Agentic IDE."]}):e.jsxs(e.Fragment,{children:["Überarbeitung ",e.jsx("span",{className:"font-mono",children:o.id}),' läuft — die Box arbeitet deine Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder „Konzept" öffnen.']})}):e.jsxs("div",{className:"mt-3 space-y-3 border-t border-violet-500/20 pt-2.5",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-sky-300/90",children:"Passt etwas nicht?"})," Schreib hin, was anders werden soll — die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar."]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:y,onChange:u=>l(u.target.value),onKeyDown:u=>{u.key==="Enter"&&y.trim().length>=3&&!h&&N("/api/ideen/nachschaerfen",{id:r,hinweis:y},"runde")},placeholder:"z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>N("/api/ideen/nachschaerfen",{id:r,hinweis:y},"runde"),disabled:h||y.trim().length<3,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-sky-500/40 bg-sky-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-sky-300 transition-all hover:bg-sky-500/20 cursor-pointer disabled:opacity-50",children:[h?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(fe,{className:"h-3.5 w-3.5"}),"Nachschärfen"]})]})]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-violet-300/90",children:"Passt es so?"})," Dann macht die Box daraus ein startklares Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. Gebaut wird danach von dir in der Agentic IDE."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["lxc","docker"].map(u=>e.jsx("button",{onClick:()=>s(u),title:u==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker) — wird automatisch mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",k===u?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:u==="lxc"?"LXC":"Docker"},u))}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Aufwand"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["simpel","gruendlich"].map(u=>e.jsx("button",{onClick:()=>g(u),title:u==="simpel"?"Konzept ist schon gehärtet — nur kurz auf die Bau-Sicht nachschärfen (empfohlen).":"Nochmal volle Kaskade über die Bau-Sicht: mehrere Rollen, Härtetests. Dauert entsprechend.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",m===u?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:u==="simpel"?"schlank":"gründlich"},u))}),e.jsxs("button",{onClick:()=>N("/api/ideen/weiterfuehren",{id:r,ziel:k,tiefe:m},"projekt"),disabled:h,className:"ml-auto flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[h?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ee,{className:"h-3.5 w-3.5"}),"Gefällt mir — Projekt daraus machen"]})]}),j&&e.jsx("p",{className:"text-[11px] text-red-400",children:j})]})}function He({id:r}){const[c,k]=d.useState(null),[s,m]=d.useState(!1),[g,h]=d.useState(0);d.useEffect(()=>{let o=!1;return m(!1),k(null),z(`/api/ideen/${r}/ergebnis`).then(i=>{o||k(i)}).catch(()=>{o||m(!0)}),()=>{o=!0}},[r,g]);const p=c?c.summary||c.result:"";return e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-emerald-500/25 bg-emerald-500/5 p-2.5",children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-emerald-300",children:[e.jsx(Be,{className:"h-3 w-3"})," Ergebnis des Workers"]}),s?e.jsx("button",{type:"button",onClick:()=>h(o=>o+1),className:"text-[10px] text-red-400 underline decoration-dotted underline-offset-2 hover:text-red-300",children:"Ergebnis nicht ladbar — nochmal versuchen"}):c===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Wird geladen …"}):p?e.jsx("p",{className:"max-h-64 overflow-y-auto whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:p}):e.jsx("p",{className:"text-[10px] text-muted-foreground italic",children:"Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß)."})]})})}function et(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Ideen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Schreib hin, was entstehen soll. Die Box liest mit und schlägt vor, wie es weitergeht — ändern kannst du das immer."})]}),e.jsx(qe,{})]})}export{et as IdeenView}; + */const Ve=R("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);function _e({text:r,className:d}){const k=(r||"").split(` +`),n=[];let m=[],p=null;const h=g=>{m.length&&(n.push(e.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:m},g)),m=[])};return k.forEach((g,o)=>{const i=`l${o}`;if(p!==null){g.trimEnd()==="```"?(n.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:p.join(` +`)},i)),p=null):p.push(g);return}if(g.trimStart().startsWith("```")){h(i),p=[];return}const j=g.trimEnd();if(!j.trim()){h(i);return}const w=j.match(/^(#{1,4})\s+(.*)$/);if(w){h(i);const N=w[1].length,c=N===1?"text-base font-bold mt-1 mb-2":N===2?"text-sm font-bold mt-4 mb-1.5":"text-xs font-bold mt-3 mb-1 uppercase tracking-wide text-muted-foreground";n.push(e.jsx("p",{className:S(c,"font-space text-foreground"),children:F(w[2],i)},i));return}const y=j.match(/^\s*[-*•]\s+(.*)$/);if(y){m.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:F(y[1],i)},i));return}const l=j.match(/^\s*\d+\.\s+(.*)$/);if(l){m.push(e.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:F(l[1],i)},i));return}h(i),n.push(e.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:F(j,i)},i))}),h("end"),p!==null&&n.push(e.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:p.join(` +`)},"code-end")),e.jsx("div",{className:S("max-w-3xl",d),children:n})}function F(r,d){return r.split(/(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((n,m)=>{const p=`${d}-${m}`;return/^\*\*[^*]+\*\*$/.test(n)?e.jsx("b",{className:"font-semibold text-foreground",children:n.slice(2,-2)},p):/^\*[^*]+\*$/.test(n)?e.jsx("i",{children:n.slice(1,-1)},p):/^`[^`]+`$/.test(n)?e.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-foreground/90",children:n.slice(1,-1)},p):e.jsx("span",{children:n},p)})}const qe={triage:{label:"wird ausgearbeitet …",cls:"text-violet-300 border-violet-500/40 bg-violet-500/10",spin:!0},todo:{label:"wartet",cls:"text-muted-foreground border-border/60 bg-background/30"},scheduled:{label:"geplant",cls:"text-muted-foreground border-border/60 bg-background/30"},ready:{label:"gleich dran",cls:"text-sky-300/80 border-sky-500/30 bg-sky-500/5"},running:{label:"in Arbeit …",cls:"text-sky-300 border-sky-500/40 bg-sky-500/10",spin:!0},review:{label:"im Review",cls:"text-amber-300 border-amber-500/40 bg-amber-500/10"},blocked:{label:"hängt — braucht dich",cls:"text-red-300 border-red-500/40 bg-red-500/10"},done:{label:"fertig ✓",cls:"text-emerald-300 border-emerald-500/40 bg-emerald-500/10"}},Fe={box:{label:"BOX",icon:U,cls:"border-border/60 bg-background/40 text-muted-foreground",title:"Box-Welt: die Werkstatt baut das selbst. Das Ergebnis kommt als Patch-Vorschlag zurück — nichts geht ohne deinen Klick live."},idee:{label:"IDEE",icon:O,cls:"border-sky-500/40 bg-sky-500/10 text-sky-300",title:"Nur durchdacht: die Box hat die Produkt-Idee mit voller Denk-Kaskade zu einem Konzept ausgearbeitet. Kein Gerüst, kein Bau — du liest es und entscheidest, ob ein Projekt draus wird."},projekt:{label:"IDE",icon:ee,cls:"border-violet-500/40 bg-violet-500/10 text-violet-300",title:"IDE-Welt: die Box bereitet nur vor (Konzept + Repo + Doku, kein Code). Gebaut wird von dir in der Agentic IDE."}},Ge={needs_input:"Die Box hat eine Frage:",capability:"Die Box kam hier nicht weiter:",transient:"Die Aufgabe hakt:"},be="mc_ideen_quote";function ke(){try{const r=JSON.parse(localStorage.getItem(be)||"{}");return{gesendet:Number(r.gesendet)||0,geaendert:Number(r.geaendert)||0}}catch{return{gesendet:0,geaendert:0}}}function pe(r){try{const d=ke();d[r]+=1,localStorage.setItem(be,JSON.stringify(d))}catch{}}function Ze(){var ie,le;const{data:r,isLoading:d}=Se(),k=De(),{showAlert:n,showConfirm:m,dialogElement:p}=Ce(),[h,g]=u.useState(""),[o,i]=u.useState("denken"),[j,w]=u.useState("schlank"),[y,l]=u.useState(!1),[N,c]=u.useState(!1),L=o!=="box",V=o==="repo",[C,je]=u.useState("lxc"),[Z,te]=u.useState(!1),[v,E]=u.useState({}),Ne=Ke(),B=ze({from:"/ideen"}).offen??null,we=t=>Ne({to:"/ideen",search:s=>({...s,offen:t??void 0}),replace:!0}),[H,ye]=u.useState(null),[J,re]=u.useState({}),P=(r==null?void 0:r.items)??[],W=()=>k.invalidateQueries({queryKey:$e.ideen});u.useEffect(()=>{const t=h.trim();if(t.length<12){c(!1);return}let s=!1;const x=setTimeout(async()=>{try{const f=await z("/api/ideen/einordnen",{method:"POST",body:JSON.stringify({text:t})});if(s||!(f!=null&&f.ok))return;i(f.nur_denken?"denken":f.wer==="ide"?"repo":"box"),f.tiefe&&w(f.tiefe),c(!0)}catch{}},700);return()=>{s=!0,clearTimeout(x)}},[h]);const se=B!==null&&(((ie=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:ie.status)==="triage"||((le=r==null?void 0:r.items.find(t=>t.id===B))==null?void 0:le.status)==="running"),I=Ee(B??"",se);async function ne(){const t=h.trim();if(!(t.length<3||Z)){te(!0);try{const s=t.length>160?t.slice(0,157)+"…":t;await z("/api/ideen",{method:"POST",body:JSON.stringify({titel:s,notiz:t.length>160?t:"",welt:L?"ide":"box",tiefe:V?j==="gruendlich"?"gruendlich":"simpel":"",ziel:V?C:"",art:o==="denken"?"idee":"projekt"})}),pe("gesendet"),g(""),c(!1),l(!1),W()}catch(s){n("Das hat nicht geklappt",String((s==null?void 0:s.message)||s))}finally{te(!1)}}}function ae(t,s,x){m(`${s} fertige Karte${s===1?"":"n"} wegräumen?`,`${x} verschwindet aus der Liste. Gelöscht wird nichts — die Karten wandern ins Archiv der Queue und bleiben dort lesbar. Laufende, hängende und wartende Karten bleiben unberührt.`,async()=>{var b;const f="arch:"+(t||"*");E(a=>({...a,[f]:!0}));try{const a=await z("/api/ideen/archivieren-alle",{method:"POST",body:JSON.stringify({projekt:t})});(b=a.fehlgeschlagen)!=null&&b.length&&n("Teilweise erledigt",`${a.archiviert} weggeräumt, ${a.fehlgeschlagen.length} nicht: `+a.fehlgeschlagen.map(A=>A.titel).join(", ")),W()}catch(a){n("Das hat nicht geklappt",String((a==null?void 0:a.message)||a))}finally{E(a=>({...a,[f]:!1}))}})}async function ve(t){E(s=>({...s,[t]:!0}));try{await z("/api/ideen/archivieren",{method:"POST",body:JSON.stringify({id:t})}),W()}catch(s){n("Das hat nicht geklappt",String((s==null?void 0:s.message)||s))}finally{E(s=>({...s,[t]:!1}))}}async function _(t,s,x,f){E(b=>({...b,[t+s]:!0}));try{await z(x,{method:"POST",body:JSON.stringify(f)}),W()}catch(b){n("Das hat nicht geklappt",String((b==null?void 0:b.message)||b))}finally{E(b=>({...b,[t+s]:!1}))}}async function oe(t){const s=(J[t]||"").trim();if(!(s.length<1||v["ans:"+t])){E(x=>({...x,["ans:"+t]:!0}));try{await z("/api/ideen/antwort",{method:"POST",body:JSON.stringify({id:t,antwort:s})}),re(x=>({...x,[t]:""})),W()}catch(x){n("Das hat nicht geklappt",String((x==null?void 0:x.message)||x))}finally{E(x=>({...x,["ans:"+t]:!1}))}}}const q=t=>{var ce,ue;const s=qe[t.status]??{label:t.status,cls:"text-muted-foreground border-border/60 bg-background/30"},x=B===t.id,f=t.status==="triage"||t.status==="running"||t.status==="done",b=t.status==="blocked",a=!!v["ans:"+t.id],A=t.status==="running"&&(t.puls_alter??0)>600,de=t.status==="todo"||t.status==="ready"||t.status==="scheduled";return e.jsxs("li",{className:S("flex flex-col gap-2 rounded-xl border bg-background/30 px-3 py-2",b?"border-red-500/30":A?"border-amber-500/40":"border-border/40"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:S("flex shrink-0 items-center gap-1.5 rounded-lg border px-2 py-0.5 text-[10px] font-bold",s.cls),children:[s.spin&&e.jsx(D,{className:"h-3 w-3 animate-spin"}),s.label]}),A&&e.jsxs("span",{className:"flex shrink-0 items-center gap-1 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold text-amber-300",title:"Der Worker lebt, gibt aber kein Lebenszeichen mehr — vermutlich wartet er auf etwas, das nie kommt. „Neuer Versuch“ startet die Karte frisch.",children:[e.jsx(Le,{className:"h-3 w-3"})," ",Math.round((t.puls_alter??0)/60)," min ohne Regung"]}),(t.prio??0)!==0&&e.jsxs("span",{className:"shrink-0 rounded bg-background/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",title:"Priorität — höher kommt zuerst dran (bei gleicher Prio: Erstellzeit)",children:["P",t.prio]}),(()=>{const K=Fe[t.art||(t.welt==="ide"?"projekt":"box")];if(!K)return null;const M=K.icon;return e.jsxs("span",{className:S("flex shrink-0 items-center gap-1 rounded-lg border px-2 py-0.5 text-[10px] font-bold",K.cls),title:K.title,children:[e.jsx(M,{className:"h-3 w-3"})," ",K.label]})})(),e.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-foreground",title:t.titel,children:t.titel}),e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[10px] text-muted-foreground/70",children:[e.jsx(he,{className:"h-3 w-3"}),Pe(t.erstellt)]}),de&&e.jsxs("span",{className:"flex shrink-0 items-center",children:[e.jsx("button",{disabled:!!v["pr:"+t.id],onClick:()=>_("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"hoch"}),title:"Vorziehen (Prio +1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(Oe,{className:"h-3.5 w-3.5"})}),e.jsx("button",{disabled:!!v["pr:"+t.id],onClick:()=>_("pr:",t.id,"/api/ideen/prio",{id:t.id,richtung:"runter"}),title:"Zurückstellen (Prio −1)",className:"rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:e.jsx(Ie,{className:"h-3.5 w-3.5"})})]}),(t.status==="running"||b)&&e.jsx("button",{disabled:!!v["rt:"+t.id],onClick:()=>m("Neuer Versuch?",t.status==="running"?`Der laufende Worker von '${t.titel.slice(0,60)}' wird beendet (samt gestarteter Test-Prozesse) und die Karte frisch gestartet. Bisheriger Zwischenstand im Workspace bleibt liegen.`:`Die Karte '${t.titel.slice(0,60)}' wird entsperrt und läuft weiter, sobald ein Platz frei ist.`,()=>_("rt:",t.id,"/api/ideen/retry",{id:t.id})),title:"Neuer Versuch — Karte frisch starten",className:S("shrink-0 rounded-md p-1 transition-colors cursor-pointer disabled:opacity-50",A?"text-amber-300 hover:text-amber-200":"text-muted-foreground/60 hover:text-foreground"),children:v["rt:"+t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(We,{className:"h-3.5 w-3.5"})}),(t.status==="running"||de||t.status==="triage")&&e.jsx("button",{disabled:!!v["st:"+t.id],onClick:()=>m("Karte stoppen?",`'${t.titel.slice(0,60)}' wird angehalten${t.status==="running"?" und der laufende Worker beendet":""}. Sie bleibt als gestoppt im Board und kann jederzeit per „Neuer Versuch“ weiterlaufen.`,()=>_("st:",t.id,"/api/ideen/stopp",{id:t.id})),title:"Stoppen — Karte anhalten",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-red-300 cursor-pointer disabled:opacity-50",children:v["st:"+t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Ve,{className:"h-3.5 w-3.5"})}),(t.status==="done"||b)&&e.jsx("button",{disabled:!!v[t.id],onClick:()=>ve(t.id),title:b?"Aufgeben und aus der Liste räumen (wandert ins Kanban-Archiv)":"Aus der Liste räumen (wandert ins Kanban-Archiv)",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer disabled:opacity-50",children:v[t.id]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"})}),t.welt==="ide"&&(t.status==="running"||t.status==="done")&&e.jsxs("button",{onClick:()=>ye(H===t.id?null:t.id),title:"Konzept ansehen (das ausgearbeitete KONZEPT.md)",className:S("flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 text-[10px] font-bold transition-colors cursor-pointer",H===t.id?"text-violet-300":"text-violet-300/70 hover:text-violet-200"),children:[e.jsx(ge,{className:"h-3.5 w-3.5"})," Konzept"]}),f&&e.jsx("button",{onClick:()=>we(x?null:t.id),title:t.status==="done"?"Ergebnis anzeigen":"Worker-Log anzeigen",className:"shrink-0 rounded-md p-1 text-muted-foreground/60 transition-colors hover:text-foreground cursor-pointer",children:x?e.jsx(X,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"})})]}),H===t.id&&e.jsx(Je,{id:t.id,istIdee:t.art==="idee"&&t.status==="done",onWeiter:W}),t.status==="running"&&t.notiz&&e.jsxs("p",{className:"-mt-1 ml-1 text-[11px] italic leading-relaxed text-sky-200/80",title:"Jüngste Zwischenmeldung des Workers (Heartbeat)",children:["„",t.notiz,"“"]}),(t.status==="todo"||t.status==="scheduled"||t.status==="ready")&&(((ce=t.wartet_auf)==null?void 0:ce.length)??0)>0&&e.jsxs("p",{className:"-mt-1 ml-1 text-[10px] text-muted-foreground/70",children:["→ wartet auf: ",t.wartet_auf.join(" · ")]}),b&&e.jsxs("div",{className:"space-y-2 border-t border-red-500/20 pt-2",children:[e.jsxs("p",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-red-200/90",children:[e.jsx(xe,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-red-300"}),e.jsxs("span",{children:[e.jsx("b",{children:Ge[t.frage_kind||""]??"Die Aufgabe hängt und wartet auf dich:"})," ",t.frage?e.jsx("span",{className:"text-foreground/90",children:t.frage}):e.jsx("span",{className:"text-muted-foreground italic",children:"kein genauer Grund hinterlegt — antworte einfach mit einer Entscheidung, dann läuft sie weiter."})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:J[t.id]||"",onChange:K=>re(M=>({...M,[t.id]:K.target.value})),onKeyDown:K=>{K.key==="Enter"&&oe(t.id)},placeholder:"Deine Antwort — die Box macht damit weiter",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-red-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>oe(t.id),disabled:a||(J[t.id]||"").trim().length<1,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-emerald-500/40 bg-emerald-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-emerald-300 transition-all hover:bg-emerald-500/20 cursor-pointer disabled:opacity-50",children:[a?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(me,{className:"h-3.5 w-3.5"})," Antworten & weiter"]})]})]}),x&&f&&t.status!=="done"&&e.jsx("div",{className:"ml-2 -mt-1",children:e.jsx("div",{className:"rounded-lg border border-border/50 bg-background/50 p-2",children:se&&I.isLoading?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Log wird geladen …"}):I.error?e.jsx("p",{className:"text-[10px] text-red-400",children:"Log nicht ladbar"}):(ue=I.data)!=null&&ue.available&&I.data.lines.length>0?e.jsx("pre",{className:"max-h-64 overflow-auto font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap",children:I.data.lines.join(` +`)}):e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Kein Log verfügbar"})})}),x&&t.status==="done"&&e.jsx(Qe,{id:t.id})]},t.id)};return r&&!r.available?null:e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(Re,{icon:O,children:(()=>{if(!r)return"Ideen-Queue";const t=x=>P.filter(f=>x.includes(f.status)).length,s=[t(["blocked"])>0?`${t(["blocked"])} braucht dich`:"",t(["running","triage","review"])>0?`${t(["running","triage","review"])} in Arbeit`:"",t(["todo","scheduled","ready"])>0?`${t(["todo","scheduled","ready"])} wartet`:"",t(["done"])>0?`${t(["done"])} fertig`:""].filter(Boolean);return s.length?s.join(" · "):"noch nichts in der Queue"})()}),(()=>{const t=P.filter(s=>s.status==="done").length;return t===0?null:e.jsxs("button",{disabled:!!v["arch:*"],onClick:()=>ae("",t,`Alle ${t} fertigen Karten`),title:"Räumt ALLE fertigen Karten weg — auch die in abgeschlossenen Projekt-Ketten. Laufende, hängende und wartende bleiben unberührt.",className:"flex shrink-0 items-center gap-1.5 rounded-lg border border-border/60 px-2.5 py-1 text-[11px] font-semibold text-muted-foreground transition-all hover:border-primary/40 hover:text-foreground disabled:opacity-50 cursor-pointer",children:[v["arch:*"]?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(Q,{className:"h-3.5 w-3.5"}),t," fertige wegräumen"]})})()]}),e.jsxs("div",{className:"mc-card p-4 space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:h,onChange:t=>{g(t.target.value),c(!1)},onKeyDown:t=>{t.key==="Enter"&&ne()},placeholder:"Was soll entstehen?",className:"h-10 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/50 px-3 text-sm text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"}),e.jsxs("button",{onClick:ne,disabled:Z||h.trim().length<3,className:"flex h-10 shrink-0 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-4 text-xs font-semibold text-primary transition-all hover:bg-primary/20 disabled:opacity-40 cursor-pointer",children:[Z?e.jsx(D,{className:"h-4 w-4 animate-spin"}):e.jsx(me,{className:"h-4 w-4"}),"Los"]})]}),y?e.jsxs("div",{className:"space-y-3 rounded-xl border border-border/40 bg-background/20 p-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1.5 text-[11px] text-muted-foreground/70",children:"Wer baut das?"}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsx(G,{aktiv:o!=="box",onWahl:()=>i(o==="box"?"denken":o),k:{id:"ide",icon:ee,titel:"Ich, in der Agentic IDE",text:"Du bekommst Konzept und Repo — den Code schreibst du selbst."}}),e.jsx(G,{aktiv:o==="box",onWahl:()=>i("box"),k:{id:"box",icon:U,titel:"Die Box, allein",text:"Für dein Heimlabor. Das Ergebnis kommt als Patch-Vorschlag ins Auftragsbuch."}})]})]}),o!=="box"&&e.jsxs("div",{className:"border-l-2 border-primary/40 pl-3",children:[e.jsx("p",{className:"mb-1.5 text-[11px] text-muted-foreground/70",children:"Und wie startest du?"}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsx(G,{aktiv:o==="denken",onWahl:()=>i("denken"),k:{id:"denken",icon:O,titel:"Erst durchdenken",text:"Konzept zuerst — auf dein Ja wird ein Repo daraus."}}),e.jsx(G,{aktiv:o==="repo",onWahl:()=>i("repo"),k:{id:"repo",icon:Y,titel:"Direkt ein Repo",text:"Konzept und Gitea-Repo in einem Zug."}})]}),o==="repo"?e.jsxs("div",{className:"mt-2.5 flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Wie gründlich?"}),e.jsx("div",{className:"flex rounded-lg border border-border/60 p-0.5",children:[["schlank","schlank"],["gruendlich","gründlich"]].map(([t,s])=>e.jsx("button",{onClick:()=>w(t),className:S("rounded px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide transition-all cursor-pointer",j===t?"bg-primary/15 text-primary":"text-muted-foreground/60 hover:text-foreground"),children:s},t))}),e.jsxs("span",{className:"ml-auto flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Läuft als"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:[["lxc","LXC"],["docker","Docker"]].map(([t,s])=>e.jsx("button",{onClick:()=>je(t),title:t==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker). Wird vom Backup-Server mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",C===t?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:s},t))})]})]}):e.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[10px] leading-relaxed text-muted-foreground/60",children:[e.jsx(xe,{className:"mt-px h-3 w-3 shrink-0"}),'Wie gründlich und wo es läuft, fragt die Box erst beim „gefällt mir" — dann weißt du mehr.']})]}),(()=>{const t=ke();return t.gesendet<3?null:e.jsxs("p",{className:"border-t border-border/30 pt-2 text-[10px] text-muted-foreground/50",children:["Du hast ",t.geaendert," von ",t.gesendet," Vorschlägen geändert. Wird das die Regel, bauen wir hier einen richtigen Schritt-für-Schritt-Assistenten."]})})()]}):e.jsxs("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/40 bg-background/20 px-3 py-2.5 text-xs",children:[o==="box"?e.jsx(U,{className:"h-4 w-4 shrink-0 text-primary"}):o==="repo"?e.jsx(Y,{className:"h-4 w-4 shrink-0 text-primary"}):e.jsx(O,{className:"h-4 w-4 shrink-0 text-primary"}),!N&&e.jsx("span",{className:"shrink-0 text-[10px] uppercase tracking-wider text-muted-foreground/50",children:"Voreingestellt"}),e.jsx("span",{className:"text-muted-foreground",children:o==="box"?"Ich baue das selbst und lege dir das Ergebnis als Vorschlag hin.":o==="repo"?"Du baust selbst — ich lege dir Konzept und Repo an.":"Du baust selbst — ich arbeite erst ein Konzept aus."}),N&&e.jsx("span",{className:"shrink-0 rounded border border-primary/40 bg-primary/10 px-1.5 py-0.5 text-[10px] font-bold text-primary",children:"gelesen"}),e.jsx("button",{onClick:()=>{l(!0),pe("geaendert")},className:"ml-auto shrink-0 text-[11px] text-muted-foreground/60 underline underline-offset-2 transition-colors hover:text-foreground cursor-pointer",children:"anders"})]}),d&&e.jsxs("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"})," Queue wird geladen …"]}),(r==null?void 0:r.fehler)&&e.jsx("p",{className:"text-xs text-amber-300",children:"Queue gerade nicht lesbar — neuer Versuch läuft."}),P.length>0&&e.jsxs("div",{className:"space-y-3",children:[((r==null?void 0:r.projekte)??[]).map(t=>e.jsx(He,{projekt:t,karten:P.filter(s=>s.projekt===t.key),zeile:q,onArchivAlle:ae,raeumt:!!v["arch:"+t.key]},t.key)),(()=>{const t=new Set(((r==null?void 0:r.projekte)??[]).map(a=>a.key)),s=P.filter(a=>!a.projekt||!t.has(a.projekt));if(s.length===0)return null;const x=s.filter(a=>$[a.status]!==void 0).sort((a,A)=>$[a.status]-$[A.status]||(a.erstellt??0)-(A.erstellt??0)),f=s.filter(a=>["todo","scheduled"].includes(a.status)),b=s.filter(a=>a.status==="done");return e.jsxs("div",{className:"space-y-2",children:[x.length>0&&e.jsx("ul",{className:"space-y-1.5",children:x.map(a=>q(a))}),f.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(T,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(he,{className:"h-3 w-3"})," Wartet (",f.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:f.map(a=>q(a))})]}),b.length>0&&e.jsxs("details",{className:"group",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center gap-1.5 py-1 text-[11px] text-muted-foreground/70 hover:text-foreground",children:[e.jsx(T,{className:"h-3 w-3 transition-transform group-open:rotate-90"}),e.jsx(Ae,{className:"h-3 w-3 text-emerald-400/70"})," Fertig (",b.length,")"]}),e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:b.map(a=>q(a))})]})]})})()]}),(r==null?void 0:r.available)&&!d&&P.length===0&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Noch nichts hier. Zum Beispiel:"}),["Ein kleines Werkzeug, das meine Fotos nach Aufnahmedatum in Ordner sortiert","Rippy soll die Untertitel-Spur automatisch auswählen statt zu fragen","Lohnt sich ein Dashboard für die Stromzähler, oder reicht Home Assistant?"].map(t=>e.jsxs("button",{onClick:()=>g(t),className:"flex w-full items-center gap-2 rounded-lg border border-border/40 bg-background/20 px-3 py-2 text-left text-xs text-muted-foreground transition-all hover:border-primary/40 hover:text-foreground cursor-pointer",children:[e.jsx(O,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/50"}),t]},t))]})]}),p]})}function G({k:r,aktiv:d,onWahl:k}){return e.jsxs("button",{onClick:k,className:S("rounded-xl border p-3 text-left transition-all cursor-pointer",d?"border-primary/60 bg-primary/5":"border-border/50 hover:border-border"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r.icon,{className:S("h-4 w-4 shrink-0",d?"text-primary":"text-muted-foreground")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:r.titel})]}),e.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:r.text})]})}const $={blocked:0,running:1,review:2,ready:3,triage:4};function He({projekt:r,karten:d,zeile:k,onArchivAlle:n,raeumt:m}){const[p,h]=u.useState(!1),[g,o]=u.useState(!1),i=d.filter(l=>$[l.status]!==void 0).sort((l,N)=>$[l.status]-$[N.status]||(l.erstellt??0)-(N.erstellt??0)),j=d.filter(l=>l.status==="todo"||l.status==="scheduled").sort((l,N)=>{var c,L;return((c=l.wartet_auf)!=null&&c.length?1:0)-((L=N.wartet_auf)!=null&&L.length?1:0)||(l.erstellt??0)-(N.erstellt??0)}),w=d.filter(l=>l.status==="done").sort((l,N)=>(N.fertig??0)-(l.fertig??0)),y=r.gesamt>0?Math.round(r.fertig/r.gesamt*100):0;return e.jsxs("div",{className:"space-y-2 rounded-xl border border-border/50 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Be,{className:"h-4 w-4 shrink-0 text-primary/70"}),e.jsx("p",{className:"min-w-0 flex-1 truncate text-xs font-semibold text-foreground",title:r.titel,children:r.titel}),e.jsxs("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:[r.fertig," von ",r.gesamt," fertig"]})]}),e.jsx("div",{className:"h-1 overflow-hidden rounded-full bg-background/60",title:`${y}%`,children:e.jsx("div",{className:"h-1 rounded-full bg-primary/70 transition-all",style:{width:`${y}%`}})}),i.length>0&&e.jsx("ul",{className:"space-y-1.5",children:i.map(l=>k(l))}),j.length>0&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>h(l=>!l),className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:[p?e.jsx(X,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),j.length," Karte",j.length===1?"":"n"," in der Kette — laufen automatisch der Reihe nach"]}),p&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:j.map(l=>k(l))})]}),w.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:()=>o(l=>!l),className:"flex items-center gap-1.5 text-[11px] font-semibold text-emerald-300/70 hover:text-emerald-300 transition-colors cursor-pointer",children:[g?e.jsx(X,{className:"h-3.5 w-3.5"}):e.jsx(T,{className:"h-3.5 w-3.5"}),w.length," fertig"]}),n&&e.jsxs("button",{disabled:m,onClick:()=>n(r.key,w.length,`„${r.titel}"`),title:"Räumt die fertigen Karten dieser Kette weg (Archiv, nichts wird gelöscht).",className:"flex items-center gap-1 text-[11px] text-muted-foreground/60 transition-colors hover:text-foreground disabled:opacity-50 cursor-pointer",children:[m?e.jsx(D,{className:"h-3 w-3 animate-spin"}):e.jsx(Q,{className:"h-3 w-3"}),"wegräumen"]})]}),g&&e.jsx("ul",{className:"mt-1.5 space-y-1.5",children:w.map(l=>k(l))})]})]})}function Je({id:r,istIdee:d,onWeiter:k}){const[n,m]=u.useState(null),[p,h]=u.useState(!1),[g,o]=u.useState(0);return u.useEffect(()=>{let i=!1;return m(null),h(!1),z(`/api/ideen/${r}/konzept`).then(j=>{i||m(j)}).catch(()=>{i||h(!0)}),()=>{i=!0}},[r,g]),e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-violet-500/25 bg-violet-500/[0.04] p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-violet-300",children:[e.jsx(ge,{className:"h-3 w-3"})," Konzept"]}),(n==null?void 0:n.repo)&&e.jsxs("a",{href:`https://git.tobisniceshomelab.ddnsfree.com/${n.repo}`,className:"flex items-center gap-1 text-[10px] text-violet-300/70 hover:text-violet-200",children:[e.jsx(Y,{className:"h-3 w-3"})," ",n.repo]}),!(n!=null&&n.repo)&&(n==null?void 0:n.quelle)==="datei"&&e.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/70",title:"Der Worker hat kein Repo angelegt — das Konzept liegt als Datei auf der Box.",children:n.pfad}),e.jsx("button",{onClick:()=>o(i=>i+1),title:"Neu laden",className:"ml-auto rounded p-0.5 text-muted-foreground/50 hover:text-foreground cursor-pointer",children:e.jsx(fe,{className:"h-3 w-3"})})]}),p?e.jsx("p",{className:"text-[11px] text-red-400",children:"Konzept nicht ladbar — später nochmal versuchen."}):n===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Konzept wird geladen …"}):n.konzept?e.jsx("div",{className:"max-h-[28rem] overflow-y-auto pr-1",children:e.jsx(_e,{text:n.konzept})}):e.jsx("p",{className:"text-[11px] text-muted-foreground italic",children:n.error||"Noch kein Konzept — das Projekt wird gerade vorbereitet."}),d&&(n==null?void 0:n.konzept)&&e.jsx(Me,{id:r,onFertig:k})]})})}function Me({id:r,onFertig:d}){const[k,n]=u.useState("lxc"),[m,p]=u.useState("simpel"),[h,g]=u.useState(!1),[o,i]=u.useState(null),[j,w]=u.useState(""),[y,l]=u.useState(""),N=async(c,L,V)=>{g(!0),w("");try{const C=await z(c,{method:"POST",body:JSON.stringify(L)});i({id:C.id,art:V}),d==null||d()}catch(C){w(String((C==null?void 0:C.message)||C))}finally{g(!1)}};return o?e.jsx("p",{className:"mt-3 border-t border-violet-500/20 pt-2 text-[11px] text-emerald-300",children:o.art==="projekt"?e.jsxs(e.Fragment,{children:["Projekt-Karte ",e.jsx("span",{className:"font-mono",children:o.id})," ist angelegt — die Box bereitet das Repo vor (Konzept übernimmt sie, sie denkt es nicht neu). Danach öffnest du es in der Agentic IDE."]}):e.jsxs(e.Fragment,{children:["Überarbeitung ",e.jsx("span",{className:"font-mono",children:o.id}),' läuft — die Box arbeitet deine Rückmeldung ein und schreibt die neue Fassung an dieselbe Stelle. Danach hier wieder „Konzept" öffnen.']})}):e.jsxs("div",{className:"mt-3 space-y-3 border-t border-violet-500/20 pt-2.5",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-sky-300/90",children:"Passt etwas nicht?"})," Schreib hin, was anders werden soll — die Box arbeitet es ein und lässt den Rest stehen. Beliebig oft wiederholbar."]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:y,onChange:c=>l(c.target.value),onKeyDown:c=>{c.key==="Enter"&&y.trim().length>=3&&!h&&N("/api/ideen/nachschaerfen",{id:r,hinweis:y},"runde")},placeholder:"z. B. „Punkt 3: kein WebSocket, das ist mir zu fragil — nimm Polling“",maxLength:2e3,className:"h-8 min-w-0 flex-1 rounded-lg border border-border/60 bg-background/60 px-2.5 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-sky-400/50 focus:outline-none"}),e.jsxs("button",{onClick:()=>N("/api/ideen/nachschaerfen",{id:r,hinweis:y},"runde"),disabled:h||y.trim().length<3,className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-sky-500/40 bg-sky-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-sky-300 transition-all hover:bg-sky-500/20 cursor-pointer disabled:opacity-50",children:[h?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(fe,{className:"h-3.5 w-3.5"}),"Nachschärfen"]})]})]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("b",{className:"text-violet-300/90",children:"Passt es so?"})," Dann macht die Box daraus ein startklares Repo — Konzept wird übernommen (nicht neu gedacht), dazu Roadmap, AGENTS.md & Co. Gebaut wird danach von dir in der Agentic IDE."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Ziel"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["lxc","docker"].map(c=>e.jsx("button",{onClick:()=>n(c),title:c==="lxc"?"Dienst in einem eigenen Proxmox-LXC (systemd, kein Docker) — wird automatisch mitgesichert.":"Natives Docker: Dockerfile + compose, portabel und pipeline-tauglich.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",k===c?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:c==="lxc"?"LXC":"Docker"},c))}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"Aufwand"}),e.jsx("div",{className:"flex rounded-lg border border-border/40 p-0.5",children:["simpel","gruendlich"].map(c=>e.jsx("button",{onClick:()=>p(c),title:c==="simpel"?"Konzept ist schon gehärtet — nur kurz auf die Bau-Sicht nachschärfen (empfohlen).":"Nochmal volle Kaskade über die Bau-Sicht: mehrere Rollen, Härtetests. Dauert entsprechend.",className:S("rounded px-2 py-0.5 text-[10px] font-semibold transition-all cursor-pointer",m===c?"bg-foreground/10 text-foreground":"text-muted-foreground/50 hover:text-foreground/80"),children:c==="simpel"?"schlank":"gründlich"},c))}),e.jsxs("button",{onClick:()=>N("/api/ideen/weiterfuehren",{id:r,ziel:k,tiefe:m},"projekt"),disabled:h,className:"ml-auto flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-violet-500/40 bg-violet-500/10 px-3 text-[10px] font-bold uppercase tracking-wide text-violet-300 transition-all hover:bg-violet-500/20 cursor-pointer disabled:opacity-50",children:[h?e.jsx(D,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(ee,{className:"h-3.5 w-3.5"}),"Gefällt mir — Projekt daraus machen"]})]}),j&&e.jsx("p",{className:"text-[11px] text-red-400",children:j})]})}function Qe({id:r}){const[d,k]=u.useState(null),[n,m]=u.useState(!1),[p,h]=u.useState(0);u.useEffect(()=>{let o=!1;return m(!1),k(null),z(`/api/ideen/${r}/ergebnis`).then(i=>{o||k(i)}).catch(()=>{o||m(!0)}),()=>{o=!0}},[r,p]);const g=d?d.summary||d.result:"";return e.jsx("div",{className:"ml-2 -mt-1",children:e.jsxs("div",{className:"rounded-lg border border-emerald-500/25 bg-emerald-500/5 p-2.5",children:[e.jsxs("p",{className:"mb-1 flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wide text-emerald-300",children:[e.jsx(Te,{className:"h-3 w-3"})," Ergebnis des Workers"]}),n?e.jsx("button",{type:"button",onClick:()=>h(o=>o+1),className:"text-[10px] text-red-400 underline decoration-dotted underline-offset-2 hover:text-red-300",children:"Ergebnis nicht ladbar — nochmal versuchen"}):d===null?e.jsx("p",{className:"text-[10px] text-muted-foreground animate-pulse",children:"Wird geladen …"}):g?e.jsx("p",{className:"max-h-64 overflow-y-auto whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:g}):e.jsx("p",{className:"text-[10px] text-muted-foreground italic",children:"Der Worker hat keine Abschluss-Zusammenfassung hinterlassen (ältere Karte oder Protokollverstoß)."})]})})}function ot(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Ideen"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Schreib hin, was entstehen soll. Die Box liest mit und schlägt vor, wie es weitergeht — ändern kannst du das immer."})]}),e.jsx(Ze,{})]})}export{ot as IdeenView}; diff --git a/frontend/dist/assets/JobsBar-B1nmMx5i.js b/frontend/dist/assets/JobsBar-D2vfhT2b.js similarity index 93% rename from frontend/dist/assets/JobsBar-B1nmMx5i.js rename to frontend/dist/assets/JobsBar-D2vfhT2b.js index bb3beab..05a8232 100644 --- a/frontend/dist/assets/JobsBar-B1nmMx5i.js +++ b/frontend/dist/assets/JobsBar-D2vfhT2b.js @@ -1 +1 @@ -import{u,ah as m,k as x,j as s,y as n,ai as b,b as p,n as f,q as h}from"./index-BYlMs6Dj.js";function y(){const d=u(),{data:t=[]}=m(),{showAlert:l,dialogElement:o}=x();async function i(e){try{await f(`/api/jobs/${e}/cancel`,{method:"POST"}),d.invalidateQueries({queryKey:h.jobs})}catch(c){l("Fehler",c.message)}}const a=t.filter(e=>e.state==="running"||e.state==="queued"),r=t.filter(e=>e.state!=="running"&&e.state!=="queued").slice(-3);return a.length===0&&r.length===0?null:s.jsxs("div",{className:"space-y-3 mc-card p-4",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),a.map(e=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:e.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[e.progress??0,"% • ",n(e.done_bytes),"/",n(e.total_bytes),e.eta_s?` • ETA ${b(e.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(e.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${e.progress??0}%`}})})]},e.id)),r.map(e=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:e.label}),s.jsx("span",{className:p("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",e.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:e.state})]},e.id)),o]})}export{y as J}; +import{u,ab as m,k as x,j as s,y as n,ac as b,b as p,n as f,q as h}from"./index-Bb8GyPHo.js";function y(){const d=u(),{data:t=[]}=m(),{showAlert:l,dialogElement:o}=x();async function i(e){try{await f(`/api/jobs/${e}/cancel`,{method:"POST"}),d.invalidateQueries({queryKey:h.jobs})}catch(c){l("Fehler",c.message)}}const a=t.filter(e=>e.state==="running"||e.state==="queued"),r=t.filter(e=>e.state!=="running"&&e.state!=="queued").slice(-3);return a.length===0&&r.length===0?null:s.jsxs("div",{className:"space-y-3 mc-card p-4",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),a.map(e=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:e.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[e.progress??0,"% • ",n(e.done_bytes),"/",n(e.total_bytes),e.eta_s?` • ETA ${b(e.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(e.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${e.progress??0}%`}})})]},e.id)),r.map(e=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:e.label}),s.jsx("span",{className:p("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",e.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:e.state})]},e.id)),o]})}export{y as J}; diff --git a/frontend/dist/assets/KonsoleView-50ZTmnVb.js b/frontend/dist/assets/KonsoleView-50ZTmnVb.js new file mode 100644 index 0000000..1903981 --- /dev/null +++ b/frontend/dist/assets/KonsoleView-50ZTmnVb.js @@ -0,0 +1 @@ +import{I as b,u as f,J as h,r as d,j as e,b as c,T as g,S as p,n as j,N,q as x}from"./index-Bb8GyPHo.js";import{E as v}from"./external-link-P1_1JELD.js";import{R as w}from"./refresh-cw-C3saW9zg.js";function T(){const{data:s}=b(),m=f(),t=s!=null&&s.box_console_url?h(s.box_console_url):void 0,a=s==null?void 0:s.box_console_reachable,[l,o]=d.useState(!1),[i,n]=d.useState("");async function u(){o(!0),n("");try{const r=await j("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})});n(r.ok?"Neu gestartet — einen Moment, dann lädt das Terminal.":`Fehlgeschlagen: ${r.err||"Unbekannter Fehler"}`),N(m,x.agentStatus,x.services)}catch(r){n(`Fehlgeschlagen: ${(r==null?void 0:r.message)||r}`)}finally{o(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:c("h-2 w-2 rounded-full",a?"bg-emerald-500 animate-pulse":"bg-amber-500")}),a?"online":"offline"]}),t&&e.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[e.jsx(v,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[a===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(g,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:u,disabled:l,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(w,{className:c("h-3.5 w-3.5",l&&"animate-spin")})," Dienst neu starten"]}),i&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:i})]}),e.jsx("iframe",{src:t,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(p,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{T as KonsoleView}; diff --git a/frontend/dist/assets/KonsoleView-pXiZKOZ7.js b/frontend/dist/assets/KonsoleView-pXiZKOZ7.js deleted file mode 100644 index 67209fc..0000000 --- a/frontend/dist/assets/KonsoleView-pXiZKOZ7.js +++ /dev/null @@ -1 +0,0 @@ -import{I as b,u as f,K as h,r as d,j as e,b as c,J as g,T as p,R as j,Q as N,n as v,U as w,q as x}from"./index-BYlMs6Dj.js";function y(){const{data:s}=b(),m=f(),r=s!=null&&s.box_console_url?h(s.box_console_url):void 0,a=s==null?void 0:s.box_console_reachable,[l,o]=d.useState(!1),[i,n]=d.useState("");async function u(){o(!0),n("");try{const t=await v("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})});n(t.ok?"Neu gestartet — einen Moment, dann lädt das Terminal.":`Fehlgeschlagen: ${t.err||"Unbekannter Fehler"}`),w(m,x.agentStatus,x.services)}catch(t){n(`Fehlgeschlagen: ${(t==null?void 0:t.message)||t}`)}finally{o(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:c("h-2 w-2 rounded-full",a?"bg-emerald-500 animate-pulse":"bg-amber-500")}),a?"online":"offline"]}),r&&e.jsxs("a",{href:r,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),r?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[a===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(p,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:u,disabled:l,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(j,{className:c("h-3.5 w-3.5",l&&"animate-spin")})," Dienst neu starten"]}),i&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:i})]}),e.jsx("iframe",{src:r,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(N,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{y as KonsoleView}; diff --git a/frontend/dist/assets/LiveAreaChartImpl-Bb72EW29.js b/frontend/dist/assets/LiveAreaChartImpl-CGtRHSfm.js similarity index 50% rename from frontend/dist/assets/LiveAreaChartImpl-Bb72EW29.js rename to frontend/dist/assets/LiveAreaChartImpl-CGtRHSfm.js index 63eb0ec..ef77f61 100644 --- a/frontend/dist/assets/LiveAreaChartImpl-Bb72EW29.js +++ b/frontend/dist/assets/LiveAreaChartImpl-CGtRHSfm.js @@ -1,25 +1,9 @@ -var Zy=Object.defineProperty;var Qy=(e,t,r)=>t in e?Zy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Hn=(e,t,r)=>Qy(e,typeof t!="symbol"?t+"":t,r);import{r as h,at as ee,au as bu,av as Ud,ap as Jy,aw as eg,j as oe}from"./index-BYlMs6Dj.js";import{m as Zl,d as Ql,o as Kd,e as ot,f as tg,i as Eo,c as Jl,a as ec,b as rg,g as Tt,h as ng}from"./string-DoZi9Vij.js";var ig=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function wu(e){if(typeof e!="string")return!1;var t=ig;return t.includes(e)}var ag=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],og=new Set(ag);function Hd(e){return typeof e!="string"?!1:og.has(e)}function Yd(e){return typeof e=="string"&&e.startsWith("data-")}function it(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Hd(r)||Yd(r))&&(t[r]=e[r]);return t}function ia(e){if(e==null)return null;if(h.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return it(t)}return typeof e=="object"&&!Array.isArray(e)?it(e):null}function Ge(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Hd(r)||Yd(r)||wu(r))&&(t[r]=e[r]);return t}function ug(e){return e==null?null:h.isValidElement(e)?Ge(e.props):typeof e=="object"&&!Array.isArray(e)?Ge(e):null}var lg=["children","width","height","viewBox","className","style","title","desc"];function _o(){return _o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,a=e.viewBox,o=e.className,u=e.style,l=e.title,c=e.desc,s=cg(e,lg),f=a||{width:n,height:i,x:0,y:0},d=ee("recharts-surface",o);return h.createElement("svg",_o({},Ge(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),h.createElement("title",null,l),h.createElement("desc",null,c),r)}),fg=["children","className"];function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=dg(e,fg),a=ee("recharts-layer",n);return h.createElement("g",Io({className:a},Ge(i),{ref:t}),r)}),hg=h.createContext(null);function ne(e){return function(){return e}}const Co=Math.PI,ko=2*Co,er=1e-6,pg=ko-er;function Gd(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Gd;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;ier)if(!(Math.abs(f*l-c*s)>er)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,p=i-u,m=l*l+c*c,y=v*v+p*p,g=Math.sqrt(m),w=Math.sqrt(d),x=a*Math.tan((Co-Math.acos((m+d-y)/(2*g*w)))/2),A=x/w,O=x/g;Math.abs(A-1)>er&&this._append`L${t+A*s},${r+A*f}`,this._append`A${a},${a},0,0,${+(f*v>s*p)},${this._x1=t+O*l},${this._y1=r+O*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>er||Math.abs(this._y1-s)>er)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%ko+ko),d>pg?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>er&&this._append`A${n},${n},0,${+(d>=Co)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function qd(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new yg(t)}function xu(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Xd(e){this._context=e}Xd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function aa(e){return new Xd(e)}function Zd(e){return e[0]}function Qd(e){return e[1]}function Jd(e,t){var r=ne(!0),n=null,i=aa,a=null,o=qd(u);e=typeof e=="function"?e:e===void 0?Zd:ne(e),t=typeof t=="function"?t:t===void 0?Qd:ne(t);function u(l){var c,s=(l=xu(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c=v;--p)u.point(x[p],A[p]);u.lineEnd(),u.areaEnd()}g&&(x[d]=+e(y,d,f),A[d]=+t(y,d,f),u.point(n?+n(y,d,f):x[d],r?+r(y,d,f):A[d]))}if(w)return u=null,w+""||null}function s(){return Jd().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ne(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ne(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:ne(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class ev{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function gg(e){return new ev(e,!0)}function bg(e){return new ev(e,!1)}function vi(){}function hi(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function tv(e){this._context=e}tv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:hi(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function wg(e){return new tv(e)}function rv(e){this._context=e}rv.prototype={areaStart:vi,areaEnd:vi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function xg(e){return new rv(e)}function nv(e){this._context=e}nv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ag(e){return new nv(e)}function iv(e){this._context=e}iv.prototype={areaStart:vi,areaEnd:vi,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Og(e){return new iv(e)}function tc(e){return e<0?-1:1}function rc(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(tc(a)+tc(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function nc(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Va(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function pi(e){this._context=e}pi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Va(this,this._t0,nc(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Va(this,nc(this,r=rc(this,e,t)),r);break;default:Va(this,this._t0,r=rc(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function av(e){this._context=new ov(e)}(av.prototype=Object.create(pi.prototype)).point=function(e,t){pi.prototype.point.call(this,t,e)};function ov(e){this._context=e}ov.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function Pg(e){return new pi(e)}function Sg(e){return new av(e)}function uv(e){this._context=e}uv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=ic(e),i=ic(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function _g(e){return new oa(e,.5)}function Ig(e){return new oa(e,0)}function Cg(e){return new oa(e,1)}function cr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r=0;)r[t]=t;return r}function kg(e,t){return e[t]}function jg(e){const t=[];return t.key=e,t}function Tg(){var e=ne([]),t=jo,r=cr,n=kg;function i(a){var o=Array.from(e.apply(this,arguments),jg),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u0){for(var r,n,i=0,a=e[0].length,o;i0){for(var r=0,n=e[t[0]],i,a=n.length;r0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n1&&arguments[1]!==void 0?arguments[1]:Lg,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function we(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ut(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,ht=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,D=e=>(typeof e=="number"||e instanceof Number)&&!ht(e),pt=e=>D(e)||typeof e=="string",Rg=0,yn=e=>{var t=++Rg;return"".concat(e||"").concat(t)},Yt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!D(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return ht(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},sv=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):yr(n,t))===r)}var Oe=e=>e===null||typeof e>"u",Pu=e=>Oe(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function De(e){return e!=null}function Fr(){}var dv=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Su=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(h.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{wu(i)&&typeof r[i]=="function"&&(n[i]=(a=>r[i](r,a)))}),n},zg=(e,t,r)=>n=>(e(t,r,n),null),Bg=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];wu(i)&&typeof a=="function"&&(n||(n={}),n[i]=zg(a,t,r))}),n};function ac(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Fg(e){for(var t=1;t(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}function Hg(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Eu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Xg="[object RegExp]",hv="[object String]",pv="[object Number]",mv="[object Boolean]",yv="[object Arguments]",Zg="[object Symbol]",Qg="[object Date]",Jg="[object Map]",e0="[object Set]",t0="[object Array]",r0="[object ArrayBuffer]",n0="[object Object]",i0="[object DataView]",a0="[object Uint8Array]",o0="[object Uint8ClampedArray]",u0="[object Uint16Array]",l0="[object Uint32Array]",c0="[object Int8Array]",s0="[object Int16Array]",f0="[object Int32Array]",d0="[object Float32Array]",v0="[object Float64Array]",oc=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function h0(e){return typeof oc.Buffer<"u"&&oc.Buffer.isBuffer(e)}function p0(e,t){return nr(e,void 0,e,new Map,t)}function nr(e,t,r,n=new Map,i=void 0){const a=i==null?void 0:i(e,t,r,n);if(a!==void 0)return a;if(Mo(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const o=new Array(e.length);n.set(e,o);for(let u=0;u{}):Do(e,t,function n(i,a,o,u,l,c){const s=r(i,a,o,u,l,c);return s!==void 0?!!s:Do(i,a,n,c,!1)},new Map,!0)}function Do(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return g0(e,t,r,n);case"function":return Object.keys(t).length>0?Do(e,{...t},r,n,i):oi(e,t);default:return gv(e)&&i?typeof t=="string"?t==="":!0:oi(e,t)}}function g0(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return wv(e,t,r,n);if(t instanceof Map)return b0(e,t,r,n);if(t instanceof Set)return w0(e,t,r,n);const i=Object.keys(t);if(e==null||Mo(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let a=0;a{})}function x0(e){return e=y0(e),t=>xv(t,e)}function A0(e,t){return p0(e,(r,n,i,a)=>{if(typeof e=="object"){if(Eu(e)==="[object Object]"&&typeof e.constructor!="function"){const o={};return a.set(e,o),tt(o,e,i,a),o}switch(Object.prototype.toString.call(e)){case pv:case hv:case mv:{const o=new e.constructor(e==null?void 0:e.valueOf());return tt(o,e),o}case yv:{const o={};return tt(o,e),o.length=e.length,o[Symbol.iterator]=e[Symbol.iterator],o}default:return}}})}function O0(e){return A0(e)}const P0=/^(?:0|[1-9]\d*)$/;function Av(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Ov(e){return e!=null&&typeof e!="function"&&C0(e.length)}function k0(e){return typeof e=="object"&&e!==null}function j0(e){return k0(e)&&Ov(e)}function uc(e,t=vv){return j0(e)?Hg(Array.from(e),Yg(I0(t),1)):[]}function T0(e,t,r){return t===!0?uc(e,r):typeof t=="function"?uc(e,t):e}var Ga={exports:{}},qa={},Xa={exports:{}},Za={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var lc;function M0(){if(lc)return Za;lc=1;var e=bu();function t(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,i=e.useEffect,a=e.useLayoutEffect,o=e.useDebugValue;function u(f,d){var v=d(),p=n({inst:{value:v,getSnapshot:d}}),m=p[0].inst,y=p[1];return a(function(){m.value=v,m.getSnapshot=d,l(m)&&y({inst:m})},[f,v,d]),i(function(){return l(m)&&y({inst:m}),f(function(){l(m)&&y({inst:m})})},[f]),o(v),v}function l(f){var d=f.getSnapshot;f=f.value;try{var v=d();return!r(f,v)}catch{return!0}}function c(f,d){return d()}var s=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:u;return Za.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:s,Za}var cc;function D0(){return cc||(cc=1,Xa.exports=M0()),Xa.exports}/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var sc;function $0(){if(sc)return qa;sc=1;var e=bu(),t=D0();function r(c,s){return c===s&&(c!==0||1/c===1/s)||c!==c&&s!==s}var n=typeof Object.is=="function"?Object.is:r,i=t.useSyncExternalStore,a=e.useRef,o=e.useEffect,u=e.useMemo,l=e.useDebugValue;return qa.useSyncExternalStoreWithSelector=function(c,s,f,d,v){var p=a(null);if(p.current===null){var m={hasValue:!1,value:null};p.current=m}else m=p.current;p=u(function(){function g(b){if(!w){if(w=!0,x=b,b=d(b),v!==void 0&&m.hasValue){var S=m.value;if(v(S,b))return A=S}return A=b}if(S=A,n(x,b))return S;var _=d(b);return v!==void 0&&v(S,_)?(x=b,S):(x=b,A=_)}var w=!1,x,A,O=f===void 0?null:f;return[function(){return g(s())},O===null?void 0:function(){return g(O())}]},[s,f,d,v]);var y=i(c,p[0],p[1]);return o(function(){m.hasValue=!0,m.value=y},[y]),l(y),y},qa}var fc;function N0(){return fc||(fc=1,Ga.exports=$0()),Ga.exports}var L0=N0(),_u=h.createContext(null),R0=e=>e,le=()=>{var e=h.useContext(_u);return e?e.store.dispatch:R0},ui=()=>{},z0=()=>ui,B0=(e,t)=>e===t;function N(e){var t=h.useContext(_u),r=h.useMemo(()=>t?n=>{if(n!=null)return e(n)}:ui,[t,e]);return L0.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:z0,t?t.store.getState:ui,t?t.store.getState:ui,r,B0)}function F0(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function W0(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var dc=e=>Array.isArray(e)?e:[e];function U0(e){const t=Array.isArray(e[0])?e[0]:e;return W0(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function K0(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?H0:WeakRef,Pv=Y0(),V0=0,vc=1;function Vn(){return{s:V0,v:void 0,o:null,p:null}}function G0(e){return e instanceof Pv?e.deref():e}function Sv(e,t={}){let r=Vn();const{resultEqualityCheck:n}=t;let i,a=0;function o(){let u=r;const{length:l}=arguments;for(let f=0,d=l;f{r=Vn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function q0(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let a=0,o=0,u,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),F0(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const s={...r,...l},{memoize:f,memoizeOptions:d=[],argsMemoize:v=Sv,argsMemoizeOptions:p=[]}=s,m=dc(d),y=dc(p),g=U0(i),w=f(function(){return a++,c.apply(null,arguments)},...m),x=v(function(){o++;const O=K0(g,arguments);return u=w.apply(null,O),u},...y);return Object.assign(x,{resultFunc:c,memoizedResultFunc:w,dependencies:g,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:v})};return Object.assign(n,{withTypes:()=>n}),n}var P=q0(Sv);function X0(e,t=1){const r=[],n=Math.floor(t),i=(a,o)=>{for(let u=0;u{if(e!==t){const n=hc(e),i=hc(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function Ev(e){return typeof e=="symbol"||e instanceof Symbol}const Q0=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J0=/^\w*$/;function eb(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||Ev(e)?!0:typeof e=="string"&&(J0.test(e)||!Q0.test(e))||t!=null}function tb(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,l)=>{let c=u;for(let s=0;sl==null||u==null?l:typeof u=="object"&&"key"in u?Object.hasOwn(l,u.key)?l[u.key]:i(l,u.path):typeof u=="function"?u(l):Array.isArray(u)?i(l,u):typeof l=="object"?l[u]:l,o=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||eb(u)?u:{key:u,path:Ou(u)}));return e.map(u=>({original:u,criteria:o.map(l=>a(l,u))})).slice().sort((u,l)=>{for(let c=0;cu.original)}function ua(e,...t){const r=t.length;return r>1&&$o(e,t[0],t[1])?t=[]:r>2&&$o(t[0],t[1],t[2])&&(t=[t[0]]),tb(e,X0(t),["asc"])}var _v=e=>e.legend.settings,rb=e=>e.legend.size,nb=e=>e.legend.payload;P([nb,_v],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?ua(n,r):n});function ib(e,t){return lb(e)||ub(e,t)||ob(e,t)||ab()}function ab(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ob(e,t){if(e){if(typeof e=="string")return pc(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?pc(e,t):void 0}}function pc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rGn||Math.abs(e.left-t.left)>Gn||Math.abs(e.top-t.top)>Gn||Math.abs(e.width-t.width)>Gn}function yc(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function cb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=h.useState({height:0,left:0,top:0,width:0}),r=ib(t,2),n=r[0],i=r[1],a=h.useRef(null),o=h.useRef(n);o.current=n;var u=h.useCallback(l=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),l!=null){var c=yc(l);if(mc(c,o.current)&&i(c),typeof ResizeObserver<"u"){var s=new ResizeObserver(()=>{var f=yc(l);mc(f,o.current)&&i(f)});s.observe(l),a.current=s}}},[...e]);return h.useEffect(()=>()=>{var l;(l=a.current)===null||l===void 0||l.disconnect()},[]),[n,u]}function be(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var sb=typeof Symbol=="function"&&Symbol.observable||"@@observable",gc=sb,Qa=()=>Math.random().toString(36).substring(7).split("").join("."),fb={INIT:`@@redux/INIT${Qa()}`,REPLACE:`@@redux/REPLACE${Qa()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Qa()}`},mi=fb;function Iu(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Iv(e,t,r){if(typeof e!="function")throw new Error(be(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(be(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(be(1));return r(Iv)(e,t)}let n=e,i=t,a=new Map,o=a,u=0,l=!1;function c(){o===a&&(o=new Map,a.forEach((y,g)=>{o.set(g,y)}))}function s(){if(l)throw new Error(be(3));return i}function f(y){if(typeof y!="function")throw new Error(be(4));if(l)throw new Error(be(5));let g=!0;c();const w=u++;return o.set(w,y),function(){if(g){if(l)throw new Error(be(6));g=!1,c(),o.delete(w),a=null}}}function d(y){if(!Iu(y))throw new Error(be(7));if(typeof y.type>"u")throw new Error(be(8));if(typeof y.type!="string")throw new Error(be(17));if(l)throw new Error(be(9));try{l=!0,i=n(i,y)}finally{l=!1}return(a=o).forEach(w=>{w()}),y}function v(y){if(typeof y!="function")throw new Error(be(10));n=y,d({type:mi.REPLACE})}function p(){const y=f;return{subscribe(g){if(typeof g!="object"||g===null)throw new Error(be(11));function w(){const A=g;A.next&&A.next(s())}return w(),{unsubscribe:y(w)}},[gc](){return this}}}return d({type:mi.INIT}),{dispatch:d,subscribe:f,getState:s,replaceReducer:v,[gc]:p}}function db(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:mi.INIT})>"u")throw new Error(be(12));if(typeof r(void 0,{type:mi.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(be(13))})}function Cv(e){const t=Object.keys(e),r={};for(let a=0;a"u")throw u&&u.type,new Error(be(14));c[f]=p,l=l||p!==v}return l=l||n.length!==Object.keys(o).length,l?c:o}}function yi(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function vb(...e){return t=>(r,n)=>{const i=t(r,n);let a=()=>{throw new Error(be(15))};const o={getState:i.getState,dispatch:(l,...c)=>a(l,...c)},u=e.map(l=>l(o));return a=yi(...u)(i.dispatch),{...i,dispatch:a}}}function kv(e){return Iu(e)&&"type"in e&&typeof e.type=="string"}var jv=Symbol.for("immer-nothing"),bc=Symbol.for("immer-draftable"),Te=Symbol.for("immer-state");function rt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Be=Object,Mr=Be.getPrototypeOf,gi="constructor",la="prototype",No="configurable",bi="enumerable",li="writable",gn="value",It=e=>!!e&&!!e[Te];function at(e){var t;return e?Tv(e)||sa(e)||!!e[bc]||!!((t=e[gi])!=null&&t[bc])||fa(e)||da(e):!1}var hb=Be[la][gi].toString(),wc=new WeakMap;function Tv(e){if(!e||!Cu(e))return!1;const t=Mr(e);if(t===null||t===Be[la])return!0;const r=Be.hasOwnProperty.call(t,gi)&&t[gi];if(r===Object)return!0;if(!Ir(r))return!1;let n=wc.get(r);return n===void 0&&(n=Function.toString.call(r),wc.set(r,n)),n===hb}function ca(e,t,r=!0){kn(e)===0?(r?Reflect.ownKeys(e):Be.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function kn(e){const t=e[Te];return t?t.type_:sa(e)?1:fa(e)?2:da(e)?3:0}var xc=(e,t,r=kn(e))=>r===2?e.has(t):Be[la].hasOwnProperty.call(e,t),Lo=(e,t,r=kn(e))=>r===2?e.get(t):e[t],wi=(e,t,r,n=kn(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function pb(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var sa=Array.isArray,fa=e=>e instanceof Map,da=e=>e instanceof Set,Cu=e=>typeof e=="object",Ir=e=>typeof e=="function",Ja=e=>typeof e=="boolean";function mb(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var xt=e=>e.copy_||e.base_,ku=e=>e.modified_?e.copy_:e.base_;function Ro(e,t){if(fa(e))return new Map(e);if(da(e))return new Set(e);if(sa(e))return Array[la].slice.call(e);const r=Tv(e);if(t===!0||t==="class_only"&&!r){const n=Be.getOwnPropertyDescriptors(e);delete n[Te];let i=Reflect.ownKeys(n);for(let a=0;a1&&Be.defineProperties(e,{set:qn,add:qn,clear:qn,delete:qn}),Be.freeze(e),t&&ca(e,(r,n)=>{ju(n,!0)},!1)),e}function yb(){rt(2)}var qn={[gn]:yb};function va(e){return e===null||!Cu(e)?!0:Be.isFrozen(e)}var xi="MapSet",zo="Patches",Ac="ArrayMethods",Mv={};function fr(e){const t=Mv[e];return t||rt(0,e),t}var Oc=e=>!!Mv[e],bn,Dv=()=>bn,gb=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Oc(xi)?fr(xi):void 0,arrayMethodsPlugin_:Oc(Ac)?fr(Ac):void 0});function Pc(e,t){t&&(e.patchPlugin_=fr(zo),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Bo(e){Fo(e),e.drafts_.forEach(bb),e.drafts_=null}function Fo(e){e===bn&&(bn=e.parent_)}var Sc=e=>bn=gb(bn,e);function bb(e){const t=e[Te];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Ec(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[Te].modified_&&(Bo(t),rt(4)),at(e)&&(e=_c(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[Te].base_,e,t)}else e=_c(t,r);return wb(t,e,!0),Bo(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==jv?e:void 0}function _c(e,t){if(va(t))return t;const r=t[Te];if(!r)return Ai(t,e.handledSet_,e);if(!ha(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);Lv(r,e)}return r.copy_}function wb(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ju(t,r)}function $v(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ha=(e,t)=>e.scope_===t,xb=[];function Nv(e,t,r,n){const i=xt(e),a=e.type_;if(n!==void 0&&Lo(i,n,a)===t){wi(i,n,r,a);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;ca(i,(l,c)=>{if(It(c)){const s=u.get(c)||[];s.push(l),u.set(c,s)}})}const o=e.draftLocations_.get(t)??xb;for(const u of o)wi(i,u,r,a)}function Ab(e,t,r){e.callbacks_.push(function(i){var u;const a=t;if(!a||!ha(a,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(a);const o=ku(a);Nv(e,a.draft_??a,o,r),Lv(a,i)})}function Lv(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const a=i.getPath(e);a&&i.generatePatches_(e,a,t)}$v(e)}}function Ob(e,t,r){const{scope_:n}=e;if(It(r)){const i=r[Te];ha(i,n)&&i.callbacks_.push(function(){ci(e);const o=ku(i);Nv(e,r,o,t)})}else at(r)&&e.callbacks_.push(function(){const a=xt(e);e.type_===3?a.has(r)&&Ai(r,n.handledSet_,n):Lo(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ai(Lo(e.copy_,t,e.type_),n.handledSet_,n)})}function Ai(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||It(e)||t.has(e)||!at(e)||va(e)||(t.add(e),ca(e,(n,i)=>{if(It(i)){const a=i[Te];if(ha(a,r)){const o=ku(a);wi(e,n,o,e.type_),$v(a)}}else at(i)&&Ai(i,t,r)})),e}function Pb(e,t){const r=sa(e),n={type_:r?1:0,scope_:t?t.scope_:Dv(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,a=Oi;r&&(i=[n],a=wn);const{revoke:o,proxy:u}=Proxy.revocable(i,a);return n.draft_=u,n.revoke_=o,[u,n]}var Oi={get(e,t){if(t===Te)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=xt(e);if(!xc(i,t,e.type_))return Sb(e,i,t);const a=i[t];if(e.finalized_||!at(a)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&mb(t))return a;if(a===eo(e.base_,t)){ci(e);const o=e.type_===1?+t:t,u=Uo(e.scope_,a,e,o);return e.copy_[o]=u}return a},has(e,t){return t in xt(e)},ownKeys(e){return Reflect.ownKeys(xt(e))},set(e,t,r){const n=Rv(xt(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=eo(xt(e),t),a=i==null?void 0:i[Te];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(pb(r,i)&&(r!==void 0||xc(e.base_,t,e.type_)))return!0;ci(e),Wo(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),Ob(e,t,r)),!0},deleteProperty(e,t){return ci(e),eo(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Wo(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=xt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[li]:!0,[No]:e.type_!==1||t!=="length",[bi]:n[bi],[gn]:r[t]}},defineProperty(){rt(11)},getPrototypeOf(e){return Mr(e.base_)},setPrototypeOf(){rt(12)}},wn={};for(let e in Oi){let t=Oi[e];wn[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}wn.deleteProperty=function(e,t){return wn.set.call(this,e,t,void 0)};wn.set=function(e,t,r){return Oi.set.call(this,e[0],t,r,e[0])};function eo(e,t){const r=e[Te];return(r?xt(r):e)[t]}function Sb(e,t,r){var i;const n=Rv(t,r);return n?gn in n?n[gn]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function Rv(e,t){if(!(t in e))return;let r=Mr(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Mr(r)}}function Wo(e){e.modified_||(e.modified_=!0,e.parent_&&Wo(e.parent_))}function ci(e){e.copy_||(e.assigned_=new Map,e.copy_=Ro(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Eb=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(Ir(r)&&!Ir(n)){const o=n;n=r;const u=this;return function(c=o,...s){return u.produce(c,f=>n.call(this,f,...s))}}Ir(n)||rt(6),i!==void 0&&!Ir(i)&&rt(7);let a;if(at(r)){const o=Sc(this),u=Uo(o,r,void 0);let l=!0;try{a=n(u),l=!1}finally{l?Bo(o):Fo(o)}return Pc(o,i),Ec(a,o)}else if(!r||!Cu(r)){if(a=n(r),a===void 0&&(a=r),a===jv&&(a=void 0),this.autoFreeze_&&ju(a,!0),i){const o=[],u=[];fr(zo).generateReplacementPatches_(r,a,{patches_:o,inversePatches_:u}),i(o,u)}return a}else rt(1,r)},this.produceWithPatches=(r,n)=>{if(Ir(r))return(u,...l)=>this.produceWithPatches(u,c=>r(c,...l));let i,a;return[this.produce(r,n,(u,l)=>{i=u,a=l}),i,a]},Ja(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Ja(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Ja(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){at(t)||rt(8),It(t)&&(t=Ye(t));const r=Sc(this),n=Uo(r,t,void 0);return n[Te].isManual_=!0,Fo(r),n}finishDraft(t,r){const n=t&&t[Te];(!n||!n.isManual_)&&rt(9);const{scope_:i}=n;return Pc(i,r),Ec(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const a=r[n];if(a.path.length===0&&a.op==="replace"){t=a.value;break}}n>-1&&(r=r.slice(n+1));const i=fr(zo).applyPatches_;return It(t)?i(t,r):this.produce(t,a=>i(a,r))}};function Uo(e,t,r,n){const[i,a]=fa(t)?fr(xi).proxyMap_(t,r):da(t)?fr(xi).proxySet_(t,r):Pb(t,r);return((r==null?void 0:r.scope_)??Dv()).drafts_.push(i),a.callbacks_=(r==null?void 0:r.callbacks_)??[],a.key_=n,r&&n!==void 0?Ab(r,a,n):a.callbacks_.push(function(l){var s;(s=l.mapSetPlugin_)==null||s.fixSetContents(a);const{patchPlugin_:c}=l;a.modified_&&c&&c.generatePatches_(a,[],l)}),i}function Ye(e){return It(e)||rt(10,e),zv(e)}function zv(e){if(!at(e)||va(e))return e;const t=e[Te];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Ro(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Ro(e,!0);return ca(r,(i,a)=>{wi(r,i,zv(a))},n),t&&(t.finalized_=!1),r}var _b=new Eb,Bv=_b.produce;function Fv(e){return({dispatch:r,getState:n})=>i=>a=>typeof a=="function"?a(r,n,e):i(a)}var Ib=Fv(),Cb=Fv,kb=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?yi:yi.apply(null,arguments)};function We(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Fe(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>kv(n)&&n.type===e,r}var Wv=class fn extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,fn.prototype)}static get[Symbol.species](){return fn}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new fn(...t[0].concat(this)):new fn(...t.concat(this))}};function Ic(e){return at(e)?Bv(e,()=>{}):e}function Xn(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function jb(e){return typeof e=="boolean"}var Tb=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=t??{};let o=new Wv;return r&&(jb(r)?o.push(Ib):o.push(Cb(r.extraArgument))),o},Uv="RTK_autoBatch",Q=()=>e=>({payload:e,meta:{[Uv]:!0}}),Cc=e=>t=>{setTimeout(t,e)},Mb=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(o),r())},a=e(i),o=setTimeout(i,t)},Kv=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,a=!1,o=!1;const u=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?Mb(window.requestAnimationFrame,100):Cc(10):e.type==="callback"?e.queueNotification:Cc(e.timeout),c=()=>{o=!1,a&&(a=!1,u.forEach(s=>s()))};return Object.assign({},n,{subscribe(s){const f=()=>i&&s(),d=n.subscribe(f);return u.add(s),()=>{d(),u.delete(s)}},dispatch(s){var f;try{return i=!((f=s==null?void 0:s.meta)!=null&&f[Uv]),a=!i,a&&(o||(o=!0,l(c))),n.dispatch(s)}finally{i=!0}}})},Db=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new Wv(e);return n&&i.push(Kv(typeof n=="object"?n:void 0)),i};function $b(e){const t=Tb(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:a=void 0,enhancers:o=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(Iu(r))u=Cv(r);else throw new Error(Fe(1));let l;typeof n=="function"?l=n(t):l=t();let c=yi;i&&(c=kb({trace:!1,...typeof i=="object"&&i}));const s=vb(...l),f=Db(s);let d=typeof o=="function"?o(f):f();const v=c(...d);return Iv(u,a,v)}function Hv(e){const t={},r=[];let n;const i={addCase(a,o){const u=typeof a=="string"?a:a.type;if(!u)throw new Error(Fe(28));if(u in t)throw new Error(Fe(29));return t[u]=o,i},addAsyncThunk(a,o){return o.pending&&(t[a.pending.type]=o.pending),o.rejected&&(t[a.rejected.type]=o.rejected),o.fulfilled&&(t[a.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:a.settled,reducer:o.settled}),i},addMatcher(a,o){return r.push({matcher:a,reducer:o}),i},addDefaultCase(a){return n=a,i}};return e(i),[t,r,n]}function Nb(e){return typeof e=="function"}function Lb(e,t){let[r,n,i]=Hv(t),a;if(Nb(e))a=()=>Ic(e());else{const u=Ic(e);a=()=>u}function o(u=a(),l){let c=[r[l.type],...n.filter(({matcher:s})=>s(l)).map(({reducer:s})=>s)];return c.filter(s=>!!s).length===0&&(c=[i]),c.reduce((s,f)=>{if(f)if(It(s)){const v=f(s,l);return v===void 0?s:v}else{if(at(s))return Bv(s,d=>f(d,l));{const d=f(s,l);if(d===void 0){if(s===null)return s;throw Error("A case reducer on a non-draftable value must not return undefined")}return d}}return s},u)}return o.getInitialState=a,o}var Rb="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",zb=(e=21)=>{let t="",r=e;for(;r--;)t+=Rb[Math.random()*64|0];return t},Bb=Symbol.for("rtk-slice-createasyncthunk");function Fb(e,t){return`${e}/${t}`}function Wb({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[Bb];return function(i){const{name:a,reducerPath:o=a}=i;if(!a)throw new Error(Fe(11));const u=(typeof i.reducers=="function"?i.reducers(Kb()):i.reducers)||{},l=Object.keys(u),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(A,O){const b=typeof A=="string"?A:A.type;if(!b)throw new Error(Fe(12));if(b in c.sliceCaseReducersByType)throw new Error(Fe(13));return c.sliceCaseReducersByType[b]=O,s},addMatcher(A,O){return c.sliceMatchers.push({matcher:A,reducer:O}),s},exposeAction(A,O){return c.actionCreators[A]=O,s},exposeCaseReducer(A,O){return c.sliceCaseReducersByName[A]=O,s}};l.forEach(A=>{const O=u[A],b={reducerName:A,type:Fb(a,A),createNotation:typeof i.reducers=="function"};Yb(O)?Gb(b,O,s,t):Hb(b,O,s)});function f(){const[A={},O=[],b=void 0]=typeof i.extraReducers=="function"?Hv(i.extraReducers):[i.extraReducers],S={...A,...c.sliceCaseReducersByType};return Lb(i.initialState,_=>{for(let I in S)_.addCase(I,S[I]);for(let I of c.sliceMatchers)_.addMatcher(I.matcher,I.reducer);for(let I of O)_.addMatcher(I.matcher,I.reducer);b&&_.addDefaultCase(b)})}const d=A=>A,v=new Map,p=new WeakMap;let m;function y(A,O){return m||(m=f()),m(A,O)}function g(){return m||(m=f()),m.getInitialState()}function w(A,O=!1){function b(_){let I=_[A];return typeof I>"u"&&O&&(I=Xn(p,b,g)),I}function S(_=d){const I=Xn(v,O,()=>new WeakMap);return Xn(I,_,()=>{const C={};for(const[j,E]of Object.entries(i.selectors??{}))C[j]=Ub(E,_,()=>Xn(p,_,g),O);return C})}return{reducerPath:A,getSelectors:S,get selectors(){return S(b)},selectSlice:b}}const x={name:a,reducer:y,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:g,...w(o),injectInto(A,{reducerPath:O,...b}={}){const S=O??o;return A.inject({reducerPath:S,reducer:y},b),{...x,...w(S,!0)}}};return x}}function Ub(e,t,r,n){function i(a,...o){let u=t(a);return typeof u>"u"&&n&&(u=r()),e(u,...o)}return i.unwrapped=e,i}var Ce=Wb();function Kb(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Hb({type:e,reducerName:t,createNotation:r},n,i){let a,o;if("reducer"in n){if(r&&!Vb(n))throw new Error(Fe(17));a=n.reducer,o=n.prepare}else a=n;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?We(e,o):We(e))}function Yb(e){return e._reducerDefinitionType==="asyncThunk"}function Vb(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Gb({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Fe(18));const{payloadCreator:a,fulfilled:o,pending:u,rejected:l,settled:c,options:s}=r,f=i(e,a,s);n.exposeAction(t,f),o&&n.addCase(f.fulfilled,o),u&&n.addCase(f.pending,u),l&&n.addCase(f.rejected,l),c&&n.addMatcher(f.settled,c),n.exposeCaseReducer(t,{fulfilled:o||Zn,pending:u||Zn,rejected:l||Zn,settled:c||Zn})}function Zn(){}var qb="task",Yv="listener",Vv="completed",Tu="cancelled",Xb=`task-${Tu}`,Zb=`task-${Vv}`,Ko=`${Yv}-${Tu}`,Qb=`${Yv}-${Vv}`,pa=class{constructor(e){Hn(this,"code");Hn(this,"name","TaskAbortError");Hn(this,"message");this.code=e,this.message=`${qb} ${Tu} (reason: ${e})`}},Mu=(e,t)=>{if(typeof e!="function")throw new TypeError(Fe(32))},Pi=()=>{},Gv=(e,t=Pi)=>(e.catch(t),e),qv=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),ur=e=>{if(e.aborted)throw new pa(e.reason)};function Xv(e,t){let r=Pi;return new Promise((n,i)=>{const a=()=>i(new pa(e.reason));if(e.aborted){a();return}r=qv(e,a),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Pi})}var Jb=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof pa?"cancelled":"rejected",error:r}}finally{t==null||t()}},Si=e=>t=>Gv(Xv(e,t).then(r=>(ur(e),r))),Zv=e=>{const t=Si(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:jr}=Object,kc={},ma="listenerMiddleware",ew=(e,t)=>{const r=n=>qv(e,()=>n.abort(e.reason));return(n,i)=>{Mu(n);const a=new AbortController;r(a);const o=Jb(async()=>{ur(e),ur(a.signal);const u=await n({pause:Si(a.signal),delay:Zv(a.signal),signal:a.signal});return ur(a.signal),u},()=>a.abort(Zb));return i!=null&&i.autoJoin&&t.push(o.catch(Pi)),{result:Si(e)(o),cancel(){a.abort(Xb)}}}},tw=(e,t)=>{const r=async(n,i)=>{ur(t);let a=()=>{};const u=[new Promise((l,c)=>{let s=e({predicate:n,effect:(f,d)=>{d.unsubscribe(),l([f,d.getState(),d.getOriginalState()])}});a=()=>{s(),c()}})];i!=null&&u.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await Xv(t,Promise.race(u));return ur(t),l}finally{a()}};return((n,i)=>Gv(r(n,i)))},Qv=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:a}=e;if(t)i=We(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Fe(21));return Mu(a),{predicate:i,type:t,effect:a}},Jv=jr(e=>{const{type:t,predicate:r,effect:n}=Qv(e);return{id:zb(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Fe(22))}}},{withTypes:()=>Jv}),jc=(e,t)=>{const{type:r,effect:n,predicate:i}=Qv(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===i)&&a.effect===n)},Ho=e=>{e.pending.forEach(t=>{t.abort(Ko)})},rw=(e,t)=>()=>{for(const r of t.keys())Ho(r);e.clear()},Tc=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},eh=jr(We(`${ma}/add`),{withTypes:()=>eh}),nw=We(`${ma}/removeAll`),th=jr(We(`${ma}/remove`),{withTypes:()=>th}),iw=(...e)=>{console.error(`${ma}/error`,...e)},jn=(e={})=>{const t=new Map,r=new Map,n=v=>{const p=r.get(v)??0;r.set(v,p+1)},i=v=>{const p=r.get(v)??1;p===1?r.delete(v):r.set(v,p-1)},{extra:a,onError:o=iw}=e;Mu(o);const u=v=>(v.unsubscribe=()=>t.delete(v.id),t.set(v.id,v),p=>{v.unsubscribe(),p!=null&&p.cancelActive&&Ho(v)}),l=(v=>{const p=jc(t,v)??Jv(v);return u(p)});jr(l,{withTypes:()=>l});const c=v=>{const p=jc(t,v);return p&&(p.unsubscribe(),v.cancelActive&&Ho(p)),!!p};jr(c,{withTypes:()=>c});const s=async(v,p,m,y)=>{const g=new AbortController,w=tw(l,g.signal),x=[];try{v.pending.add(g),n(v),await Promise.resolve(v.effect(p,jr({},m,{getOriginalState:y,condition:(A,O)=>w(A,O).then(Boolean),take:w,delay:Zv(g.signal),pause:Si(g.signal),extra:a,signal:g.signal,fork:ew(g.signal,x),unsubscribe:v.unsubscribe,subscribe:()=>{t.set(v.id,v)},cancelActiveListeners:()=>{v.pending.forEach((A,O,b)=>{A!==g&&(A.abort(Ko),b.delete(A))})},cancel:()=>{g.abort(Ko),v.pending.delete(g)},throwIfCancelled:()=>{ur(g.signal)}})))}catch(A){A instanceof pa||Tc(o,A,{raisedBy:"effect"})}finally{await Promise.all(x),g.abort(Qb),i(v),v.pending.delete(g)}},f=rw(t,r);return{middleware:v=>p=>m=>{if(!kv(m))return p(m);if(eh.match(m))return l(m.payload);if(nw.match(m)){f();return}if(th.match(m))return c(m.payload);let y=v.getState();const g=()=>{if(y===kc)throw new Error(Fe(23));return y};let w;try{if(w=p(m),t.size>0){const x=v.getState(),A=Array.from(t.values());for(const O of A){let b=!1;try{b=O.predicate(m,x,y)}catch(S){b=!1,Tc(o,S,{raisedBy:"predicate"})}b&&s(O,m,v,g)}}}finally{y=kc}return w},startListening:l,stopListening:c,clearListeners:f}};function Fe(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var aw={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},rh=Ce({name:"chartLayout",initialState:aw,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,a;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),ya=rh.actions,ow=ya.setMargin,uw=ya.setLayout,lw=ya.setChartSize,cw=ya.setScale,sw=rh.reducer;function nh(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function U(e){return Number.isFinite(e)}function mt(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Mc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Cr(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,a=t.align,o=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&o==="middle")&&a!=="center"&&D(e[a]))return Cr(Cr({},e),{},{[a]:e[a]+(n||0)});if((u==="horizontal"||u==="vertical"&&a==="center")&&o!=="middle"&&D(e[o]))return Cr(Cr({},e),{},{[o]:e[o]+(i||0)})}return e},bt=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",ih=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,a,o=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(a=!0),u.coordinate));return i||o.push(t),a||o.push(r),o},ah=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,u=e.realScaleType,l=e.isCategorical,c=e.categoricalDomain,s=e.tickCount,f=e.ticks,d=e.niceTicks,v=e.axisType;if(!o)return null;var p=u==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,m=i==="category"&&o.bandwidth?o.bandwidth()/p:0;if(m=v==="angleAxis"&&a&&a.length>=2?He(a[0]-a[1])*2*m:m,f||d){var y=(f||d||[]).map((g,w)=>{var x=n?n.indexOf(g):g,A=o.map(x);return U(A)?{coordinate:A+m,value:g,offset:m,index:w}:null}).filter(De);return y}return l&&c?c.map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.ticks&&s!=null?o.ticks(s).map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.domain().map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:n?n[g]:g,index:w,offset:m}:null}).filter(De)},pw=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(c[0]=a,a+=d,c[1]=a):(c[0]=o,o+=d,c[1]=o)}}}},mw=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(l[0]=a,a+=c,l[1]=a):(l[0]=0,l[1]=0)}}}},yw={sign:pw,expand:Mg,none:cr,silhouette:Dg,wiggle:$g,positive:mw},gw=(e,t,r)=>{var n,i=(n=yw[r])!==null&&n!==void 0?n:cr,a=Tg().keys(t).value((u,l)=>Number(he(u,l,0))).order(jo).offset(i),o=a(e);return o.forEach((u,l)=>{u.forEach((c,s)=>{var f=he(e[s],t[l],0);Array.isArray(f)&&f.length===2&&D(f[0])&&D(f[1])&&(c[0]=f[0],c[1]=f[1])})}),o};function bw(e){return e==null?void 0:String(e)}function Dc(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Oe(i[t.dataKey])){var u=fv(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var l=he(i,Oe(o)?t.dataKey:o),c=t.scale.map(l);return D(c)?c:null}var ww=e=>{var t=e.flat(2).filter(D);return[Math.min(...t),Math.max(...t)]},xw=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Aw=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return xw(Object.keys(e).reduce((n,i)=>{var a=e[i];if(!a)return n;var o=a.stackedData,u=o.reduce((l,c)=>{var s=nh(c,t,r),f=ww(s);return!U(f[0])||!U(f[1])?l:[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},$c=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Nc=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ei=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=ua(t,s=>s.coordinate),a=1/0,o=1,u=i.length;o{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},Pw=(e,t)=>t==="centric"?e.angle:e.radius,Mt=e=>e.layout.width,Dt=e=>e.layout.height,Sw=e=>e.layout.scale,uh=e=>e.layout.margin,ga=P(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ba=P(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Ew="data-recharts-item-index",_w="data-recharts-item-id",Tn=60;function Rc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qn(e){for(var t=1;te.brush.height;function Tw(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function Mw(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function Dw(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function $w(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Pe=P([Mt,Dt,uh,jw,Tw,Mw,Dw,$w,_v,rb],(e,t,r,n,i,a,o,u,l,c)=>{var s={left:(r.left||0)+i,right:(r.right||0)+a},f={top:(r.top||0)+o,bottom:(r.bottom||0)+u},d=Qn(Qn({},f),s),v=d.bottom;d.bottom+=n,d=hw(d,l,c);var p=e-d.left-d.right,m=t-d.top-d.bottom;return Qn(Qn({brushBottom:v},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Nw=P(Pe,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),lh=P(Mt,Dt,(e,t)=>({x:0,y:0,width:e,height:t})),Lw=h.createContext(null),$e=()=>h.useContext(Lw)!=null,wa=e=>e.brush,xa=P([wa,Pe,uh],(e,t,r)=>({height:e.height,x:D(e.x)?e.x:t.left,y:D(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:D(e.width)?e.width:t.width}));function Rw(e,t,{signal:r,edges:n}={}){let i,a=null;const o=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),l=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},c=()=>{u&&l(),v()};let s=null;const f=()=>{s!=null&&clearTimeout(s),s=setTimeout(()=>{s=null,c()},t)},d=()=>{s!==null&&(clearTimeout(s),s=null)},v=()=>{d(),i=void 0,a=null},p=()=>{l()},m=function(...y){if(r!=null&&r.aborted)return;i=this,a=y;const g=s==null;f(),o&&g&&l()};return m.schedule=f,m.cancel=v,m.flush=p,r==null||r.addEventListener("abort",v,{once:!0}),m}function zw(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:a}=r,o=Array(2);n&&(o[0]="leading"),i&&(o[1]="trailing");let u,l=null;const c=Rw(function(...d){u=e.apply(this,d),l=null},t,{edges:o}),s=function(...d){return a!=null&&(l===null&&(l=Date.now()),Date.now()-l>=a)?(u=e.apply(this,d),l=Date.now(),c.cancel(),c.schedule(),u):(c.apply(this,d),u)},f=()=>(c.flush(),u);return s.cancel=c.cancel,s.flush=f,s}function Bw(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return zw(e,t,{leading:n,maxWait:t,trailing:i})}var _i=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;ai[o++]))}},ft={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},ch=(e,t,r)=>{var n=r.width,i=n===void 0?ft.width:n,a=r.height,o=a===void 0?ft.height:a,u=r.aspect,l=r.maxHeight,c=sr(i)?e:Number(i),s=sr(o)?t:Number(o);return u&&u>0&&(c?s=c/u:s&&(c=s*u),l&&s!=null&&s>l&&(s=l)),{calculatedWidth:c,calculatedHeight:s}},Fw={width:0,height:0,overflow:"visible"},Ww={width:0,overflowX:"visible"},Uw={height:0,overflowY:"visible"},Kw={},Hw=e=>{var t=e.width,r=e.height,n=sr(t),i=sr(r);return n&&i?Fw:n?Ww:i?Uw:Kw};function Yw(e){var t=e.width,r=e.height,n=e.aspect,i=t,a=r;return i===void 0&&a===void 0?(i=ft.width,a=ft.height):i===void 0?i=n&&n>0?void 0:ft.width:a===void 0&&(a=n&&n>0?void 0:ft.height),{width:i,height:a}}var Vw=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Ii(){return Ii=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return ix(i)?h.createElement(sh.Provider,{value:i},t):null}var Du=()=>h.useContext(sh),ax=h.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?ft.initialDimension:n,a=e.width,o=e.height,u=e.minWidth,l=u===void 0?ft.minWidth:u,c=e.minHeight,s=e.maxHeight,f=e.children,d=e.debounce,v=d===void 0?ft.debounce:d,p=e.id,m=e.className,y=e.onResize,g=e.style,w=g===void 0?{}:g,x=rx(e,Vw),A=h.useRef(null),O=h.useRef();O.current=y,h.useImperativeHandle(t,()=>A.current);var b=h.useState({containerWidth:i.width,containerHeight:i.height}),S=Zw(b,2),_=S[0],I=S[1],C=h.useCallback((H,Y)=>{I(B=>{var q=Math.round(H),W=Math.round(Y);return B.containerWidth===q&&B.containerHeight===W?B:{containerWidth:q,containerHeight:W}})},[]);h.useEffect(()=>{if(A.current==null||typeof ResizeObserver>"u")return Fr;var H=Se=>{var ge,ae=Se[0];if(ae!=null){var Ne=ae.contentRect,Le=Ne.width,Je=Ne.height;C(Le,Je),(ge=O.current)===null||ge===void 0||ge.call(O,Le,Je)}};v>0&&(H=Bw(H,v,{trailing:!0,leading:!1}));var Y=new ResizeObserver(H),B=A.current.getBoundingClientRect(),q=B.width,W=B.height;return C(q,W),Y.observe(A.current),()=>{Y.disconnect()}},[C,v]);var j=_.containerWidth,E=_.containerHeight;_i(!r||r>0,"The aspect(%s) must be greater than zero.",r);var R=ch(j,E,{width:a,height:o,aspect:r,maxHeight:s}),$=R.calculatedWidth,G=R.calculatedHeight;return _i(j<0||E<0||$!=null&&$>0||G!=null&&G>0,`The width(%s) and height(%s) of chart should be greater than 0, +var Wy=Object.defineProperty;var Uy=(e,t,r)=>t in e?Wy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Hn=(e,t,r)=>Uy(e,typeof t!="symbol"?t+"":t,r);import{r as h,aq as ee,ar as Ky,as as Hy,aj as Yy,ao as Gy,j as oe}from"./index-Bb8GyPHo.js";import{m as Yl,d as Gl,o as Dd,e as ot,f as Vy,i as Ao,c as Vl,a as ql,b as qy,g as Tt,h as Xy}from"./string-DoZi9Vij.js";import{r as $d}from"./index-wthGkuS_.js";var Zy=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function pu(e){if(typeof e!="string")return!1;var t=Zy;return t.includes(e)}var Qy=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],Jy=new Set(Qy);function Nd(e){return typeof e!="string"?!1:Jy.has(e)}function Ld(e){return typeof e=="string"&&e.startsWith("data-")}function it(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r))&&(t[r]=e[r]);return t}function ia(e){if(e==null)return null;if(h.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return it(t)}return typeof e=="object"&&!Array.isArray(e)?it(e):null}function Ve(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r)||pu(r))&&(t[r]=e[r]);return t}function eg(e){return e==null?null:h.isValidElement(e)?Ve(e.props):typeof e=="object"&&!Array.isArray(e)?Ve(e):null}var tg=["children","width","height","viewBox","className","style","title","desc"];function Oo(){return Oo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,a=e.viewBox,o=e.className,u=e.style,l=e.title,c=e.desc,s=rg(e,tg),f=a||{width:n,height:i,x:0,y:0},d=ee("recharts-surface",o);return h.createElement("svg",Oo({},Ve(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),h.createElement("title",null,l),h.createElement("desc",null,c),r)}),ig=["children","className"];function Po(){return Po=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=ag(e,ig),a=ee("recharts-layer",n);return h.createElement("g",Po({className:a},Ve(i),{ref:t}),r)}),ug=h.createContext(null);function ne(e){return function(){return e}}const So=Math.PI,Eo=2*So,er=1e-6,lg=Eo-er;function zd(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return zd;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;ier)if(!(Math.abs(f*l-c*s)>er)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,p=i-u,m=l*l+c*c,y=v*v+p*p,g=Math.sqrt(m),w=Math.sqrt(d),x=a*Math.tan((So-Math.acos((m+d-y)/(2*g*w)))/2),A=x/w,O=x/g;Math.abs(A-1)>er&&this._append`L${t+A*s},${r+A*f}`,this._append`A${a},${a},0,0,${+(f*v>s*p)},${this._x1=t+O*l},${this._y1=r+O*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>er||Math.abs(this._y1-s)>er)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%Eo+Eo),d>lg?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>er&&this._append`A${n},${n},0,${+(d>=So)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Bd(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new sg(t)}function mu(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Fd(e){this._context=e}Fd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function aa(e){return new Fd(e)}function Wd(e){return e[0]}function Ud(e){return e[1]}function Kd(e,t){var r=ne(!0),n=null,i=aa,a=null,o=Bd(u);e=typeof e=="function"?e:e===void 0?Wd:ne(e),t=typeof t=="function"?t:t===void 0?Ud:ne(t);function u(l){var c,s=(l=mu(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c=v;--p)u.point(x[p],A[p]);u.lineEnd(),u.areaEnd()}g&&(x[d]=+e(y,d,f),A[d]=+t(y,d,f),u.point(n?+n(y,d,f):x[d],r?+r(y,d,f):A[d]))}if(w)return u=null,w+""||null}function s(){return Kd().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ne(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ne(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:ne(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class Hd{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function fg(e){return new Hd(e,!0)}function dg(e){return new Hd(e,!1)}function vi(){}function hi(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Yd(e){this._context=e}Yd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:hi(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vg(e){return new Yd(e)}function Gd(e){this._context=e}Gd.prototype={areaStart:vi,areaEnd:vi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hg(e){return new Gd(e)}function Vd(e){this._context=e}Vd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function pg(e){return new Vd(e)}function qd(e){this._context=e}qd.prototype={areaStart:vi,areaEnd:vi,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function mg(e){return new qd(e)}function Xl(e){return e<0?-1:1}function Zl(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(Xl(a)+Xl(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function Ql(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Ga(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function pi(e){this._context=e}pi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ga(this,this._t0,Ql(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Ga(this,Ql(this,r=Zl(this,e,t)),r);break;default:Ga(this,this._t0,r=Zl(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Xd(e){this._context=new Zd(e)}(Xd.prototype=Object.create(pi.prototype)).point=function(e,t){pi.prototype.point.call(this,t,e)};function Zd(e){this._context=e}Zd.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function yg(e){return new pi(e)}function gg(e){return new Xd(e)}function Qd(e){this._context=e}Qd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Jl(e),i=Jl(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function wg(e){return new oa(e,.5)}function xg(e){return new oa(e,0)}function Ag(e){return new oa(e,1)}function cr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r=0;)r[t]=t;return r}function Og(e,t){return e[t]}function Pg(e){const t=[];return t.key=e,t}function Sg(){var e=ne([]),t=_o,r=cr,n=Og;function i(a){var o=Array.from(e.apply(this,arguments),Pg),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u0){for(var r,n,i=0,a=e[0].length,o;i0){for(var r=0,n=e[t[0]],i,a=n.length;r0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n1&&arguments[1]!==void 0?arguments[1]:kg,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function we(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ut(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,ht=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,D=e=>(typeof e=="number"||e instanceof Number)&&!ht(e),pt=e=>D(e)||typeof e=="string",jg=0,yn=e=>{var t=++jg;return"".concat(e||"").concat(t)},Yt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!D(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return ht(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},tv=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):yr(n,t))===r)}var Oe=e=>e===null||typeof e>"u",bu=e=>Oe(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function De(e){return e!=null}function Fr(){}var nv=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,wu=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(h.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{pu(i)&&typeof r[i]=="function"&&(n[i]=(a=>r[i](r,a)))}),n},Tg=(e,t,r)=>n=>(e(t,r,n),null),Mg=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];pu(i)&&typeof a=="function"&&(n||(n={}),n[i]=Tg(a,t,r))}),n};function ec(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dg(e){for(var t=1;t(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}function Rg(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function xu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Ug="[object RegExp]",av="[object String]",ov="[object Number]",uv="[object Boolean]",lv="[object Arguments]",Kg="[object Symbol]",Hg="[object Date]",Yg="[object Map]",Gg="[object Set]",Vg="[object Array]",qg="[object ArrayBuffer]",Xg="[object Object]",Zg="[object DataView]",Qg="[object Uint8Array]",Jg="[object Uint8ClampedArray]",e0="[object Uint16Array]",t0="[object Uint32Array]",r0="[object Int8Array]",n0="[object Int16Array]",i0="[object Int32Array]",a0="[object Float32Array]",o0="[object Float64Array]",tc=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function u0(e){return typeof tc.Buffer<"u"&&tc.Buffer.isBuffer(e)}function l0(e,t){return nr(e,void 0,e,new Map,t)}function nr(e,t,r,n=new Map,i=void 0){const a=i==null?void 0:i(e,t,r,n);if(a!==void 0)return a;if(Co(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const o=new Array(e.length);n.set(e,o);for(let u=0;u{}):ko(e,t,function n(i,a,o,u,l,c){const s=r(i,a,o,u,l,c);return s!==void 0?!!s:ko(i,a,n,c,!1)},new Map,!0)}function ko(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return f0(e,t,r,n);case"function":return Object.keys(t).length>0?ko(e,{...t},r,n,i):oi(e,t);default:return cv(e)&&i?typeof t=="string"?t==="":!0:oi(e,t)}}function f0(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return fv(e,t,r,n);if(t instanceof Map)return d0(e,t,r,n);if(t instanceof Set)return v0(e,t,r,n);const i=Object.keys(t);if(e==null||Co(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let a=0;a{})}function h0(e){return e=s0(e),t=>dv(t,e)}function p0(e,t){return l0(e,(r,n,i,a)=>{if(typeof e=="object"){if(xu(e)==="[object Object]"&&typeof e.constructor!="function"){const o={};return a.set(e,o),tt(o,e,i,a),o}switch(Object.prototype.toString.call(e)){case ov:case av:case uv:{const o=new e.constructor(e==null?void 0:e.valueOf());return tt(o,e),o}case lv:{const o={};return tt(o,e),o.length=e.length,o[Symbol.iterator]=e[Symbol.iterator],o}default:return}}})}function m0(e){return p0(e)}const y0=/^(?:0|[1-9]\d*)$/;function vv(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function hv(e){return e!=null&&typeof e!="function"&&A0(e.length)}function O0(e){return typeof e=="object"&&e!==null}function P0(e){return O0(e)&&hv(e)}function rc(e,t=iv){return P0(e)?Rg(Array.from(e),zg(x0(t),1)):[]}function S0(e,t,r){return t===!0?rc(e,r):typeof t=="function"?rc(e,t):e}var Au=h.createContext(null),E0=e=>e,le=()=>{var e=h.useContext(Au);return e?e.store.dispatch:E0},ui=()=>{},_0=()=>ui,I0=(e,t)=>e===t;function N(e){var t=h.useContext(Au),r=h.useMemo(()=>t?n=>{if(n!=null)return e(n)}:ui,[t,e]);return Ky.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:_0,t?t.store.getState:ui,t?t.store.getState:ui,r,I0)}function C0(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function k0(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var nc=e=>Array.isArray(e)?e:[e];function j0(e){const t=Array.isArray(e[0])?e[0]:e;return k0(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function T0(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?M0:WeakRef,pv=D0(),$0=0,ic=1;function Gn(){return{s:$0,v:void 0,o:null,p:null}}function N0(e){return e instanceof pv?e.deref():e}function mv(e,t={}){let r=Gn();const{resultEqualityCheck:n}=t;let i,a=0;function o(){let u=r;const{length:l}=arguments;for(let f=0,d=l;f{r=Gn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function L0(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let a=0,o=0,u,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),C0(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const s={...r,...l},{memoize:f,memoizeOptions:d=[],argsMemoize:v=mv,argsMemoizeOptions:p=[]}=s,m=nc(d),y=nc(p),g=j0(i),w=f(function(){return a++,c.apply(null,arguments)},...m),x=v(function(){o++;const O=T0(g,arguments);return u=w.apply(null,O),u},...y);return Object.assign(x,{resultFunc:c,memoizedResultFunc:w,dependencies:g,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:v})};return Object.assign(n,{withTypes:()=>n}),n}var P=L0(mv);function R0(e,t=1){const r=[],n=Math.floor(t),i=(a,o)=>{for(let u=0;u{if(e!==t){const n=ac(e),i=ac(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function yv(e){return typeof e=="symbol"||e instanceof Symbol}const B0=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F0=/^\w*$/;function W0(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||yv(e)?!0:typeof e=="string"&&(F0.test(e)||!B0.test(e))||t!=null}function U0(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(u=>String(u));const i=(u,l)=>{let c=u;for(let s=0;sl==null||u==null?l:typeof u=="object"&&"key"in u?Object.hasOwn(l,u.key)?l[u.key]:i(l,u.path):typeof u=="function"?u(l):Array.isArray(u)?i(l,u):typeof l=="object"?l[u]:l,o=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||W0(u)?u:{key:u,path:gu(u)}));return e.map(u=>({original:u,criteria:o.map(l=>a(l,u))})).slice().sort((u,l)=>{for(let c=0;cu.original)}function ua(e,...t){const r=t.length;return r>1&&jo(e,t[0],t[1])?t=[]:r>2&&jo(t[0],t[1],t[2])&&(t=[t[0]]),U0(e,R0(t),["asc"])}var gv=e=>e.legend.settings,K0=e=>e.legend.size,H0=e=>e.legend.payload;P([H0,gv],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?ua(n,r):n});function Y0(e,t){return X0(e)||q0(e,t)||V0(e,t)||G0()}function G0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function V0(e,t){if(e){if(typeof e=="string")return oc(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oc(e,t):void 0}}function oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rVn||Math.abs(e.left-t.left)>Vn||Math.abs(e.top-t.top)>Vn||Math.abs(e.width-t.width)>Vn}function lc(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Z0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=h.useState({height:0,left:0,top:0,width:0}),r=Y0(t,2),n=r[0],i=r[1],a=h.useRef(null),o=h.useRef(n);o.current=n;var u=h.useCallback(l=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),l!=null){var c=lc(l);if(uc(c,o.current)&&i(c),typeof ResizeObserver<"u"){var s=new ResizeObserver(()=>{var f=lc(l);uc(f,o.current)&&i(f)});s.observe(l),a.current=s}}},[...e]);return h.useEffect(()=>()=>{var l;(l=a.current)===null||l===void 0||l.disconnect()},[]),[n,u]}function be(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Q0=typeof Symbol=="function"&&Symbol.observable||"@@observable",cc=Q0,Va=()=>Math.random().toString(36).substring(7).split("").join("."),J0={INIT:`@@redux/INIT${Va()}`,REPLACE:`@@redux/REPLACE${Va()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Va()}`},mi=J0;function Ou(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function bv(e,t,r){if(typeof e!="function")throw new Error(be(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(be(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(be(1));return r(bv)(e,t)}let n=e,i=t,a=new Map,o=a,u=0,l=!1;function c(){o===a&&(o=new Map,a.forEach((y,g)=>{o.set(g,y)}))}function s(){if(l)throw new Error(be(3));return i}function f(y){if(typeof y!="function")throw new Error(be(4));if(l)throw new Error(be(5));let g=!0;c();const w=u++;return o.set(w,y),function(){if(g){if(l)throw new Error(be(6));g=!1,c(),o.delete(w),a=null}}}function d(y){if(!Ou(y))throw new Error(be(7));if(typeof y.type>"u")throw new Error(be(8));if(typeof y.type!="string")throw new Error(be(17));if(l)throw new Error(be(9));try{l=!0,i=n(i,y)}finally{l=!1}return(a=o).forEach(w=>{w()}),y}function v(y){if(typeof y!="function")throw new Error(be(10));n=y,d({type:mi.REPLACE})}function p(){const y=f;return{subscribe(g){if(typeof g!="object"||g===null)throw new Error(be(11));function w(){const A=g;A.next&&A.next(s())}return w(),{unsubscribe:y(w)}},[cc](){return this}}}return d({type:mi.INIT}),{dispatch:d,subscribe:f,getState:s,replaceReducer:v,[cc]:p}}function eb(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:mi.INIT})>"u")throw new Error(be(12));if(typeof r(void 0,{type:mi.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(be(13))})}function wv(e){const t=Object.keys(e),r={};for(let a=0;a"u")throw u&&u.type,new Error(be(14));c[f]=p,l=l||p!==v}return l=l||n.length!==Object.keys(o).length,l?c:o}}function yi(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function tb(...e){return t=>(r,n)=>{const i=t(r,n);let a=()=>{throw new Error(be(15))};const o={getState:i.getState,dispatch:(l,...c)=>a(l,...c)},u=e.map(l=>l(o));return a=yi(...u)(i.dispatch),{...i,dispatch:a}}}function xv(e){return Ou(e)&&"type"in e&&typeof e.type=="string"}var Av=Symbol.for("immer-nothing"),sc=Symbol.for("immer-draftable"),Te=Symbol.for("immer-state");function rt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Be=Object,Mr=Be.getPrototypeOf,gi="constructor",la="prototype",To="configurable",bi="enumerable",li="writable",gn="value",It=e=>!!e&&!!e[Te];function at(e){var t;return e?Ov(e)||sa(e)||!!e[sc]||!!((t=e[gi])!=null&&t[sc])||fa(e)||da(e):!1}var rb=Be[la][gi].toString(),fc=new WeakMap;function Ov(e){if(!e||!Pu(e))return!1;const t=Mr(e);if(t===null||t===Be[la])return!0;const r=Be.hasOwnProperty.call(t,gi)&&t[gi];if(r===Object)return!0;if(!Ir(r))return!1;let n=fc.get(r);return n===void 0&&(n=Function.toString.call(r),fc.set(r,n)),n===rb}function ca(e,t,r=!0){kn(e)===0?(r?Reflect.ownKeys(e):Be.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function kn(e){const t=e[Te];return t?t.type_:sa(e)?1:fa(e)?2:da(e)?3:0}var dc=(e,t,r=kn(e))=>r===2?e.has(t):Be[la].hasOwnProperty.call(e,t),Mo=(e,t,r=kn(e))=>r===2?e.get(t):e[t],wi=(e,t,r,n=kn(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function nb(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var sa=Array.isArray,fa=e=>e instanceof Map,da=e=>e instanceof Set,Pu=e=>typeof e=="object",Ir=e=>typeof e=="function",qa=e=>typeof e=="boolean";function ib(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var xt=e=>e.copy_||e.base_,Su=e=>e.modified_?e.copy_:e.base_;function Do(e,t){if(fa(e))return new Map(e);if(da(e))return new Set(e);if(sa(e))return Array[la].slice.call(e);const r=Ov(e);if(t===!0||t==="class_only"&&!r){const n=Be.getOwnPropertyDescriptors(e);delete n[Te];let i=Reflect.ownKeys(n);for(let a=0;a1&&Be.defineProperties(e,{set:qn,add:qn,clear:qn,delete:qn}),Be.freeze(e),t&&ca(e,(r,n)=>{Eu(n,!0)},!1)),e}function ab(){rt(2)}var qn={[gn]:ab};function va(e){return e===null||!Pu(e)?!0:Be.isFrozen(e)}var xi="MapSet",$o="Patches",vc="ArrayMethods",Pv={};function fr(e){const t=Pv[e];return t||rt(0,e),t}var hc=e=>!!Pv[e],bn,Sv=()=>bn,ob=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:hc(xi)?fr(xi):void 0,arrayMethodsPlugin_:hc(vc)?fr(vc):void 0});function pc(e,t){t&&(e.patchPlugin_=fr($o),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function No(e){Lo(e),e.drafts_.forEach(ub),e.drafts_=null}function Lo(e){e===bn&&(bn=e.parent_)}var mc=e=>bn=ob(bn,e);function ub(e){const t=e[Te];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function yc(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[Te].modified_&&(No(t),rt(4)),at(e)&&(e=gc(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[Te].base_,e,t)}else e=gc(t,r);return lb(t,e,!0),No(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Av?e:void 0}function gc(e,t){if(va(t))return t;const r=t[Te];if(!r)return Ai(t,e.handledSet_,e);if(!ha(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);Iv(r,e)}return r.copy_}function lb(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Eu(t,r)}function Ev(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ha=(e,t)=>e.scope_===t,cb=[];function _v(e,t,r,n){const i=xt(e),a=e.type_;if(n!==void 0&&Mo(i,n,a)===t){wi(i,n,r,a);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;ca(i,(l,c)=>{if(It(c)){const s=u.get(c)||[];s.push(l),u.set(c,s)}})}const o=e.draftLocations_.get(t)??cb;for(const u of o)wi(i,u,r,a)}function sb(e,t,r){e.callbacks_.push(function(i){var u;const a=t;if(!a||!ha(a,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(a);const o=Su(a);_v(e,a.draft_??a,o,r),Iv(a,i)})}function Iv(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:i}=t;if(i){const a=i.getPath(e);a&&i.generatePatches_(e,a,t)}Ev(e)}}function fb(e,t,r){const{scope_:n}=e;if(It(r)){const i=r[Te];ha(i,n)&&i.callbacks_.push(function(){ci(e);const o=Su(i);_v(e,r,o,t)})}else at(r)&&e.callbacks_.push(function(){const a=xt(e);e.type_===3?a.has(r)&&Ai(r,n.handledSet_,n):Mo(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ai(Mo(e.copy_,t,e.type_),n.handledSet_,n)})}function Ai(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||It(e)||t.has(e)||!at(e)||va(e)||(t.add(e),ca(e,(n,i)=>{if(It(i)){const a=i[Te];if(ha(a,r)){const o=Su(a);wi(e,n,o,e.type_),Ev(a)}}else at(i)&&Ai(i,t,r)})),e}function db(e,t){const r=sa(e),n={type_:r?1:0,scope_:t?t.scope_:Sv(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,a=Oi;r&&(i=[n],a=wn);const{revoke:o,proxy:u}=Proxy.revocable(i,a);return n.draft_=u,n.revoke_=o,[u,n]}var Oi={get(e,t){if(t===Te)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const i=xt(e);if(!dc(i,t,e.type_))return vb(e,i,t);const a=i[t];if(e.finalized_||!at(a)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&ib(t))return a;if(a===Xa(e.base_,t)){ci(e);const o=e.type_===1?+t:t,u=zo(e.scope_,a,e,o);return e.copy_[o]=u}return a},has(e,t){return t in xt(e)},ownKeys(e){return Reflect.ownKeys(xt(e))},set(e,t,r){const n=Cv(xt(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Xa(xt(e),t),a=i==null?void 0:i[Te];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(nb(r,i)&&(r!==void 0||dc(e.base_,t,e.type_)))return!0;ci(e),Ro(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),fb(e,t,r)),!0},deleteProperty(e,t){return ci(e),Xa(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Ro(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=xt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[li]:!0,[To]:e.type_!==1||t!=="length",[bi]:n[bi],[gn]:r[t]}},defineProperty(){rt(11)},getPrototypeOf(e){return Mr(e.base_)},setPrototypeOf(){rt(12)}},wn={};for(let e in Oi){let t=Oi[e];wn[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}wn.deleteProperty=function(e,t){return wn.set.call(this,e,t,void 0)};wn.set=function(e,t,r){return Oi.set.call(this,e[0],t,r,e[0])};function Xa(e,t){const r=e[Te];return(r?xt(r):e)[t]}function vb(e,t,r){var i;const n=Cv(t,r);return n?gn in n?n[gn]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function Cv(e,t){if(!(t in e))return;let r=Mr(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Mr(r)}}function Ro(e){e.modified_||(e.modified_=!0,e.parent_&&Ro(e.parent_))}function ci(e){e.copy_||(e.assigned_=new Map,e.copy_=Do(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var hb=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(Ir(r)&&!Ir(n)){const o=n;n=r;const u=this;return function(c=o,...s){return u.produce(c,f=>n.call(this,f,...s))}}Ir(n)||rt(6),i!==void 0&&!Ir(i)&&rt(7);let a;if(at(r)){const o=mc(this),u=zo(o,r,void 0);let l=!0;try{a=n(u),l=!1}finally{l?No(o):Lo(o)}return pc(o,i),yc(a,o)}else if(!r||!Pu(r)){if(a=n(r),a===void 0&&(a=r),a===Av&&(a=void 0),this.autoFreeze_&&Eu(a,!0),i){const o=[],u=[];fr($o).generateReplacementPatches_(r,a,{patches_:o,inversePatches_:u}),i(o,u)}return a}else rt(1,r)},this.produceWithPatches=(r,n)=>{if(Ir(r))return(u,...l)=>this.produceWithPatches(u,c=>r(c,...l));let i,a;return[this.produce(r,n,(u,l)=>{i=u,a=l}),i,a]},qa(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),qa(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),qa(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){at(t)||rt(8),It(t)&&(t=Ye(t));const r=mc(this),n=zo(r,t,void 0);return n[Te].isManual_=!0,Lo(r),n}finishDraft(t,r){const n=t&&t[Te];(!n||!n.isManual_)&&rt(9);const{scope_:i}=n;return pc(i,r),yc(void 0,i)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const a=r[n];if(a.path.length===0&&a.op==="replace"){t=a.value;break}}n>-1&&(r=r.slice(n+1));const i=fr($o).applyPatches_;return It(t)?i(t,r):this.produce(t,a=>i(a,r))}};function zo(e,t,r,n){const[i,a]=fa(t)?fr(xi).proxyMap_(t,r):da(t)?fr(xi).proxySet_(t,r):db(t,r);return((r==null?void 0:r.scope_)??Sv()).drafts_.push(i),a.callbacks_=(r==null?void 0:r.callbacks_)??[],a.key_=n,r&&n!==void 0?sb(r,a,n):a.callbacks_.push(function(l){var s;(s=l.mapSetPlugin_)==null||s.fixSetContents(a);const{patchPlugin_:c}=l;a.modified_&&c&&c.generatePatches_(a,[],l)}),i}function Ye(e){return It(e)||rt(10,e),kv(e)}function kv(e){if(!at(e)||va(e))return e;const t=e[Te];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Do(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Do(e,!0);return ca(r,(i,a)=>{wi(r,i,kv(a))},n),t&&(t.finalized_=!1),r}var pb=new hb,jv=pb.produce;function Tv(e){return({dispatch:r,getState:n})=>i=>a=>typeof a=="function"?a(r,n,e):i(a)}var mb=Tv(),yb=Tv,gb=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?yi:yi.apply(null,arguments)};function We(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Fe(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>xv(n)&&n.type===e,r}var Mv=class fn extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,fn.prototype)}static get[Symbol.species](){return fn}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new fn(...t[0].concat(this)):new fn(...t.concat(this))}};function bc(e){return at(e)?jv(e,()=>{}):e}function Xn(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function bb(e){return typeof e=="boolean"}var wb=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=t??{};let o=new Mv;return r&&(bb(r)?o.push(mb):o.push(yb(r.extraArgument))),o},Dv="RTK_autoBatch",Q=()=>e=>({payload:e,meta:{[Dv]:!0}}),wc=e=>t=>{setTimeout(t,e)},xb=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(o),r())},a=e(i),o=setTimeout(i,t)},$v=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,a=!1,o=!1;const u=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?xb(window.requestAnimationFrame,100):wc(10):e.type==="callback"?e.queueNotification:wc(e.timeout),c=()=>{o=!1,a&&(a=!1,u.forEach(s=>s()))};return Object.assign({},n,{subscribe(s){const f=()=>i&&s(),d=n.subscribe(f);return u.add(s),()=>{d(),u.delete(s)}},dispatch(s){var f;try{return i=!((f=s==null?void 0:s.meta)!=null&&f[Dv]),a=!i,a&&(o||(o=!0,l(c))),n.dispatch(s)}finally{i=!0}}})},Ab=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new Mv(e);return n&&i.push($v(typeof n=="object"?n:void 0)),i};function Ob(e){const t=wb(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:a=void 0,enhancers:o=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(Ou(r))u=wv(r);else throw new Error(Fe(1));let l;typeof n=="function"?l=n(t):l=t();let c=yi;i&&(c=gb({trace:!1,...typeof i=="object"&&i}));const s=tb(...l),f=Ab(s);let d=typeof o=="function"?o(f):f();const v=c(...d);return bv(u,a,v)}function Nv(e){const t={},r=[];let n;const i={addCase(a,o){const u=typeof a=="string"?a:a.type;if(!u)throw new Error(Fe(28));if(u in t)throw new Error(Fe(29));return t[u]=o,i},addAsyncThunk(a,o){return o.pending&&(t[a.pending.type]=o.pending),o.rejected&&(t[a.rejected.type]=o.rejected),o.fulfilled&&(t[a.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:a.settled,reducer:o.settled}),i},addMatcher(a,o){return r.push({matcher:a,reducer:o}),i},addDefaultCase(a){return n=a,i}};return e(i),[t,r,n]}function Pb(e){return typeof e=="function"}function Sb(e,t){let[r,n,i]=Nv(t),a;if(Pb(e))a=()=>bc(e());else{const u=bc(e);a=()=>u}function o(u=a(),l){let c=[r[l.type],...n.filter(({matcher:s})=>s(l)).map(({reducer:s})=>s)];return c.filter(s=>!!s).length===0&&(c=[i]),c.reduce((s,f)=>{if(f)if(It(s)){const v=f(s,l);return v===void 0?s:v}else{if(at(s))return jv(s,d=>f(d,l));{const d=f(s,l);if(d===void 0){if(s===null)return s;throw Error("A case reducer on a non-draftable value must not return undefined")}return d}}return s},u)}return o.getInitialState=a,o}var Eb="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",_b=(e=21)=>{let t="",r=e;for(;r--;)t+=Eb[Math.random()*64|0];return t},Ib=Symbol.for("rtk-slice-createasyncthunk");function Cb(e,t){return`${e}/${t}`}function kb({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[Ib];return function(i){const{name:a,reducerPath:o=a}=i;if(!a)throw new Error(Fe(11));const u=(typeof i.reducers=="function"?i.reducers(Tb()):i.reducers)||{},l=Object.keys(u),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(A,O){const b=typeof A=="string"?A:A.type;if(!b)throw new Error(Fe(12));if(b in c.sliceCaseReducersByType)throw new Error(Fe(13));return c.sliceCaseReducersByType[b]=O,s},addMatcher(A,O){return c.sliceMatchers.push({matcher:A,reducer:O}),s},exposeAction(A,O){return c.actionCreators[A]=O,s},exposeCaseReducer(A,O){return c.sliceCaseReducersByName[A]=O,s}};l.forEach(A=>{const O=u[A],b={reducerName:A,type:Cb(a,A),createNotation:typeof i.reducers=="function"};Db(O)?Nb(b,O,s,t):Mb(b,O,s)});function f(){const[A={},O=[],b=void 0]=typeof i.extraReducers=="function"?Nv(i.extraReducers):[i.extraReducers],S={...A,...c.sliceCaseReducersByType};return Sb(i.initialState,_=>{for(let I in S)_.addCase(I,S[I]);for(let I of c.sliceMatchers)_.addMatcher(I.matcher,I.reducer);for(let I of O)_.addMatcher(I.matcher,I.reducer);b&&_.addDefaultCase(b)})}const d=A=>A,v=new Map,p=new WeakMap;let m;function y(A,O){return m||(m=f()),m(A,O)}function g(){return m||(m=f()),m.getInitialState()}function w(A,O=!1){function b(_){let I=_[A];return typeof I>"u"&&O&&(I=Xn(p,b,g)),I}function S(_=d){const I=Xn(v,O,()=>new WeakMap);return Xn(I,_,()=>{const C={};for(const[j,E]of Object.entries(i.selectors??{}))C[j]=jb(E,_,()=>Xn(p,_,g),O);return C})}return{reducerPath:A,getSelectors:S,get selectors(){return S(b)},selectSlice:b}}const x={name:a,reducer:y,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:g,...w(o),injectInto(A,{reducerPath:O,...b}={}){const S=O??o;return A.inject({reducerPath:S,reducer:y},b),{...x,...w(S,!0)}}};return x}}function jb(e,t,r,n){function i(a,...o){let u=t(a);return typeof u>"u"&&n&&(u=r()),e(u,...o)}return i.unwrapped=e,i}var Ce=kb();function Tb(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Mb({type:e,reducerName:t,createNotation:r},n,i){let a,o;if("reducer"in n){if(r&&!$b(n))throw new Error(Fe(17));a=n.reducer,o=n.prepare}else a=n;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?We(e,o):We(e))}function Db(e){return e._reducerDefinitionType==="asyncThunk"}function $b(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Nb({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Fe(18));const{payloadCreator:a,fulfilled:o,pending:u,rejected:l,settled:c,options:s}=r,f=i(e,a,s);n.exposeAction(t,f),o&&n.addCase(f.fulfilled,o),u&&n.addCase(f.pending,u),l&&n.addCase(f.rejected,l),c&&n.addMatcher(f.settled,c),n.exposeCaseReducer(t,{fulfilled:o||Zn,pending:u||Zn,rejected:l||Zn,settled:c||Zn})}function Zn(){}var Lb="task",Lv="listener",Rv="completed",_u="cancelled",Rb=`task-${_u}`,zb=`task-${Rv}`,Bo=`${Lv}-${_u}`,Bb=`${Lv}-${Rv}`,pa=class{constructor(e){Hn(this,"code");Hn(this,"name","TaskAbortError");Hn(this,"message");this.code=e,this.message=`${Lb} ${_u} (reason: ${e})`}},Iu=(e,t)=>{if(typeof e!="function")throw new TypeError(Fe(32))},Pi=()=>{},zv=(e,t=Pi)=>(e.catch(t),e),Bv=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),ur=e=>{if(e.aborted)throw new pa(e.reason)};function Fv(e,t){let r=Pi;return new Promise((n,i)=>{const a=()=>i(new pa(e.reason));if(e.aborted){a();return}r=Bv(e,a),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Pi})}var Fb=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof pa?"cancelled":"rejected",error:r}}finally{t==null||t()}},Si=e=>t=>zv(Fv(e,t).then(r=>(ur(e),r))),Wv=e=>{const t=Si(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:jr}=Object,xc={},ma="listenerMiddleware",Wb=(e,t)=>{const r=n=>Bv(e,()=>n.abort(e.reason));return(n,i)=>{Iu(n);const a=new AbortController;r(a);const o=Fb(async()=>{ur(e),ur(a.signal);const u=await n({pause:Si(a.signal),delay:Wv(a.signal),signal:a.signal});return ur(a.signal),u},()=>a.abort(zb));return i!=null&&i.autoJoin&&t.push(o.catch(Pi)),{result:Si(e)(o),cancel(){a.abort(Rb)}}}},Ub=(e,t)=>{const r=async(n,i)=>{ur(t);let a=()=>{};const u=[new Promise((l,c)=>{let s=e({predicate:n,effect:(f,d)=>{d.unsubscribe(),l([f,d.getState(),d.getOriginalState()])}});a=()=>{s(),c()}})];i!=null&&u.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await Fv(t,Promise.race(u));return ur(t),l}finally{a()}};return((n,i)=>zv(r(n,i)))},Uv=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:a}=e;if(t)i=We(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Fe(21));return Iu(a),{predicate:i,type:t,effect:a}},Kv=jr(e=>{const{type:t,predicate:r,effect:n}=Uv(e);return{id:_b(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Fe(22))}}},{withTypes:()=>Kv}),Ac=(e,t)=>{const{type:r,effect:n,predicate:i}=Uv(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===i)&&a.effect===n)},Fo=e=>{e.pending.forEach(t=>{t.abort(Bo)})},Kb=(e,t)=>()=>{for(const r of t.keys())Fo(r);e.clear()},Oc=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},Hv=jr(We(`${ma}/add`),{withTypes:()=>Hv}),Hb=We(`${ma}/removeAll`),Yv=jr(We(`${ma}/remove`),{withTypes:()=>Yv}),Yb=(...e)=>{console.error(`${ma}/error`,...e)},jn=(e={})=>{const t=new Map,r=new Map,n=v=>{const p=r.get(v)??0;r.set(v,p+1)},i=v=>{const p=r.get(v)??1;p===1?r.delete(v):r.set(v,p-1)},{extra:a,onError:o=Yb}=e;Iu(o);const u=v=>(v.unsubscribe=()=>t.delete(v.id),t.set(v.id,v),p=>{v.unsubscribe(),p!=null&&p.cancelActive&&Fo(v)}),l=(v=>{const p=Ac(t,v)??Kv(v);return u(p)});jr(l,{withTypes:()=>l});const c=v=>{const p=Ac(t,v);return p&&(p.unsubscribe(),v.cancelActive&&Fo(p)),!!p};jr(c,{withTypes:()=>c});const s=async(v,p,m,y)=>{const g=new AbortController,w=Ub(l,g.signal),x=[];try{v.pending.add(g),n(v),await Promise.resolve(v.effect(p,jr({},m,{getOriginalState:y,condition:(A,O)=>w(A,O).then(Boolean),take:w,delay:Wv(g.signal),pause:Si(g.signal),extra:a,signal:g.signal,fork:Wb(g.signal,x),unsubscribe:v.unsubscribe,subscribe:()=>{t.set(v.id,v)},cancelActiveListeners:()=>{v.pending.forEach((A,O,b)=>{A!==g&&(A.abort(Bo),b.delete(A))})},cancel:()=>{g.abort(Bo),v.pending.delete(g)},throwIfCancelled:()=>{ur(g.signal)}})))}catch(A){A instanceof pa||Oc(o,A,{raisedBy:"effect"})}finally{await Promise.all(x),g.abort(Bb),i(v),v.pending.delete(g)}},f=Kb(t,r);return{middleware:v=>p=>m=>{if(!xv(m))return p(m);if(Hv.match(m))return l(m.payload);if(Hb.match(m)){f();return}if(Yv.match(m))return c(m.payload);let y=v.getState();const g=()=>{if(y===xc)throw new Error(Fe(23));return y};let w;try{if(w=p(m),t.size>0){const x=v.getState(),A=Array.from(t.values());for(const O of A){let b=!1;try{b=O.predicate(m,x,y)}catch(S){b=!1,Oc(o,S,{raisedBy:"predicate"})}b&&s(O,m,v,g)}}}finally{y=xc}return w},startListening:l,stopListening:c,clearListeners:f}};function Fe(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Gb={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},Gv=Ce({name:"chartLayout",initialState:Gb,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,i,a;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),ya=Gv.actions,Vb=ya.setMargin,qb=ya.setLayout,Xb=ya.setChartSize,Zb=ya.setScale,Qb=Gv.reducer;function Vv(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function U(e){return Number.isFinite(e)}function mt(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Pc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Cr(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,a=t.align,o=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&o==="middle")&&a!=="center"&&D(e[a]))return Cr(Cr({},e),{},{[a]:e[a]+(n||0)});if((u==="horizontal"||u==="vertical"&&a==="center")&&o!=="middle"&&D(e[o]))return Cr(Cr({},e),{},{[o]:e[o]+(i||0)})}return e},bt=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",qv=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,a,o=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(a=!0),u.coordinate));return i||o.push(t),a||o.push(r),o},Xv=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,u=e.realScaleType,l=e.isCategorical,c=e.categoricalDomain,s=e.tickCount,f=e.ticks,d=e.niceTicks,v=e.axisType;if(!o)return null;var p=u==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,m=i==="category"&&o.bandwidth?o.bandwidth()/p:0;if(m=v==="angleAxis"&&a&&a.length>=2?He(a[0]-a[1])*2*m:m,f||d){var y=(f||d||[]).map((g,w)=>{var x=n?n.indexOf(g):g,A=o.map(x);return U(A)?{coordinate:A+m,value:g,offset:m,index:w}:null}).filter(De);return y}return l&&c?c.map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.ticks&&s!=null?o.ticks(s).map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.domain().map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:n?n[g]:g,index:w,offset:m}:null}).filter(De)},nw=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(c[0]=a,a+=d,c[1]=a):(c[0]=o,o+=d,c[1]=o)}}}},iw=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var i=0;i=0?(l[0]=a,a+=c,l[1]=a):(l[0]=0,l[1]=0)}}}},aw={sign:nw,expand:Eg,none:cr,silhouette:_g,wiggle:Ig,positive:iw},ow=(e,t,r)=>{var n,i=(n=aw[r])!==null&&n!==void 0?n:cr,a=Sg().keys(t).value((u,l)=>Number(he(u,l,0))).order(_o).offset(i),o=a(e);return o.forEach((u,l)=>{u.forEach((c,s)=>{var f=he(e[s],t[l],0);Array.isArray(f)&&f.length===2&&D(f[0])&&D(f[1])&&(c[0]=f[0],c[1]=f[1])})}),o};function uw(e){return e==null?void 0:String(e)}function Sc(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Oe(i[t.dataKey])){var u=rv(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var l=he(i,Oe(o)?t.dataKey:o),c=t.scale.map(l);return D(c)?c:null}var lw=e=>{var t=e.flat(2).filter(D);return[Math.min(...t),Math.max(...t)]},cw=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],sw=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return cw(Object.keys(e).reduce((n,i)=>{var a=e[i];if(!a)return n;var o=a.stackedData,u=o.reduce((l,c)=>{var s=Vv(c,t,r),f=lw(s);return!U(f[0])||!U(f[1])?l:[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},Ec=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_c=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ei=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var i=ua(t,s=>s.coordinate),a=1/0,o=1,u=i.length;o{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dw=(e,t)=>t==="centric"?e.angle:e.radius,Mt=e=>e.layout.width,Dt=e=>e.layout.height,vw=e=>e.layout.scale,Qv=e=>e.layout.margin,ga=P(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ba=P(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),hw="data-recharts-item-index",pw="data-recharts-item-id",Tn=60;function Cc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qn(e){for(var t=1;te.brush.height;function ww(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function xw(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function Aw(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function Ow(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Pe=P([Mt,Dt,Qv,bw,ww,xw,Aw,Ow,gv,K0],(e,t,r,n,i,a,o,u,l,c)=>{var s={left:(r.left||0)+i,right:(r.right||0)+a},f={top:(r.top||0)+o,bottom:(r.bottom||0)+u},d=Qn(Qn({},f),s),v=d.bottom;d.bottom+=n,d=rw(d,l,c);var p=e-d.left-d.right,m=t-d.top-d.bottom;return Qn(Qn({brushBottom:v},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Pw=P(Pe,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Jv=P(Mt,Dt,(e,t)=>({x:0,y:0,width:e,height:t})),Sw=h.createContext(null),$e=()=>h.useContext(Sw)!=null,wa=e=>e.brush,xa=P([wa,Pe,Qv],(e,t,r)=>({height:e.height,x:D(e.x)?e.x:t.left,y:D(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:D(e.width)?e.width:t.width}));function Ew(e,t,{signal:r,edges:n}={}){let i,a=null;const o=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),l=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},c=()=>{u&&l(),v()};let s=null;const f=()=>{s!=null&&clearTimeout(s),s=setTimeout(()=>{s=null,c()},t)},d=()=>{s!==null&&(clearTimeout(s),s=null)},v=()=>{d(),i=void 0,a=null},p=()=>{l()},m=function(...y){if(r!=null&&r.aborted)return;i=this,a=y;const g=s==null;f(),o&&g&&l()};return m.schedule=f,m.cancel=v,m.flush=p,r==null||r.addEventListener("abort",v,{once:!0}),m}function _w(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:a}=r,o=Array(2);n&&(o[0]="leading"),i&&(o[1]="trailing");let u,l=null;const c=Ew(function(...d){u=e.apply(this,d),l=null},t,{edges:o}),s=function(...d){return a!=null&&(l===null&&(l=Date.now()),Date.now()-l>=a)?(u=e.apply(this,d),l=Date.now(),c.cancel(),c.schedule(),u):(c.apply(this,d),u)},f=()=>(c.flush(),u);return s.cancel=c.cancel,s.flush=f,s}function Iw(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return _w(e,t,{leading:n,maxWait:t,trailing:i})}var _i=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;ai[o++]))}},ft={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},eh=(e,t,r)=>{var n=r.width,i=n===void 0?ft.width:n,a=r.height,o=a===void 0?ft.height:a,u=r.aspect,l=r.maxHeight,c=sr(i)?e:Number(i),s=sr(o)?t:Number(o);return u&&u>0&&(c?s=c/u:s&&(c=s*u),l&&s!=null&&s>l&&(s=l)),{calculatedWidth:c,calculatedHeight:s}},Cw={width:0,height:0,overflow:"visible"},kw={width:0,overflowX:"visible"},jw={height:0,overflowY:"visible"},Tw={},Mw=e=>{var t=e.width,r=e.height,n=sr(t),i=sr(r);return n&&i?Cw:n?kw:i?jw:Tw};function Dw(e){var t=e.width,r=e.height,n=e.aspect,i=t,a=r;return i===void 0&&a===void 0?(i=ft.width,a=ft.height):i===void 0?i=n&&n>0?void 0:ft.width:a===void 0&&(a=n&&n>0?void 0:ft.height),{width:i,height:a}}var $w=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Ii(){return Ii=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return Yw(i)?h.createElement(th.Provider,{value:i},t):null}var Cu=()=>h.useContext(th),Gw=h.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?ft.initialDimension:n,a=e.width,o=e.height,u=e.minWidth,l=u===void 0?ft.minWidth:u,c=e.minHeight,s=e.maxHeight,f=e.children,d=e.debounce,v=d===void 0?ft.debounce:d,p=e.id,m=e.className,y=e.onResize,g=e.style,w=g===void 0?{}:g,x=Kw(e,$w),A=h.useRef(null),O=h.useRef();O.current=y,h.useImperativeHandle(t,()=>A.current);var b=h.useState({containerWidth:i.width,containerHeight:i.height}),S=zw(b,2),_=S[0],I=S[1],C=h.useCallback((H,Y)=>{I(B=>{var q=Math.round(H),W=Math.round(Y);return B.containerWidth===q&&B.containerHeight===W?B:{containerWidth:q,containerHeight:W}})},[]);h.useEffect(()=>{if(A.current==null||typeof ResizeObserver>"u")return Fr;var H=Se=>{var ge,ae=Se[0];if(ae!=null){var Ne=ae.contentRect,Le=Ne.width,Je=Ne.height;C(Le,Je),(ge=O.current)===null||ge===void 0||ge.call(O,Le,Je)}};v>0&&(H=Iw(H,v,{trailing:!0,leading:!1}));var Y=new ResizeObserver(H),B=A.current.getBoundingClientRect(),q=B.width,W=B.height;return C(q,W),Y.observe(A.current),()=>{Y.disconnect()}},[C,v]);var j=_.containerWidth,E=_.containerHeight;_i(!r||r>0,"The aspect(%s) must be greater than zero.",r);var R=eh(j,E,{width:a,height:o,aspect:r,maxHeight:s}),$=R.calculatedWidth,V=R.calculatedHeight;return _i(j<0||E<0||$!=null&&$>0||V!=null&&V>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,$,G,a,o,l,c,r),h.createElement("div",Ii({id:p?"".concat(p):void 0,className:ee("recharts-responsive-container",m),style:Bc(Bc({},w),{},{width:a,height:o,minWidth:l,minHeight:c,maxHeight:s}),ref:A},x),h.createElement("div",{style:Hw({width:a,height:o})},h.createElement(fh,{width:$,height:G},f)))}),ox=h.forwardRef((e,t)=>{var r=Du();if(mt(r.width)&&mt(r.height))return e.children;var n=Yw({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,a=n.height,o=ch(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),u=o.calculatedWidth,l=o.calculatedHeight;return D(u)&&D(l)?h.createElement(fh,{width:u,height:l},e.children):h.createElement(ax,Ii({},e,{width:i,height:a,ref:t}))});function $u(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Aa=()=>{var e,t=$e(),r=N(Nw),n=N(xa),i=(e=N(wa))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},ux={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},dh=()=>{var e;return(e=N(Pe))!==null&&e!==void 0?e:ux},vh=()=>N(Mt),hh=()=>N(Dt),re=e=>e.layout.layoutType,Wr=()=>N(re),Nu=()=>{var e=Wr();if(e==="horizontal"||e==="vertical")return e},ph=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},lx=()=>{var e=Wr();return e!==void 0},Mn=e=>{var t=le(),r=$e(),n=e.width,i=e.height,a=Du(),o=n,u=i;return a&&(o=a.width>0?a.width:n,u=a.height>0?a.height:i),h.useEffect(()=>{!r&&mt(o)&&mt(u)&&t(lw({width:o,height:u}))},[t,r,o,u]),null},mh=Symbol.for("immer-nothing"),Wc=Symbol.for("immer-draftable"),Ue=Symbol.for("immer-state");function nt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var xn=Object.getPrototypeOf;function Dr(e){return!!e&&!!e[Ue]}function dr(e){var t;return e?yh(e)||Array.isArray(e)||!!e[Wc]||!!((t=e.constructor)!=null&&t[Wc])||Dn(e)||Pa(e):!1}var cx=Object.prototype.constructor.toString(),Uc=new WeakMap;function yh(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Uc.get(r);return n===void 0&&(n=Function.toString.call(r),Uc.set(r,n)),n===cx}function Ci(e,t,r=!0){Oa(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Oa(e){const t=e[Ue];return t?t.type_:Array.isArray(e)?1:Dn(e)?2:Pa(e)?3:0}function Yo(e,t){return Oa(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function gh(e,t,r){const n=Oa(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function sx(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Dn(e){return e instanceof Map}function Pa(e){return e instanceof Set}function tr(e){return e.copy_||e.base_}function Vo(e,t){if(Dn(e))return new Map(e);if(Pa(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=yh(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Ue];let i=Reflect.ownKeys(n);for(let a=0;a1&&Object.defineProperties(e,{set:Jn,add:Jn,clear:Jn,delete:Jn}),Object.freeze(e),t&&Object.values(e).forEach(r=>Lu(r,!0))),e}function fx(){nt(2)}var Jn={value:fx};function Sa(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var dx={};function vr(e){const t=dx[e];return t||nt(0,e),t}var An;function bh(){return An}function vx(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Kc(e,t){t&&(vr("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Go(e){qo(e),e.drafts_.forEach(hx),e.drafts_=null}function qo(e){e===An&&(An=e.parent_)}function Hc(e){return An=vx(An,e)}function hx(e){const t=e[Ue];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Yc(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Ue].modified_&&(Go(t),nt(4)),dr(e)&&(e=ki(t,e),t.parent_||ji(t,e)),t.patches_&&vr("Patches").generateReplacementPatches_(r[Ue].base_,e,t.patches_,t.inversePatches_)):e=ki(t,r,[]),Go(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==mh?e:void 0}function ki(e,t,r){if(Sa(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Ue];if(!i)return Ci(t,(a,o)=>Vc(e,i,t,a,o,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return ji(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let o=a,u=!1;i.type_===3&&(o=new Set(a),a.clear(),u=!0),Ci(o,(l,c)=>Vc(e,i,a,l,c,r,u),n),ji(e,a,!1),r&&e.patches_&&vr("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function Vc(e,t,r,n,i,a,o){if(i==null||typeof i!="object"&&!o)return;const u=Sa(i);if(!(u&&!o)){if(Dr(i)){const l=a&&t&&t.type_!==3&&!Yo(t.assigned_,n)?a.concat(n):void 0,c=ki(e,i,l);if(gh(r,n,c),Dr(c))e.canAutoFreeze_=!1;else return}else o&&r.add(i);if(dr(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;ki(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Dn(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&ji(e,i)}}}function ji(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Lu(t,r)}function px(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:bh(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,a=Ru;r&&(i=[n],a=On);const{revoke:o,proxy:u}=Proxy.revocable(i,a);return n.draft_=u,n.revoke_=o,u}var Ru={get(e,t){if(t===Ue)return e;const r=tr(e);if(!Yo(r,t))return mx(e,r,t);const n=r[t];return e.finalized_||!dr(n)?n:n===to(e.base_,t)?(ro(e),e.copy_[t]=Zo(n,e)):n},has(e,t){return t in tr(e)},ownKeys(e){return Reflect.ownKeys(tr(e))},set(e,t,r){const n=wh(tr(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=to(tr(e),t),a=i==null?void 0:i[Ue];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(sx(r,i)&&(r!==void 0||Yo(e.base_,t)))return!0;ro(e),Xo(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return to(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,ro(e),Xo(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=tr(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){nt(11)},getPrototypeOf(e){return xn(e.base_)},setPrototypeOf(){nt(12)}},On={};Ci(Ru,(e,t)=>{On[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});On.deleteProperty=function(e,t){return On.set.call(this,e,t,void 0)};On.set=function(e,t,r){return Ru.set.call(this,e[0],t,r,e[0])};function to(e,t){const r=e[Ue];return(r?tr(r):e)[t]}function mx(e,t,r){var i;const n=wh(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function wh(e,t){if(!(t in e))return;let r=xn(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=xn(r)}}function Xo(e){e.modified_||(e.modified_=!0,e.parent_&&Xo(e.parent_))}function ro(e){e.copy_||(e.copy_=Vo(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var yx=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const a=r;r=t;const o=this;return function(l=a,...c){return o.produce(l,s=>r.call(this,s,...c))}}typeof r!="function"&&nt(6),n!==void 0&&typeof n!="function"&&nt(7);let i;if(dr(t)){const a=Hc(this),o=Zo(t,void 0);let u=!0;try{i=r(o),u=!1}finally{u?Go(a):qo(a)}return Kc(a,n),Yc(i,a)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===mh&&(i=void 0),this.autoFreeze_&&Lu(i,!0),n){const a=[],o=[];vr("Patches").generateReplacementPatches_(t,i,a,o),n(a,o)}return i}else nt(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(o,...u)=>this.produceWithPatches(o,l=>t(l,...u));let n,i;return[this.produce(t,r,(o,u)=>{n=o,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){dr(e)||nt(8),Dr(e)&&(e=gx(e));const t=Hc(this),r=Zo(e,void 0);return r[Ue].isManual_=!0,qo(t),r}finishDraft(e,t){const r=e&&e[Ue];(!r||!r.isManual_)&&nt(9);const{scope_:n}=r;return Kc(n,t),Yc(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=vr("Patches").applyPatches_;return Dr(e)?n(e,t):this.produce(e,i=>n(i,t))}};function Zo(e,t){const r=Dn(e)?vr("MapSet").proxyMap_(e,t):Pa(e)?vr("MapSet").proxySet_(e,t):px(e,t);return(t?t.scope_:bh()).drafts_.push(r),r}function gx(e){return Dr(e)||nt(10,e),xh(e)}function xh(e){if(!dr(e)||Sa(e))return e;const t=e[Ue];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Vo(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Vo(e,!0);return Ci(r,(i,a)=>{gh(r,i,xh(a))},n),t&&(t.finalized_=!1),r}var bx=new yx;bx.produce;var wx={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},Ah=Ce({name:"legend",initialState:wx,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:Q()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).payload.indexOf(n);a>-1&&(e.payload[a]=i)},prepare:Q()},removeLegendPayload:{reducer(e,t){var r=Ye(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:Q()}}}),$n=Ah.actions;$n.setLegendSize;$n.setLegendSettings;var xx=$n.addLegendPayload,Ax=$n.replaceLegendPayload,Ox=$n.removeLegendPayload,Px=Ah.reducer,no={exports:{}},io={};/** + height and width.`,$,V,a,o,l,c,r),h.createElement("div",Ii({id:p?"".concat(p):void 0,className:ee("recharts-responsive-container",m),style:jc(jc({},w),{},{width:a,height:o,minWidth:l,minHeight:c,maxHeight:s}),ref:A},x),h.createElement("div",{style:Mw({width:a,height:o})},h.createElement(rh,{width:$,height:V},f)))}),Vw=h.forwardRef((e,t)=>{var r=Cu();if(mt(r.width)&&mt(r.height))return e.children;var n=Dw({width:e.width,height:e.height,aspect:e.aspect}),i=n.width,a=n.height,o=eh(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),u=o.calculatedWidth,l=o.calculatedHeight;return D(u)&&D(l)?h.createElement(rh,{width:u,height:l},e.children):h.createElement(Gw,Ii({},e,{width:i,height:a,ref:t}))});function ku(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Aa=()=>{var e,t=$e(),r=N(Pw),n=N(xa),i=(e=N(wa))===null||e===void 0?void 0:e.padding;return!t||!n||!i?r:{width:n.width-i.left-i.right,height:n.height-i.top-i.bottom,x:i.left,y:i.top}},qw={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},nh=()=>{var e;return(e=N(Pe))!==null&&e!==void 0?e:qw},ih=()=>N(Mt),ah=()=>N(Dt),re=e=>e.layout.layoutType,Wr=()=>N(re),ju=()=>{var e=Wr();if(e==="horizontal"||e==="vertical")return e},oh=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},Xw=()=>{var e=Wr();return e!==void 0},Mn=e=>{var t=le(),r=$e(),n=e.width,i=e.height,a=Cu(),o=n,u=i;return a&&(o=a.width>0?a.width:n,u=a.height>0?a.height:i),h.useEffect(()=>{!r&&mt(o)&&mt(u)&&t(Xb({width:o,height:u}))},[t,r,o,u]),null},uh=Symbol.for("immer-nothing"),Mc=Symbol.for("immer-draftable"),Ue=Symbol.for("immer-state");function nt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var xn=Object.getPrototypeOf;function Dr(e){return!!e&&!!e[Ue]}function dr(e){var t;return e?lh(e)||Array.isArray(e)||!!e[Mc]||!!((t=e.constructor)!=null&&t[Mc])||Dn(e)||Pa(e):!1}var Zw=Object.prototype.constructor.toString(),Dc=new WeakMap;function lh(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=Dc.get(r);return n===void 0&&(n=Function.toString.call(r),Dc.set(r,n)),n===Zw}function Ci(e,t,r=!0){Oa(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function Oa(e){const t=e[Ue];return t?t.type_:Array.isArray(e)?1:Dn(e)?2:Pa(e)?3:0}function Wo(e,t){return Oa(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ch(e,t,r){const n=Oa(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function Qw(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Dn(e){return e instanceof Map}function Pa(e){return e instanceof Set}function tr(e){return e.copy_||e.base_}function Uo(e,t){if(Dn(e))return new Map(e);if(Pa(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=lh(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Ue];let i=Reflect.ownKeys(n);for(let a=0;a1&&Object.defineProperties(e,{set:Jn,add:Jn,clear:Jn,delete:Jn}),Object.freeze(e),t&&Object.values(e).forEach(r=>Tu(r,!0))),e}function Jw(){nt(2)}var Jn={value:Jw};function Sa(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var ex={};function vr(e){const t=ex[e];return t||nt(0,e),t}var An;function sh(){return An}function tx(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function $c(e,t){t&&(vr("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ko(e){Ho(e),e.drafts_.forEach(rx),e.drafts_=null}function Ho(e){e===An&&(An=e.parent_)}function Nc(e){return An=tx(An,e)}function rx(e){const t=e[Ue];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Lc(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Ue].modified_&&(Ko(t),nt(4)),dr(e)&&(e=ki(t,e),t.parent_||ji(t,e)),t.patches_&&vr("Patches").generateReplacementPatches_(r[Ue].base_,e,t.patches_,t.inversePatches_)):e=ki(t,r,[]),Ko(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==uh?e:void 0}function ki(e,t,r){if(Sa(t))return t;const n=e.immer_.shouldUseStrictIteration(),i=t[Ue];if(!i)return Ci(t,(a,o)=>Rc(e,i,t,a,o,r),n),t;if(i.scope_!==e)return t;if(!i.modified_)return ji(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let o=a,u=!1;i.type_===3&&(o=new Set(a),a.clear(),u=!0),Ci(o,(l,c)=>Rc(e,i,a,l,c,r,u),n),ji(e,a,!1),r&&e.patches_&&vr("Patches").generatePatches_(i,r,e.patches_,e.inversePatches_)}return i.copy_}function Rc(e,t,r,n,i,a,o){if(i==null||typeof i!="object"&&!o)return;const u=Sa(i);if(!(u&&!o)){if(Dr(i)){const l=a&&t&&t.type_!==3&&!Wo(t.assigned_,n)?a.concat(n):void 0,c=ki(e,i,l);if(ch(r,n,c),Dr(c))e.canAutoFreeze_=!1;else return}else o&&r.add(i);if(dr(i)&&!u){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===i&&u)return;ki(e,i),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Dn(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&ji(e,i)}}}function ji(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Tu(t,r)}function nx(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:sh(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=n,a=Mu;r&&(i=[n],a=On);const{revoke:o,proxy:u}=Proxy.revocable(i,a);return n.draft_=u,n.revoke_=o,u}var Mu={get(e,t){if(t===Ue)return e;const r=tr(e);if(!Wo(r,t))return ix(e,r,t);const n=r[t];return e.finalized_||!dr(n)?n:n===Za(e.base_,t)?(Qa(e),e.copy_[t]=Go(n,e)):n},has(e,t){return t in tr(e)},ownKeys(e){return Reflect.ownKeys(tr(e))},set(e,t,r){const n=fh(tr(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Za(tr(e),t),a=i==null?void 0:i[Ue];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(Qw(r,i)&&(r!==void 0||Wo(e.base_,t)))return!0;Qa(e),Yo(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Za(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Qa(e),Yo(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=tr(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){nt(11)},getPrototypeOf(e){return xn(e.base_)},setPrototypeOf(){nt(12)}},On={};Ci(Mu,(e,t)=>{On[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});On.deleteProperty=function(e,t){return On.set.call(this,e,t,void 0)};On.set=function(e,t,r){return Mu.set.call(this,e[0],t,r,e[0])};function Za(e,t){const r=e[Ue];return(r?tr(r):e)[t]}function ix(e,t,r){var i;const n=fh(t,r);return n?"value"in n?n.value:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function fh(e,t){if(!(t in e))return;let r=xn(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=xn(r)}}function Yo(e){e.modified_||(e.modified_=!0,e.parent_&&Yo(e.parent_))}function Qa(e){e.copy_||(e.copy_=Uo(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var ax=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const a=r;r=t;const o=this;return function(l=a,...c){return o.produce(l,s=>r.call(this,s,...c))}}typeof r!="function"&&nt(6),n!==void 0&&typeof n!="function"&&nt(7);let i;if(dr(t)){const a=Nc(this),o=Go(t,void 0);let u=!0;try{i=r(o),u=!1}finally{u?Ko(a):Ho(a)}return $c(a,n),Lc(i,a)}else if(!t||typeof t!="object"){if(i=r(t),i===void 0&&(i=t),i===uh&&(i=void 0),this.autoFreeze_&&Tu(i,!0),n){const a=[],o=[];vr("Patches").generateReplacementPatches_(t,i,a,o),n(a,o)}return i}else nt(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(o,...u)=>this.produceWithPatches(o,l=>t(l,...u));let n,i;return[this.produce(t,r,(o,u)=>{n=o,i=u}),n,i]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){dr(e)||nt(8),Dr(e)&&(e=ox(e));const t=Nc(this),r=Go(e,void 0);return r[Ue].isManual_=!0,Ho(t),r}finishDraft(e,t){const r=e&&e[Ue];(!r||!r.isManual_)&&nt(9);const{scope_:n}=r;return $c(n,t),Lc(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const i=t[r];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}r>-1&&(t=t.slice(r+1));const n=vr("Patches").applyPatches_;return Dr(e)?n(e,t):this.produce(e,i=>n(i,t))}};function Go(e,t){const r=Dn(e)?vr("MapSet").proxyMap_(e,t):Pa(e)?vr("MapSet").proxySet_(e,t):nx(e,t);return(t?t.scope_:sh()).drafts_.push(r),r}function ox(e){return Dr(e)||nt(10,e),dh(e)}function dh(e){if(!dr(e)||Sa(e))return e;const t=e[Ue];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Uo(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Uo(e,!0);return Ci(r,(i,a)=>{ch(r,i,dh(a))},n),t&&(t.finalized_=!1),r}var ux=new ax;ux.produce;var lx={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},vh=Ce({name:"legend",initialState:lx,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:Q()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).payload.indexOf(n);a>-1&&(e.payload[a]=i)},prepare:Q()},removeLegendPayload:{reducer(e,t){var r=Ye(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:Q()}}}),$n=vh.actions;$n.setLegendSize;$n.setLegendSettings;var cx=$n.addLegendPayload,sx=$n.replaceLegendPayload,fx=$n.removeLegendPayload,dx=vh.reducer,Ja={exports:{}},eo={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -27,51 +11,51 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gc;function Sx(){if(Gc)return io;Gc=1;var e=bu();function t(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,a=e.useEffect,o=e.useMemo,u=e.useDebugValue;return io.useSyncExternalStoreWithSelector=function(l,c,s,f,d){var v=i(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=o(function(){function y(O){if(!g){if(g=!0,w=O,O=f(O),d!==void 0&&p.hasValue){var b=p.value;if(d(b,O))return x=b}return x=O}if(b=x,r(w,O))return b;var S=f(O);return d!==void 0&&d(b,S)?(w=O,b):(w=O,x=S)}var g=!1,w,x,A=s===void 0?null:s;return[function(){return y(c())},A===null?void 0:function(){return y(A())}]},[c,s,f,d]);var m=n(l,v[0],v[1]);return a(function(){p.hasValue=!0,p.value=m},[m]),u(m),m},io}var qc;function Ex(){return qc||(qc=1,no.exports=Sx()),no.exports}Ex();function _x(e){e()}function Ix(){let e=null,t=null;return{clear(){e=null,t=null},notify(){_x(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Xc={notify(){},get:()=>[]};function Cx(e,t){let r,n=Xc,i=0,a=!1;function o(m){s();const y=n.subscribe(m);let g=!1;return()=>{g||(g=!0,y(),f())}}function u(){n.notify()}function l(){p.onStateChange&&p.onStateChange()}function c(){return a}function s(){i++,r||(r=e.subscribe(l),n=Ix())}function f(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=Xc)}function d(){a||(a=!0,s())}function v(){a&&(a=!1,f())}const p={addNestedSub:o,notifyNestedSubs:u,handleChangeWrapper:l,isSubscribed:c,trySubscribe:d,tryUnsubscribe:v,getListeners:()=>n};return p}var kx=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",jx=kx(),Tx=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Mx=Tx(),Dx=()=>jx||Mx?h.useLayoutEffect:h.useEffect,$x=Dx();function Zc(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Nx(e,t){if(Zc(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const l=Cx(i);return{store:i,subscription:l,getServerState:n?()=>n:void 0}},[i,n]),o=h.useMemo(()=>i.getState(),[i]);$x(()=>{const{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),o!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,o]);const u=r||Rx;return h.createElement(u.Provider,{value:a},t)}var Bx=zx,Fx=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function Wx(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Ea(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(Fx.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Nx(e[n],t[n]))return!1}else if(!Wx(e[n],t[n]))return!1;return!0}function Qo(){return Qo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?xr.separator:t,n=e.contentStyle,i=e.itemStyle,a=e.labelStyle,o=a===void 0?xr.labelStyle:a,u=e.payload,l=e.formatter,c=e.itemSorter,s=e.wrapperClassName,f=e.labelClassName,d=e.label,v=e.labelFormatter,p=e.accessibilityLayer,m=p===void 0?xr.accessibilityLayer:p,y=()=>{if(u&&u.length){var _={padding:0,margin:0},I=Qx(u,c),C=I.map((j,E)=>{if(!j||j.type==="none")return null;var R=j.formatter||l||Zx,$=j.value,G=j.name,H=$,Y=G;if(R){var B=R($,G,j,E,u);if(Array.isArray(B)){var q=Yx(B,2);H=q[0],Y=q[1]}else if(B!=null)H=B;else return null}var W=en(en({},xr.itemStyle),{},{color:j.color||xr.itemStyle.color},i);return h.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(E),style:W},pt(Y)?h.createElement("span",{className:"recharts-tooltip-item-name"},Y):null,pt(Y)?h.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,h.createElement("span",{className:"recharts-tooltip-item-value"},H),h.createElement("span",{className:"recharts-tooltip-item-unit"},j.unit||""))});return h.createElement("ul",{className:"recharts-tooltip-item-list",style:_},C)}return null},g=en(en({},xr.contentStyle),n),w=en({margin:0},o),x=!Oe(d),A=x?d:"",O=ee("recharts-default-tooltip",s),b=ee("recharts-tooltip-label",f);x&&v&&u!==void 0&&u!==null&&(A=v(d,u));var S=m?{role:"status","aria-live":"assertive"}:{};return h.createElement("div",Qo({className:O,style:g},S),h.createElement("p",{className:b,style:w},h.isValidElement(A)?A:"".concat(A)),y())},tn="recharts-tooltip-wrapper",e1={visibility:"hidden"};function t1(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return ee(tn,{["".concat(tn,"-right")]:D(r)&&t&&D(t.x)&&r>=t.x,["".concat(tn,"-left")]:D(r)&&t&&D(t.x)&&r=t.y,["".concat(tn,"-top")]:D(n)&&t&&D(t.y)&&n0?i:0),f=r[n]+i;if(t[n])return o[n]?s:f;var d=l[n];if(d==null)return 0;if(o[n]){var v=s,p=d;return vy?Math.max(s,d):Math.max(f,d)}function r1(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function n1(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,u=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,s,f,d;return u.height>0&&u.width>0&&r?(f=es({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:a,reverseDirection:o,tooltipDimension:u.width,viewBox:c,viewBoxDimension:c.width}),d=es({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:a,reverseDirection:o,tooltipDimension:u.height,viewBox:c,viewBoxDimension:c.height}),s=r1({translateX:f,translateY:d,useTranslate3d:l})):s=e1,{cssProperties:s,cssClasses:t1({translateX:f,translateY:d,coordinate:r})}}var i1=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Nn={isSsr:i1()};function a1(e,t){return c1(e)||l1(e,t)||u1(e,t)||o1()}function o1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u1(e,t){if(e){if(typeof e=="string")return ts(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ts(e,t):void 0}}function ts(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rNn.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=a1(e,2),r=t[0],n=t[1];return h.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{n(i.matches)};return i.addEventListener("change",a),()=>{i.removeEventListener("change",a)}}},[]),r}function rs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ar(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),c=v1(l,2),s=c[0],f=c[1];h.useEffect(()=>{var g=w=>{if(w.key==="Escape"){var x,A,O,b;f({dismissed:!0,dismissedAtCoordinate:{x:(x=(A=e.coordinate)===null||A===void 0?void 0:A.x)!==null&&x!==void 0?x:0,y:(O=(b=e.coordinate)===null||b===void 0?void 0:b.y)!==null&&O!==void 0?O:0}})}};return document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),s.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==s.dismissedAtCoordinate.x||((a=(o=e.coordinate)===null||o===void 0?void 0:o.y)!==null&&a!==void 0?a:0)!==s.dismissedAtCoordinate.y)&&f(Ar(Ar({},s),{},{dismissed:!1}));var d=n1({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),v=d.cssClasses,p=d.cssProperties,m=e.hasPortalFromProps?{}:Ar(Ar({transition:g1({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},p),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),y=Ar(Ar({},m),{},{visibility:!s.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return h.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:v,style:y,ref:e.innerRef},e.children)}var w1=h.memo(b1),Ph=()=>{var e;return(e=N(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function Jo(){return Jo=Object.assign?Object.assign.bind():function(e){for(var t=1;tU(e.x)&&U(e.y),us=e=>e.base!=null&&Ti(e.base)&&Ti(e),rn=e=>e.x,nn=e=>e.y,P1=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Pu(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=os["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return os[r]||aa},ls={connectNulls:!1,type:"linear"},S1=e=>{var t=e.type,r=t===void 0?ls.type:t,n=e.points,i=n===void 0?[]:n,a=e.baseLine,o=e.layout,u=e.connectNulls,l=u===void 0?ls.connectNulls:u,c=P1(r,o),s=l?i.filter(Ti):i;if(Array.isArray(a)){var f,d=i.map((g,w)=>as(as({},g),{},{base:a[w]}));o==="vertical"?f=Yn().y(nn).x1(rn).x0(g=>g.base.x):f=Yn().x(rn).y1(nn).y0(g=>g.base.y);var v=f.defined(us).curve(c),p=l?d.filter(us):d;return v(p)}var m;o==="vertical"&&D(a)?m=Yn().y(nn).x1(rn).x0(a):D(a)?m=Yn().x(rn).y1(nn).y0(a):m=Jd().x(rn).y(nn);var y=m.defined(Ti).curve(c);return y(s)},si=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,a=Wr();if((!r||!r.length)&&!n)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},u=r&&r.length?S1(o):n;return h.createElement("path",Jo({},it(e),Su(e),{className:ee("recharts-curve",t),d:u===null?void 0:u,ref:i}))},E1=["x","y","top","left","width","height","className"];function eu(){return eu=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(a,",").concat(t,"h").concat(r),D1=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,a=e.top,o=a===void 0?0:a,u=e.left,l=u===void 0?0:u,c=e.width,s=c===void 0?0:c,f=e.height,d=f===void 0?0:f,v=e.className,p=j1(e,E1),m=_1({x:r,y:i,top:o,left:l,width:s,height:d},p);return!D(r)||!D(i)||!D(s)||!D(d)||!D(o)||!D(l)?null:h.createElement("path",eu({},Ge(m),{className:ee("recharts-cross",v),d:M1(r,i,s,d,o,l)}))};function $1(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Mi=1e-4,Sh=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],Eh=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),ss=(e,t)=>r=>{var n=Sh(e,t);return Eh(n,r)},N1=(e,t)=>r=>{var n=Sh(e,t),i=[...n.map((a,o)=>a*o).slice(1),0];return Eh(i,r)},L1=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(a=>parseFloat(a));return[i[0],i[1],i[2],i[3]]},R1=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=ss(e,r),a=ss(t,n),o=N1(e,r),u=c=>c>1?1:c<0?0:c,l=c=>{for(var s=c>1?1:c,f=s,d=0;d<8;++d){var v=i(f)-s,p=o(f);if(Math.abs(v-s)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,a=i===void 0?8:i,o=t.dt,u=o===void 0?16.67:o,l=1,c=[0],s=0,f=0,d=1e4,v=0;v{var w,x,A;if(g<=0)return 0;if(g>=1)return l;var O=g*y,b=Math.floor(O),S=O-b;return((w=c[b])!==null&&w!==void 0?w:0)+(((x=c[b+1])!==null&&x!==void 0?x:0)-((A=c[b])!==null&&A!==void 0?A:0))*S}},F1=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return fs(e);case"spring":return B1();default:if(e.split("(")[0]==="cubic-bezier")return fs(e)}return typeof e=="function"?e:null},W1=(e,t,r)=>{var n,i=a=>{var o=t.tick(a);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,o);return}n=e.setTimeout(i,o)};return n=e.setTimeout(i,0),()=>{var a;return(a=n)===null||a===void 0?void 0:a()}},_h=h.createContext(W1);_h.Provider;function U1(e){var t=h.useContext(_h);return h.useMemo(()=>e??t,[e,t])}function K1(e,t,r){return(t=H1(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H1(e){var t=Y1(e,"string");return typeof t=="symbol"?t:t+""}function Y1(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ds="init",vs="pending",hs="active",V1="completed";function uo(e){return Math.max(0,e)}class G1{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;K1(this,"state",ds),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=uo(t.animationDuration),this.animationBegin=uo(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===ds)return this.state=vs,this.beginStartedTime=t,this.animationBegin;if(this.getState()===vs){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=hs,this.animationStartedTime=t,this.nextAnimationUpdate(0)):uo(this.animationBegin-r)}if(this.getState()===hs){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=V1}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class q1 extends G1{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Ot(this.getFrom(),this.getTo(),this.getProgress()))}}class X1{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,a=o=>{o-n>=r?t(o):i=requestAnimationFrame(a)};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function Z1(e,t){return tA(e)||eA(e,t)||J1(e,t)||Q1()}function Q1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function J1(e,t){if(e){if(typeof e=="string")return ps(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ps(e,t):void 0}}function ps(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},ms=0,lo=1;function Ih(e){var t=Ze(e,rA),r=t.animationId,n=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,u=t.begin,l=t.onAnimationEnd,c=t.onAnimationStart,s=t.children,f=Oh(),d=n==="auto"?!Nn.isSsr&&!f:n,v=U1(t.animationController),p=h.useState(d?ms:lo),m=Z1(p,2),y=m[0],g=m[1];return h.useEffect(()=>{d||g(lo)},[d]),h.useEffect(()=>{var w=F1(o);if(!d||!i||w==null)return Fr;var x=new X1,A=new q1({animationId:r,easing:w,animationDuration:a,animationBegin:u,onAnimationStart:c,onAnimationEnd:l,from:ms,to:lo});return v(x,A,g)},[v,r,d,i,a,o,u,c,l]),s(Number(y))}function Ch(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=h.useRef(yn(t)),n=h.useRef(e);return n.current!==e&&(r.current=yn(t),n.current=e),r.current}var nA=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),iA=(e,t,r)=>e.map(n=>"".concat(nA(n)," ").concat(t,"ms ").concat(r)).join(","),aA=["radius"],oA=["radius"],ys,gs,bs,ws,xs,As,Os,Ps,Ss,Es;function _s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Is(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var a=Ut(r),o=Ut(n),u=Math.min(Math.abs(a)/2,Math.abs(o)/2),l=o>=0?1:-1,c=a>=0?1:-1,s=o>=0&&a>=0||o<0&&a<0?1:0,f;if(u>0&&Array.isArray(i)){for(var d=[0,0,0,0],v=0,p=4;vu?u:y}f=we(ys||(ys=lt(["M",",",""])),e,t+l*d[0]),d[0]>0&&(f+=we(gs||(gs=lt(["A ",",",",0,0,",",",",",""])),d[0],d[0],s,e+c*d[0],t)),f+=we(bs||(bs=lt(["L ",",",""])),e+r-c*d[1],t),d[1]>0&&(f+=we(ws||(ws=lt(["A ",",",",0,0,",`, - `,",",""])),d[1],d[1],s,e+r,t+l*d[1])),f+=we(xs||(xs=lt(["L ",",",""])),e+r,t+n-l*d[2]),d[2]>0&&(f+=we(As||(As=lt(["A ",",",",0,0,",`, - `,",",""])),d[2],d[2],s,e+r-c*d[2],t+n)),f+=we(Os||(Os=lt(["L ",",",""])),e+c*d[3],t+n),d[3]>0&&(f+=we(Ps||(Ps=lt(["A ",",",",0,0,",`, - `,",",""])),d[3],d[3],s,e,t+n-l*d[3])),f+="Z"}else if(u>0&&i===+i&&i>0){var g=Math.min(u,i);f=we(Ss||(Ss=lt(["M ",",",` + */var zc;function vx(){if(zc)return eo;zc=1;var e=Hy();function t(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,a=e.useEffect,o=e.useMemo,u=e.useDebugValue;return eo.useSyncExternalStoreWithSelector=function(l,c,s,f,d){var v=i(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=o(function(){function y(O){if(!g){if(g=!0,w=O,O=f(O),d!==void 0&&p.hasValue){var b=p.value;if(d(b,O))return x=b}return x=O}if(b=x,r(w,O))return b;var S=f(O);return d!==void 0&&d(b,S)?(w=O,b):(w=O,x=S)}var g=!1,w,x,A=s===void 0?null:s;return[function(){return y(c())},A===null?void 0:function(){return y(A())}]},[c,s,f,d]);var m=n(l,v[0],v[1]);return a(function(){p.hasValue=!0,p.value=m},[m]),u(m),m},eo}var Bc;function hx(){return Bc||(Bc=1,Ja.exports=vx()),Ja.exports}hx();function px(e){e()}function mx(){let e=null,t=null;return{clear(){e=null,t=null},notify(){px(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Fc={notify(){},get:()=>[]};function yx(e,t){let r,n=Fc,i=0,a=!1;function o(m){s();const y=n.subscribe(m);let g=!1;return()=>{g||(g=!0,y(),f())}}function u(){n.notify()}function l(){p.onStateChange&&p.onStateChange()}function c(){return a}function s(){i++,r||(r=e.subscribe(l),n=mx())}function f(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=Fc)}function d(){a||(a=!0,s())}function v(){a&&(a=!1,f())}const p={addNestedSub:o,notifyNestedSubs:u,handleChangeWrapper:l,isSubscribed:c,trySubscribe:d,tryUnsubscribe:v,getListeners:()=>n};return p}var gx=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",bx=gx(),wx=()=>typeof navigator<"u"&&navigator.product==="ReactNative",xx=wx(),Ax=()=>bx||xx?h.useLayoutEffect:h.useEffect,Ox=Ax();function Wc(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Px(e,t){if(Wc(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i{const l=yx(i);return{store:i,subscription:l,getServerState:n?()=>n:void 0}},[i,n]),o=h.useMemo(()=>i.getState(),[i]);Ox(()=>{const{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),o!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,o]);const u=r||Ex;return h.createElement(u.Provider,{value:a},t)}var Ix=_x,Cx=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function kx(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Ea(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(Cx.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Px(e[n],t[n]))return!1}else if(!kx(e[n],t[n]))return!1;return!0}function Vo(){return Vo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?xr.separator:t,n=e.contentStyle,i=e.itemStyle,a=e.labelStyle,o=a===void 0?xr.labelStyle:a,u=e.payload,l=e.formatter,c=e.itemSorter,s=e.wrapperClassName,f=e.labelClassName,d=e.label,v=e.labelFormatter,p=e.accessibilityLayer,m=p===void 0?xr.accessibilityLayer:p,y=()=>{if(u&&u.length){var _={padding:0,margin:0},I=Bx(u,c),C=I.map((j,E)=>{if(!j||j.type==="none")return null;var R=j.formatter||l||zx,$=j.value,V=j.name,H=$,Y=V;if(R){var B=R($,V,j,E,u);if(Array.isArray(B)){var q=Dx(B,2);H=q[0],Y=q[1]}else if(B!=null)H=B;else return null}var W=en(en({},xr.itemStyle),{},{color:j.color||xr.itemStyle.color},i);return h.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(E),style:W},pt(Y)?h.createElement("span",{className:"recharts-tooltip-item-name"},Y):null,pt(Y)?h.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,h.createElement("span",{className:"recharts-tooltip-item-value"},H),h.createElement("span",{className:"recharts-tooltip-item-unit"},j.unit||""))});return h.createElement("ul",{className:"recharts-tooltip-item-list",style:_},C)}return null},g=en(en({},xr.contentStyle),n),w=en({margin:0},o),x=!Oe(d),A=x?d:"",O=ee("recharts-default-tooltip",s),b=ee("recharts-tooltip-label",f);x&&v&&u!==void 0&&u!==null&&(A=v(d,u));var S=m?{role:"status","aria-live":"assertive"}:{};return h.createElement("div",Vo({className:O,style:g},S),h.createElement("p",{className:b,style:w},h.isValidElement(A)?A:"".concat(A)),y())},tn="recharts-tooltip-wrapper",Wx={visibility:"hidden"};function Ux(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return ee(tn,{["".concat(tn,"-right")]:D(r)&&t&&D(t.x)&&r>=t.x,["".concat(tn,"-left")]:D(r)&&t&&D(t.x)&&r=t.y,["".concat(tn,"-top")]:D(n)&&t&&D(t.y)&&n0?i:0),f=r[n]+i;if(t[n])return o[n]?s:f;var d=l[n];if(d==null)return 0;if(o[n]){var v=s,p=d;return vy?Math.max(s,d):Math.max(f,d)}function Kx(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function Hx(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,u=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,s,f,d;return u.height>0&&u.width>0&&r?(f=Hc({allowEscapeViewBox:t,coordinate:r,key:"x",offset:i,position:a,reverseDirection:o,tooltipDimension:u.width,viewBox:c,viewBoxDimension:c.width}),d=Hc({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:a,reverseDirection:o,tooltipDimension:u.height,viewBox:c,viewBoxDimension:c.height}),s=Kx({translateX:f,translateY:d,useTranslate3d:l})):s=Wx,{cssProperties:s,cssClasses:Ux({translateX:f,translateY:d,coordinate:r})}}var Yx=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Nn={isSsr:Yx()};function Gx(e,t){return Zx(e)||Xx(e,t)||qx(e,t)||Vx()}function Vx(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qx(e,t){if(e){if(typeof e=="string")return Yc(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Yc(e,t):void 0}}function Yc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rNn.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=Gx(e,2),r=t[0],n=t[1];return h.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{n(i.matches)};return i.addEventListener("change",a),()=>{i.removeEventListener("change",a)}}},[]),r}function Gc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ar(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),c=tA(l,2),s=c[0],f=c[1];h.useEffect(()=>{var g=w=>{if(w.key==="Escape"){var x,A,O,b;f({dismissed:!0,dismissedAtCoordinate:{x:(x=(A=e.coordinate)===null||A===void 0?void 0:A.x)!==null&&x!==void 0?x:0,y:(O=(b=e.coordinate)===null||b===void 0?void 0:b.y)!==null&&O!==void 0?O:0}})}};return document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),s.dismissed&&(((n=(i=e.coordinate)===null||i===void 0?void 0:i.x)!==null&&n!==void 0?n:0)!==s.dismissedAtCoordinate.x||((a=(o=e.coordinate)===null||o===void 0?void 0:o.y)!==null&&a!==void 0?a:0)!==s.dismissedAtCoordinate.y)&&f(Ar(Ar({},s),{},{dismissed:!1}));var d=Hx({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),v=d.cssClasses,p=d.cssProperties,m=e.hasPortalFromProps?{}:Ar(Ar({transition:oA({prefersReducedMotion:u,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},p),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),y=Ar(Ar({},m),{},{visibility:!s.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return h.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:v,style:y,ref:e.innerRef},e.children)}var lA=h.memo(uA),ph=()=>{var e;return(e=N(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function qo(){return qo=Object.assign?Object.assign.bind():function(e){for(var t=1;tU(e.x)&&U(e.y),Qc=e=>e.base!=null&&Ti(e.base)&&Ti(e),rn=e=>e.x,nn=e=>e.y,dA=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(bu(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=Zc["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return Zc[r]||aa},Jc={connectNulls:!1,type:"linear"},vA=e=>{var t=e.type,r=t===void 0?Jc.type:t,n=e.points,i=n===void 0?[]:n,a=e.baseLine,o=e.layout,u=e.connectNulls,l=u===void 0?Jc.connectNulls:u,c=dA(r,o),s=l?i.filter(Ti):i;if(Array.isArray(a)){var f,d=i.map((g,w)=>Xc(Xc({},g),{},{base:a[w]}));o==="vertical"?f=Yn().y(nn).x1(rn).x0(g=>g.base.x):f=Yn().x(rn).y1(nn).y0(g=>g.base.y);var v=f.defined(Qc).curve(c),p=l?d.filter(Qc):d;return v(p)}var m;o==="vertical"&&D(a)?m=Yn().y(nn).x1(rn).x0(a):D(a)?m=Yn().x(rn).y1(nn).y0(a):m=Kd().x(rn).y(nn);var y=m.defined(Ti).curve(c);return y(s)},si=e=>{var t=e.className,r=e.points,n=e.path,i=e.pathRef,a=Wr();if((!r||!r.length)&&!n)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},u=r&&r.length?vA(o):n;return h.createElement("path",qo({},it(e),wu(e),{className:ee("recharts-curve",t),d:u===null?void 0:u,ref:i}))},hA=["x","y","top","left","width","height","className"];function Xo(){return Xo=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(i,"v").concat(n,"M").concat(a,",").concat(t,"h").concat(r),AA=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,i=n===void 0?0:n,a=e.top,o=a===void 0?0:a,u=e.left,l=u===void 0?0:u,c=e.width,s=c===void 0?0:c,f=e.height,d=f===void 0?0:f,v=e.className,p=bA(e,hA),m=pA({x:r,y:i,top:o,left:l,width:s,height:d},p);return!D(r)||!D(i)||!D(s)||!D(d)||!D(o)||!D(l)?null:h.createElement("path",Xo({},Ve(m),{className:ee("recharts-cross",v),d:xA(r,i,s,d,o,l)}))};function OA(e,t,r,n){var i=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-i:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-i,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Mi=1e-4,mh=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],yh=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),ts=(e,t)=>r=>{var n=mh(e,t);return yh(n,r)},PA=(e,t)=>r=>{var n=mh(e,t),i=[...n.map((a,o)=>a*o).slice(1),0];return yh(i,r)},SA=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var i=n.map(a=>parseFloat(a));return[i[0],i[1],i[2],i[3]]},EA=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var i=ts(e,r),a=ts(t,n),o=PA(e,r),u=c=>c>1?1:c<0?0:c,l=c=>{for(var s=c>1?1:c,f=s,d=0;d<8;++d){var v=i(f)-s,p=o(f);if(Math.abs(v-s)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,a=i===void 0?8:i,o=t.dt,u=o===void 0?16.67:o,l=1,c=[0],s=0,f=0,d=1e4,v=0;v{var w,x,A;if(g<=0)return 0;if(g>=1)return l;var O=g*y,b=Math.floor(O),S=O-b;return((w=c[b])!==null&&w!==void 0?w:0)+(((x=c[b+1])!==null&&x!==void 0?x:0)-((A=c[b])!==null&&A!==void 0?A:0))*S}},CA=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return rs(e);case"spring":return IA();default:if(e.split("(")[0]==="cubic-bezier")return rs(e)}return typeof e=="function"?e:null},kA=(e,t,r)=>{var n,i=a=>{var o=t.tick(a);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(i,o);return}n=e.setTimeout(i,o)};return n=e.setTimeout(i,0),()=>{var a;return(a=n)===null||a===void 0?void 0:a()}},gh=h.createContext(kA);gh.Provider;function jA(e){var t=h.useContext(gh);return h.useMemo(()=>e??t,[e,t])}function TA(e,t,r){return(t=MA(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MA(e){var t=DA(e,"string");return typeof t=="symbol"?t:t+""}function DA(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ns="init",is="pending",as="active",$A="completed";function no(e){return Math.max(0,e)}class NA{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;TA(this,"state",ns),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=no(t.animationDuration),this.animationBegin=no(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===ns)return this.state=is,this.beginStartedTime=t,this.animationBegin;if(this.getState()===is){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=as,this.animationStartedTime=t,this.nextAnimationUpdate(0)):no(this.animationBegin-r)}if(this.getState()===as){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=$A}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class LA extends NA{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Ot(this.getFrom(),this.getTo(),this.getProgress()))}}class RA{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),i=null,a=o=>{o-n>=r?t(o):i=requestAnimationFrame(a)};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function zA(e,t){return UA(e)||WA(e,t)||FA(e,t)||BA()}function BA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FA(e,t){if(e){if(typeof e=="string")return os(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?os(e,t):void 0}}function os(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},us=0,io=1;function bh(e){var t=Ze(e,KA),r=t.animationId,n=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,u=t.begin,l=t.onAnimationEnd,c=t.onAnimationStart,s=t.children,f=hh(),d=n==="auto"?!Nn.isSsr&&!f:n,v=jA(t.animationController),p=h.useState(d?us:io),m=zA(p,2),y=m[0],g=m[1];return h.useEffect(()=>{d||g(io)},[d]),h.useEffect(()=>{var w=CA(o);if(!d||!i||w==null)return Fr;var x=new RA,A=new LA({animationId:r,easing:w,animationDuration:a,animationBegin:u,onAnimationStart:c,onAnimationEnd:l,from:us,to:io});return v(x,A,g)},[v,r,d,i,a,o,u,c,l]),s(Number(y))}function wh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=h.useRef(yn(t)),n=h.useRef(e);return n.current!==e&&(r.current=yn(t),n.current=e),r.current}var HA=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),YA=(e,t,r)=>e.map(n=>"".concat(HA(n)," ").concat(t,"ms ").concat(r)).join(","),GA=["radius"],VA=["radius"],ls,cs,ss,fs,ds,vs,hs,ps,ms,ys;function gs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bs(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var a=Ut(r),o=Ut(n),u=Math.min(Math.abs(a)/2,Math.abs(o)/2),l=o>=0?1:-1,c=a>=0?1:-1,s=o>=0&&a>=0||o<0&&a<0?1:0,f;if(u>0&&Array.isArray(i)){for(var d=[0,0,0,0],v=0,p=4;vu?u:y}f=we(ls||(ls=lt(["M",",",""])),e,t+l*d[0]),d[0]>0&&(f+=we(cs||(cs=lt(["A ",",",",0,0,",",",",",""])),d[0],d[0],s,e+c*d[0],t)),f+=we(ss||(ss=lt(["L ",",",""])),e+r-c*d[1],t),d[1]>0&&(f+=we(fs||(fs=lt(["A ",",",",0,0,",`, + `,",",""])),d[1],d[1],s,e+r,t+l*d[1])),f+=we(ds||(ds=lt(["L ",",",""])),e+r,t+n-l*d[2]),d[2]>0&&(f+=we(vs||(vs=lt(["A ",",",",0,0,",`, + `,",",""])),d[2],d[2],s,e+r-c*d[2],t+n)),f+=we(hs||(hs=lt(["L ",",",""])),e+c*d[3],t+n),d[3]>0&&(f+=we(ps||(ps=lt(["A ",",",",0,0,",`, + `,",",""])),d[3],d[3],s,e,t+n-l*d[3])),f+="Z"}else if(u>0&&i===+i&&i>0){var g=Math.min(u,i);f=we(ms||(ms=lt(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+l*g,g,g,s,e+c*g,t,e+r-c*g,t,g,g,s,e+r,t+l*g,e+r,t+n-l*g,g,g,s,e+r-c*g,t+n,e+c*g,t+n,g,g,s,e,t+n-l*g)}else f=we(Es||(Es=lt(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return f},Ts={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},mA=e=>{var t=Ze(e,Ts),r=h.useRef(null),n=h.useState(-1),i=fA(n,2),a=i[0],o=i[1];h.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var B=r.current.getTotalLength();B&&o(B)}catch{}},[]);var u=t.x,l=t.y,c=t.width,s=t.height,f=t.radius,d=t.className,v=t.animationEasing,p=t.animationDuration,m=t.animationBegin,y=t.isAnimationActive,g=t.isUpdateAnimationActive,w=h.useRef(c),x=h.useRef(s),A=h.useRef(u),O=h.useRef(l),b=h.useMemo(()=>({x:u,y:l,width:c,height:s,radius:f}),[u,l,c,s,f]),S=Ch(b,"rectangle-");if(u!==+u||l!==+l||c!==+c||s!==+s||c===0||s===0)return null;var _=ee("recharts-rectangle",d);if(!g){var I=Ge(t);I.radius;var C=Cs(I,aA);return h.createElement("path",Di({},C,{x:Ut(u),y:Ut(l),width:Ut(c),height:Ut(s),radius:typeof f=="number"?f:void 0,className:_,d:js(u,l,c,s,f)}))}var j=w.current,E=x.current,R=A.current,$=O.current,G="0px ".concat(a===-1?1:a,"px"),H="".concat(a,"px ").concat(a,"px"),Y=iA(["strokeDasharray"],p,typeof v=="string"?v:Ts.animationEasing);return h.createElement(Ih,{animationId:S,key:S,canBegin:a>0,duration:p,easing:v,isActive:g,begin:m},B=>{var q=Ot(j,c,B),W=Ot(E,s,B),Se=Ot(R,u,B),ge=Ot($,l,B);r.current&&(w.current=q,x.current=W,A.current=Se,O.current=ge);var ae;y?B>0?ae={transition:Y,strokeDasharray:H}:ae={strokeDasharray:G}:ae={strokeDasharray:H};var Ne=Ge(t);Ne.radius;var Le=Cs(Ne,oA);return h.createElement("path",Di({},Le,{radius:typeof f=="number"?f:void 0,className:_,d:js(Se,ge,q,W,f),ref:r,style:Is(Is({},ae),t.style)}))})};function Ms(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ds(e){for(var t=1;te*180/Math.PI,Ae=(e,t,r,n)=>({x:e+Math.cos(-$i*n)*r,y:t+Math.sin(-$i*n)*r}),xA=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},AA=(e,t)=>{var r=e.x,n=e.y,i=t.x,a=t.y;return Math.sqrt((r-i)**2+(n-a)**2)},OA=(e,t)=>{var r=e.x,n=e.y,i=t.cx,a=t.cy,o=AA({x:r,y:n},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var u=(r-i)/o,l=Math.acos(u);return n>a&&(l=2*Math.PI-l),{radius:o,angle:wA(l),angleInRadian:l}},PA=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),a=Math.min(n,i);return{startAngle:t-a*360,endAngle:r-a*360}},SA=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),a=Math.floor(n/360),o=Math.min(i,a);return e+o*360},EA=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=OA({x:r,y:n},t),a=i.radius,o=i.angle,u=t.innerRadius,l=t.outerRadius;if(al||a===0)return null;var c=PA(t),s=c.startAngle,f=c.endAngle,d=o,v;if(s<=f){for(;d>f;)d-=360;for(;d=s&&d<=f}else{for(;d>s;)d-=360;for(;d=f&&d<=s}return v?Ds(Ds({},t),{},{radius:a,angle:SA(d,t)}):null};function kh(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,a=e.endAngle,o=Ae(t,r,n,i),u=Ae(t,r,n,a);return{points:[o,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:a}}var $s,Ns,Ls,Rs,zs,Bs,Fs;function tu(){return tu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=He(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},ei=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,a=e.sign,o=e.isExternal,u=e.cornerRadius,l=e.cornerIsExternal,c=u*(o?1:-1)+n,s=Math.asin(u/c)/$i,f=l?i:i+a*s,d=Ae(t,r,c,f),v=Ae(t,r,n,f),p=l?i-a*s:i,m=Ae(t,r,c*Math.cos(s*$i),p);return{center:d,circleTangency:v,lineTangency:m,theta:s}},jh=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,u=_A(a,o),l=a+u,c=Ae(t,r,i,a),s=Ae(t,r,i,l),f=we($s||($s=ir(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+l*g,g,g,s,e+c*g,t,e+r-c*g,t,g,g,s,e+r,t+l*g,e+r,t+n-l*g,g,g,s,e+r-c*g,t+n,e+c*g,t+n,g,g,s,e,t+n-l*g)}else f=we(ys||(ys=lt(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return f},Os={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},i1=e=>{var t=Ze(e,Os),r=h.useRef(null),n=h.useState(-1),i=JA(n,2),a=i[0],o=i[1];h.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var B=r.current.getTotalLength();B&&o(B)}catch{}},[]);var u=t.x,l=t.y,c=t.width,s=t.height,f=t.radius,d=t.className,v=t.animationEasing,p=t.animationDuration,m=t.animationBegin,y=t.isAnimationActive,g=t.isUpdateAnimationActive,w=h.useRef(c),x=h.useRef(s),A=h.useRef(u),O=h.useRef(l),b=h.useMemo(()=>({x:u,y:l,width:c,height:s,radius:f}),[u,l,c,s,f]),S=wh(b,"rectangle-");if(u!==+u||l!==+l||c!==+c||s!==+s||c===0||s===0)return null;var _=ee("recharts-rectangle",d);if(!g){var I=Ve(t);I.radius;var C=ws(I,GA);return h.createElement("path",Di({},C,{x:Ut(u),y:Ut(l),width:Ut(c),height:Ut(s),radius:typeof f=="number"?f:void 0,className:_,d:As(u,l,c,s,f)}))}var j=w.current,E=x.current,R=A.current,$=O.current,V="0px ".concat(a===-1?1:a,"px"),H="".concat(a,"px ").concat(a,"px"),Y=YA(["strokeDasharray"],p,typeof v=="string"?v:Os.animationEasing);return h.createElement(bh,{animationId:S,key:S,canBegin:a>0,duration:p,easing:v,isActive:g,begin:m},B=>{var q=Ot(j,c,B),W=Ot(E,s,B),Se=Ot(R,u,B),ge=Ot($,l,B);r.current&&(w.current=q,x.current=W,A.current=Se,O.current=ge);var ae;y?B>0?ae={transition:Y,strokeDasharray:H}:ae={strokeDasharray:V}:ae={strokeDasharray:H};var Ne=Ve(t);Ne.radius;var Le=ws(Ne,VA);return h.createElement("path",Di({},Le,{radius:typeof f=="number"?f:void 0,className:_,d:As(Se,ge,q,W,f),ref:r,style:bs(bs({},ae),t.style)}))})};function Ps(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ss(e){for(var t=1;te*180/Math.PI,Ae=(e,t,r,n)=>({x:e+Math.cos(-$i*n)*r,y:t+Math.sin(-$i*n)*r}),c1=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},s1=(e,t)=>{var r=e.x,n=e.y,i=t.x,a=t.y;return Math.sqrt((r-i)**2+(n-a)**2)},f1=(e,t)=>{var r=e.x,n=e.y,i=t.cx,a=t.cy,o=s1({x:r,y:n},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var u=(r-i)/o,l=Math.acos(u);return n>a&&(l=2*Math.PI-l),{radius:o,angle:l1(l),angleInRadian:l}},d1=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),i=Math.floor(r/360),a=Math.min(n,i);return{startAngle:t-a*360,endAngle:r-a*360}},v1=(e,t)=>{var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),a=Math.floor(n/360),o=Math.min(i,a);return e+o*360},h1=(e,t)=>{var r=e.relativeX,n=e.relativeY,i=f1({x:r,y:n},t),a=i.radius,o=i.angle,u=t.innerRadius,l=t.outerRadius;if(al||a===0)return null;var c=d1(t),s=c.startAngle,f=c.endAngle,d=o,v;if(s<=f){for(;d>f;)d-=360;for(;d=s&&d<=f}else{for(;d>s;)d-=360;for(;d=f&&d<=s}return v?Ss(Ss({},t),{},{radius:a,angle:v1(d,t)}):null};function xh(e){var t=e.cx,r=e.cy,n=e.radius,i=e.startAngle,a=e.endAngle,o=Ae(t,r,n,i),u=Ae(t,r,n,a);return{points:[o,u],cx:t,cy:r,radius:n,startAngle:i,endAngle:a}}var Es,_s,Is,Cs,ks,js,Ts;function Zo(){return Zo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=He(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},ei=e=>{var t=e.cx,r=e.cy,n=e.radius,i=e.angle,a=e.sign,o=e.isExternal,u=e.cornerRadius,l=e.cornerIsExternal,c=u*(o?1:-1)+n,s=Math.asin(u/c)/$i,f=l?i:i+a*s,d=Ae(t,r,c,f),v=Ae(t,r,n,f),p=l?i-a*s:i,m=Ae(t,r,c*Math.cos(s*$i),p);return{center:d,circleTangency:v,lineTangency:m,theta:s}},Ah=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,u=p1(a,o),l=a+u,c=Ae(t,r,i,a),s=Ae(t,r,i,l),f=we(Es||(Es=ir(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),c.x,c.y,i,i,+(Math.abs(u)>180),+(a>l),s.x,s.y);if(n>0){var d=Ae(t,r,n,a),v=Ae(t,r,n,l);f+=we(Ns||(Ns=ir(["L ",",",` + `])),c.x,c.y,i,i,+(Math.abs(u)>180),+(a>l),s.x,s.y);if(n>0){var d=Ae(t,r,n,a),v=Ae(t,r,n,l);f+=we(_s||(_s=ir(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),v.x,v.y,n,n,+(Math.abs(u)>180),+(a<=l),d.x,d.y)}else f+=we(Ls||(Ls=ir(["L ",","," Z"])),t,r);return f},IA=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,u=e.cornerIsExternal,l=e.startAngle,c=e.endAngle,s=He(c-l),f=ei({cx:t,cy:r,radius:i,angle:l,sign:s,cornerRadius:a,cornerIsExternal:u}),d=f.circleTangency,v=f.lineTangency,p=f.theta,m=ei({cx:t,cy:r,radius:i,angle:c,sign:-s,cornerRadius:a,cornerIsExternal:u}),y=m.circleTangency,g=m.lineTangency,w=m.theta,x=u?Math.abs(l-c):Math.abs(l-c)-p-w;if(x<0)return o?we(Rs||(Rs=ir(["M ",",",` + `,","," Z"])),v.x,v.y,n,n,+(Math.abs(u)>180),+(a<=l),d.x,d.y)}else f+=we(Is||(Is=ir(["L ",","," Z"])),t,r);return f},m1=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,u=e.cornerIsExternal,l=e.startAngle,c=e.endAngle,s=He(c-l),f=ei({cx:t,cy:r,radius:i,angle:l,sign:s,cornerRadius:a,cornerIsExternal:u}),d=f.circleTangency,v=f.lineTangency,p=f.theta,m=ei({cx:t,cy:r,radius:i,angle:c,sign:-s,cornerRadius:a,cornerIsExternal:u}),y=m.circleTangency,g=m.lineTangency,w=m.theta,x=u?Math.abs(l-c):Math.abs(l-c)-p-w;if(x<0)return o?we(Cs||(Cs=ir(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),v.x,v.y,a,a,a*2,a,a,-a*2):jh({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:l,endAngle:c});var A=we(zs||(zs=ir(["M ",",",` + `])),v.x,v.y,a,a,a*2,a,a,-a*2):Ah({cx:t,cy:r,innerRadius:n,outerRadius:i,startAngle:l,endAngle:c});var A=we(ks||(ks=ir(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),v.x,v.y,a,a,+(s<0),d.x,d.y,i,i,+(x>180),+(s<0),y.x,y.y,a,a,+(s<0),g.x,g.y);if(n>0){var O=ei({cx:t,cy:r,radius:n,angle:l,sign:s,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),b=O.circleTangency,S=O.lineTangency,_=O.theta,I=ei({cx:t,cy:r,radius:n,angle:c,sign:-s,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),C=I.circleTangency,j=I.lineTangency,E=I.theta,R=u?Math.abs(l-c):Math.abs(l-c)-_-E;if(R<0&&a===0)return"".concat(A,"L").concat(t,",").concat(r,"Z");A+=we(Bs||(Bs=ir(["L",",",` + `])),v.x,v.y,a,a,+(s<0),d.x,d.y,i,i,+(x>180),+(s<0),y.x,y.y,a,a,+(s<0),g.x,g.y);if(n>0){var O=ei({cx:t,cy:r,radius:n,angle:l,sign:s,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),b=O.circleTangency,S=O.lineTangency,_=O.theta,I=ei({cx:t,cy:r,radius:n,angle:c,sign:-s,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),C=I.circleTangency,j=I.lineTangency,E=I.theta,R=u?Math.abs(l-c):Math.abs(l-c)-_-E;if(R<0&&a===0)return"".concat(A,"L").concat(t,",").concat(r,"Z");A+=we(js||(js=ir(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),j.x,j.y,a,a,+(s<0),C.x,C.y,n,n,+(R>180),+(s>0),b.x,b.y,a,a,+(s<0),S.x,S.y)}else A+=we(Fs||(Fs=ir(["L",",","Z"])),t,r);return A},CA={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},kA=e=>{var t=Ze(e,CA),r=t.cx,n=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,u=t.forceCornerRadius,l=t.cornerIsExternal,c=t.startAngle,s=t.endAngle,f=t.className;if(a0&&Math.abs(c-s)<360?m=IA({cx:r,cy:n,innerRadius:i,outerRadius:a,cornerRadius:Math.min(p,v/2),forceCornerRadius:u,cornerIsExternal:l,startAngle:c,endAngle:s}):m=jh({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:c,endAngle:s}),h.createElement("path",tu({},Ge(t),{className:d,d:m}))};function jA(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(dv(t)){if(e==="centric"){var n=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,u=t.angle,l=Ae(n,i,a,u),c=Ae(n,i,o,u);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return kh(t)}}function TA(e){return Ev(e)?NaN:Number(e)}function co(e){return e?(e=TA(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function Th(e,t,r){r&&typeof r!="number"&&$o(e,t,r)&&(t=r=void 0),e=co(e),t===void 0?(t=e,e=0):t=co(t),r=r===void 0?ee.chartData,zu=P([ut],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),_a=(e,t,r,n)=>n?zu(e):ut(e),MA=(e,t,r)=>r?zu(e):ut(e),DA=P([_a],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});P([zu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var $A=P([ut],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function Bu(e,t){return zA(e)||RA(e,t)||LA(e,t)||NA()}function NA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LA(e,t){if(e){if(typeof e=="string")return Ws(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ws(e,t):void 0}}function Ws(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^a.s<0?1:-1;for(n=a.d.length,i=e.d.length,t=0,r=ne.d[t]^a.s<0?1:-1;return n===i?0:n>i^a.s<0?1:-1};M.decimalPlaces=M.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*J;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};M.dividedBy=M.div=function(e){return Et(this,new this.constructor(e))};M.dividedToIntegerBy=M.idiv=function(e){var t=this,r=t.constructor;return Z(Et(t,new r(e),0,1),r.precision)};M.equals=M.eq=function(e){return!this.cmp(e)};M.exponent=function(){return ue(this)};M.greaterThan=M.gt=function(e){return this.cmp(e)>0};M.greaterThanOrEqualTo=M.gte=function(e){return this.cmp(e)>=0};M.isInteger=M.isint=function(){return this.e>this.d.length-2};M.isNegative=M.isneg=function(){return this.s<0};M.isPositive=M.ispos=function(){return this.s>0};M.isZero=function(){return this.s===0};M.lessThan=M.lt=function(e){return this.cmp(e)<0};M.lessThanOrEqualTo=M.lte=function(e){return this.cmp(e)<1};M.logarithm=M.log=function(e){var t,r=this,n=r.constructor,i=n.precision,a=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(ze))throw Error(Xe+"NaN");if(r.s<1)throw Error(Xe+(r.s?"NaN":"-Infinity"));return r.eq(ze)?new n(0):(te=!1,t=Et(Pn(r,a),Pn(e,a),a),te=!0,Z(t,i))};M.minus=M.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Lh(t,e):$h(t,(e.s=-e.s,e))};M.modulo=M.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(Xe+"NaN");return r.s?(te=!1,t=Et(r,e,0,1).times(e),te=!0,r.minus(t)):Z(new n(r),i)};M.naturalExponential=M.exp=function(){return Nh(this)};M.naturalLogarithm=M.ln=function(){return Pn(this)};M.negated=M.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};M.plus=M.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?$h(t,e):Lh(t,(e.s=-e.s,e))};M.precision=M.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(lr+e);if(t=ue(i)+1,n=i.d.length-1,r=n*J+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};M.squareRoot=M.sqrt=function(){var e,t,r,n,i,a,o,u=this,l=u.constructor;if(u.s<1){if(!u.s)return new l(0);throw Error(Xe+"NaN")}for(e=ue(u),te=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=dt(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Kr((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new l(t)):n=new l(i.toString()),r=l.precision,i=o=r+3;;)if(a=n,n=a.plus(Et(u,a,o+2)).times(.5),dt(a.d).slice(0,o)===(t=dt(n.d)).slice(0,o)){if(t=t.slice(o-3,o+1),i==o&&t=="4999"){if(Z(a,r+1,0),a.times(a).eq(u)){n=a;break}}else if(t!="9999")break;o+=4}return te=!0,Z(n,r)};M.times=M.mul=function(e){var t,r,n,i,a,o,u,l,c,s=this,f=s.constructor,d=s.d,v=(e=new f(e)).d;if(!s.s||!e.s)return new f(0);for(e.s*=s.s,r=s.e+e.e,l=d.length,c=v.length,l=0;){for(t=0,i=l+n;i>n;)u=a[i]+v[n]*d[i-n-1]+t,a[i--]=u%ve|0,t=u/ve|0;a[i]=(a[i]+t)%ve|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=r,te?Z(e,f.precision):e};M.toDecimalPlaces=M.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(yt(e,0,Ur),t===void 0?t=n.rounding:yt(t,0,8),Z(r,e+ue(r)+1,t))};M.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=hr(n,!0):(yt(e,0,Ur),t===void 0?t=i.rounding:yt(t,0,8),n=Z(new i(n),e+1,t),r=hr(n,!0,e+1)),r};M.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?hr(i):(yt(e,0,Ur),t===void 0?t=a.rounding:yt(t,0,8),n=Z(new a(i),e+ue(i)+1,t),r=hr(n.abs(),!1,e+ue(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};M.toInteger=M.toint=function(){var e=this,t=e.constructor;return Z(new t(e),ue(e)+1,t.rounding)};M.toNumber=function(){return+this};M.toPower=M.pow=function(e){var t,r,n,i,a,o,u=this,l=u.constructor,c=12,s=+(e=new l(e));if(!e.s)return new l(ze);if(u=new l(u),!u.s){if(e.s<1)throw Error(Xe+"Infinity");return u}if(u.eq(ze))return u;if(n=l.precision,e.eq(ze))return Z(u,n);if(t=e.e,r=e.d.length-1,o=t>=r,a=u.s,o){if((r=s<0?-s:s)<=Dh){for(i=new l(ze),t=Math.ceil(n/J+4),te=!1;r%2&&(i=i.times(u),Hs(i.d,t)),r=Kr(r/2),r!==0;)u=u.times(u),Hs(u.d,t);return te=!0,e.s<0?new l(ze).div(i):Z(i,n)}}else if(a<0)throw Error(Xe+"NaN");return a=a<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,te=!1,i=e.times(Pn(u,n+c)),te=!0,i=Nh(i),i.s=a,i};M.toPrecision=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?(r=ue(i),n=hr(i,r<=a.toExpNeg||r>=a.toExpPos)):(yt(e,1,Ur),t===void 0?t=a.rounding:yt(t,0,8),i=Z(new a(i),e,t),r=ue(i),n=hr(i,e<=r||r<=a.toExpNeg,e)),n};M.toSignificantDigits=M.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(yt(e,1,Ur),t===void 0?t=n.rounding:yt(t,0,8)),Z(new n(r),e,t)};M.toString=M.valueOf=M.val=M.toJSON=M[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=ue(e),r=e.constructor;return hr(e,t<=r.toExpNeg||t>=r.toExpPos)};function $h(e,t){var r,n,i,a,o,u,l,c,s=e.constructor,f=s.precision;if(!e.s||!t.s)return t.s||(t=new s(e)),te?Z(t,f):t;if(l=e.d,c=t.d,o=e.e,i=t.e,l=l.slice(),a=o-i,a){for(a<0?(n=l,a=-a,u=c.length):(n=c,i=o,u=l.length),o=Math.ceil(f/J),u=o>u?o+1:u+1,a>u&&(a=u,n.length=1),n.reverse();a--;)n.push(0);n.reverse()}for(u=l.length,a=c.length,u-a<0&&(a=u,n=c,c=l,l=n),r=0;a;)r=(l[--a]=l[a]+c[a]+r)/ve|0,l[a]%=ve;for(r&&(l.unshift(r),++i),u=l.length;l[--u]==0;)l.pop();return t.d=l,t.e=i,te?Z(t,f):t}function yt(e,t,r){if(e!==~~e||er)throw Error(lr+e)}function dt(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;to?1:-1;else for(u=l=0;ui[u]?1:-1;break}return l}function r(n,i,a){for(var o=0;a--;)n[a]-=o,o=n[a]1;)n.shift()}return function(n,i,a,o){var u,l,c,s,f,d,v,p,m,y,g,w,x,A,O,b,S,_,I=n.constructor,C=n.s==i.s?1:-1,j=n.d,E=i.d;if(!n.s)return new I(n);if(!i.s)throw Error(Xe+"Division by zero");for(l=n.e-i.e,S=E.length,O=j.length,v=new I(C),p=v.d=[],c=0;E[c]==(j[c]||0);)++c;if(E[c]>(j[c]||0)&&--l,a==null?w=a=I.precision:o?w=a+(ue(n)-ue(i))+1:w=a,w<0)return new I(0);if(w=w/J+2|0,c=0,S==1)for(s=0,E=E[0],w++;(c1&&(E=e(E,s),j=e(j,s),S=E.length,O=j.length),A=S,m=j.slice(0,S),y=m.length;y=ve/2&&++b;do s=0,u=t(E,m,S,y),u<0?(g=m[0],S!=y&&(g=g*ve+(m[1]||0)),s=g/b|0,s>1?(s>=ve&&(s=ve-1),f=e(E,s),d=f.length,y=m.length,u=t(f,m,d,y),u==1&&(s--,r(f,S16)throw Error(Fu+ue(e));if(!e.s)return new s(ze);for(te=!1,u=f,o=new s(.03125);e.abs().gte(.1);)e=e.times(o),c+=5;for(n=Math.log(rr(2,c))/Math.LN10*2+5|0,u+=n,r=i=a=new s(ze),s.precision=u;;){if(i=Z(i.times(e),u),r=r.times(++l),o=a.plus(Et(i,r,u)),dt(o.d).slice(0,u)===dt(a.d).slice(0,u)){for(;c--;)a=Z(a.times(a),u);return s.precision=f,t==null?(te=!0,Z(a,f)):a}a=o}}function ue(e){for(var t=e.e*J,r=e.d[0];r>=10;r/=10)t++;return t}function so(e,t,r){if(t>e.LN10.sd())throw te=!0,r&&(e.precision=r),Error(Xe+"LN10 precision limit exceeded");return Z(new e(e.LN10),t)}function Bt(e){for(var t="";e--;)t+="0";return t}function Pn(e,t){var r,n,i,a,o,u,l,c,s,f=1,d=10,v=e,p=v.d,m=v.constructor,y=m.precision;if(v.s<1)throw Error(Xe+(v.s?"NaN":"-Infinity"));if(v.eq(ze))return new m(0);if(t==null?(te=!1,c=y):c=t,v.eq(10))return t==null&&(te=!0),so(m,c);if(c+=d,m.precision=c,r=dt(p),n=r.charAt(0),a=ue(v),Math.abs(a)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)v=v.times(e),r=dt(v.d),n=r.charAt(0),f++;a=ue(v),n>1?(v=new m("0."+r),a++):v=new m(n+"."+r.slice(1))}else return l=so(m,c+2,y).times(a+""),v=Pn(new m(n+"."+r.slice(1)),c-d).plus(l),m.precision=y,t==null?(te=!0,Z(v,y)):v;for(u=o=v=Et(v.minus(ze),v.plus(ze),c),s=Z(v.times(v),c),i=3;;){if(o=Z(o.times(s),c),l=u.plus(Et(o,new m(i),c)),dt(l.d).slice(0,c)===dt(u.d).slice(0,c))return u=u.times(2),a!==0&&(u=u.plus(so(m,c+2,y).times(a+""))),u=Et(u,new m(f),c),m.precision=y,t==null?(te=!0,Z(u,y)):u;u=l,i+=2}}function Ks(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=Kr(r/J),e.d=[],n=(r+1)%J,r<0&&(n+=J),nNi||e.e<-Ni))throw Error(Fu+r)}else e.s=0,e.e=0,e.d=[0];return e}function Z(e,t,r){var n,i,a,o,u,l,c,s,f=e.d;for(o=1,a=f[0];a>=10;a/=10)o++;if(n=t-o,n<0)n+=J,i=t,c=f[s=0];else{if(s=Math.ceil((n+1)/J),a=f.length,s>=a)return e;for(c=a=f[s],o=1;a>=10;a/=10)o++;n%=J,i=n-J+o}if(r!==void 0&&(a=rr(10,o-i-1),u=c/a%10|0,l=t<0||f[s+1]!==void 0||c%a,l=r<4?(u||l)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||l||r==6&&(n>0?i>0?c/rr(10,o-i):0:f[s-1])%10&1||r==(e.s<0?8:7))),t<1||!f[0])return l?(a=ue(e),f.length=1,t=t-a-1,f[0]=rr(10,(J-t%J)%J),e.e=Kr(-t/J)||0):(f.length=1,f[0]=e.e=e.s=0),e;if(n==0?(f.length=s,a=1,s--):(f.length=s+1,a=rr(10,J-n),f[s]=i>0?(c/rr(10,o-i)%rr(10,i)|0)*a:0),l)for(;;)if(s==0){(f[0]+=a)==ve&&(f[0]=1,++e.e);break}else{if(f[s]+=a,f[s]!=ve)break;f[s--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop();if(te&&(e.e>Ni||e.e<-Ni))throw Error(Fu+ue(e));return e}function Lh(e,t){var r,n,i,a,o,u,l,c,s,f,d=e.constructor,v=d.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new d(e),te?Z(t,v):t;if(l=e.d,f=t.d,n=t.e,c=e.e,l=l.slice(),o=c-n,o){for(s=o<0,s?(r=l,o=-o,u=f.length):(r=f,n=c,u=l.length),i=Math.max(Math.ceil(v/J),u)+2,o>i&&(o=i,r.length=1),r.reverse(),i=o;i--;)r.push(0);r.reverse()}else{for(i=l.length,u=f.length,s=i0;--i)l[u++]=0;for(i=f.length;i>o;){if(l[--i]0?a=a.charAt(0)+"."+a.slice(1)+Bt(n):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Bt(-i-1)+a,r&&(n=r-o)>0&&(a+=Bt(n))):i>=o?(a+=Bt(i+1-o),r&&(n=r-i-1)>0&&(a=a+"."+Bt(n))):((n=i+1)0&&(i+1===o&&(a+="."),a+=Bt(n))),e.s<0?"-"+a:a}function Hs(e,t){if(e.length>t)return e.length=t,!0}function Rh(e){var t,r,n;function i(a){var o=this;if(!(o instanceof i))return new i(a);if(o.constructor=i,a instanceof i){o.s=a.s,o.e=a.e,o.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(lr+a);if(a>0)o.s=1;else if(a<0)a=-a,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(a===~~a&&a<1e7){o.e=0,o.d=[a];return}return Ks(o,a.toString())}else if(typeof a!="string")throw Error(lr+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,WA.test(a))Ks(o,a);else throw Error(lr+a)}if(i.prototype=M,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Rh,i.config=i.set=UA,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(lr+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(lr+r+": "+n);return this}var Wu=Rh(FA);ze=new Wu(1);const K=Wu;function zh(e){var t;return e===0?t=1:t=Math.floor(new K(e).abs().log(10).toNumber())+1,t}function Bh(e,t,r){for(var n=new K(e),i=0,a=[];n.lt(t)&&i<1e5;)a.push(n.toNumber()),n=n.add(r),i++;return a}function Sn(e,t){return VA(e)||YA(e,t)||HA(e,t)||KA()}function KA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HA(e,t){if(e){if(typeof e=="string")return Ys(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ys(e,t):void 0}}function Ys(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Sn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]},Uu=(e,t,r)=>{if(e.lte(0))return new K(0);var n=zh(e.toNumber()),i=new K(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new K(Math.ceil(a.div(o).toNumber())).add(r).mul(o),l=u.mul(i);return t?new K(l.toNumber()):new K(Math.ceil(l.toNumber()))},Wh=(e,t,r)=>{var n;if(e.lte(0))return new K(0);var i=[1,2,2.5,5],a=e.toNumber(),o=Math.floor(new K(a).abs().log(10).toNumber()),u=new K(10).pow(o),l=e.div(u).toNumber(),c=i.findIndex(v=>v>=l-1e-10);if(c===-1&&(u=u.mul(10),c=0),c+=r,c>=i.length){var s=Math.floor(c/i.length);c%=i.length,u=u.mul(new K(10).pow(s))}var f=(n=i[c])!==null&&n!==void 0?n:1,d=new K(f).mul(u);return t?d:new K(Math.ceil(d.toNumber()))},GA=(e,t,r)=>{var n=new K(1),i=new K(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new K(10).pow(zh(e)-1),i=new K(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new K(Math.floor(e)))}else e===0?i=new K(Math.floor((t-1)/2)):r||(i=new K(Math.floor(e)));for(var o=Math.floor((t-1)/2),u=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Uu;if(!Number.isFinite((r-t)/(n-1)))return{step:new K(0),tickMin:new K(0),tickMax:new K(0)};var u=o(new K(r).sub(t).div(n-1),i,a),l;t<=0&&r>=0?l=new K(0):(l=new K(t).add(r).div(2),l=l.sub(new K(l).mod(u)));var c=Math.ceil(l.sub(t).div(u).toNumber()),s=Math.ceil(new K(r).sub(l).div(u).toNumber()),f=c+s+1;return f>n?Uh(t,r,n,i,a+1,o):(f0?s+(n-f):s,c=r>0?c:c+(n-f)),{step:u,tickMin:l.sub(new K(c).mul(u)),tickMax:l.add(new K(s).mul(u))})},Vs=function(t){var r=Sn(t,2),n=r[0],i=r[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Math.max(a,2),c=Fh([n,i]),s=Sn(c,2),f=s[0],d=s[1];if(f===-1/0||d===1/0){var v=d===1/0?[f,...Array(a-1).fill(1/0)]:[...Array(a-1).fill(-1/0),d];return n>i?v.reverse():v}if(f===d)return GA(f,a,o);var p=u==="snap125"?Wh:Uu,m=Uh(f,d,l,o,0,p),y=m.step,g=m.tickMin,w=m.tickMax,x=Bh(g,w.add(new K(.1).mul(y)),y);return n>i?x.reverse():x},Gs=function(t,r){var n=Sn(t,2),i=n[0],a=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Fh([i,a]),c=Sn(l,2),s=c[0],f=c[1];if(s===-1/0||f===1/0)return[i,a];if(s===f)return[s];var d=u==="snap125"?Wh:Uu,v=Math.max(r,2),p=d(new K(f).sub(s).div(v-1),o,0),m=[...Bh(new K(s),new K(f),p),f];return o===!1&&(m=m.map(y=>Math.round(y))),i>a?m.reverse():m},qA=e=>e.rootProps.barCategoryGap,Ia=e=>e.rootProps.stackOffset,Kh=e=>e.rootProps.reverseStackOrder,Ku=e=>e.options.chartName,Hu=e=>e.rootProps.syncId,Hh=e=>e.rootProps.syncMethod,Yu=e=>e.options.eventEmitter,XA=e=>e.rootProps.baseValue,ke={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Xt={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},ct={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Ca=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function ka(e,t,r){if(r!=="auto")return r;if(e!=null)return bt(e,t)?"category":"number"}function qs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Li(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Vu=P([eO,ph],(e,t)=>{var r;if(e!=null)return e;var n=(r=ka(t,"angleAxis",Xs.type))!==null&&r!==void 0?r:"category";return Li(Li({},Xs),{},{type:n})}),tO=(e,t)=>e.polarAxis.radiusAxis[t],Gu=P([tO,ph],(e,t)=>{var r;if(e!=null)return e;var n=(r=ka(t,"radiusAxis",Zs.type))!==null&&r!==void 0?r:"category";return Li(Li({},Zs),{},{type:n})}),ja=e=>e.polarOptions,qu=P([Mt,Dt,Pe],xA),Yh=P([ja,qu],(e,t)=>{if(e!=null)return Yt(e.innerRadius,t,0)}),Vh=P([ja,qu],(e,t)=>{if(e!=null)return Yt(e.outerRadius,t,t*.8)}),rO=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Gh=P([ja],rO);P([Vu,Gh],Ca);var qh=P([qu,Yh,Vh],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});P([Gu,qh],Ca);var Xh=P([re,ja,Yh,Vh,Mt,Dt],(e,t,r,n,i,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var o=t.cx,u=t.cy,l=t.startAngle,c=t.endAngle;return{cx:Yt(o,i,i/2),cy:Yt(u,a,a/2),innerRadius:r,outerRadius:n,startAngle:l,endAngle:c,clockWise:!1}}}),pe=(e,t)=>t,Ta=(e,t,r)=>r;function Xu(e){return e==null?void 0:e.id}function Zh(e,t,r){var n=t.chartData,i=n===void 0?[]:n,a=r.allowDuplicatedCategory,o=r.dataKey,u=new Map;return e.forEach(l=>{var c,s=(c=l.data)!==null&&c!==void 0?c:i;if(!(s==null||s.length===0)){var f=Xu(l);s.forEach((d,v)=>{var p=o==null||a?v:String(he(d,o,null)),m=he(d,l.dataKey,0),y;u.has(p)?y=u.get(p):y={},Object.assign(y,{[f]:m}),u.set(p,y)})}}),Array.from(u.values())}function Zu(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Ma=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Da(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function nO(e,t){if(e.length===t.length){for(var r=0;r{var t=re(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Hr=e=>e.tooltip.settings.axisId;function Qu(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(a){function o(){return a.apply(this,arguments)}return o.toString=function(){return a.toString()},o})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(a){var o=i[0],u=i[1];return o<=u?a>=o&&a<=u:a>=u&&a<=o},bandwidth:r?()=>r.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,o)=>{var u=e(a);if(u!=null){if(e.bandwidth&&o!==null&&o!==void 0&&o.position){var l=e.bandwidth();switch(o.position){case"middle":u+=l/2;break;case"end":u+=l;break}}return u}}}}}var iO=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!vt(t)){for(var r,n,i=0;in)&&(n=a))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function Kt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function aO(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Ju(e){let t,r,n;e.length!==2?(t=Kt,r=(u,l)=>Kt(e(u),l),n=(u,l)=>e(u)-l):(t=e===Kt||e===aO?e:oO,r=e,n=e);function i(u,l,c=0,s=u.length){if(c>>1;r(u[f],l)<0?c=f+1:s=f}while(c>>1;r(u[f],l)<=0?c=f+1:s=f}while(cc&&n(u[f-1],l)>-n(u[f],l)?f-1:f}return{left:i,center:o,right:a}}function oO(){return 0}function Qh(e){return e===null?NaN:+e}function*uO(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const lO=Ju(Kt),Ln=lO.right;Ju(Qh).center;function cO(e=Kt){if(e===Kt)return Jh;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function Jh(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const sO=Math.sqrt(50),fO=Math.sqrt(10),dO=Math.sqrt(2);function Ri(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),o=a>=sO?10:a>=fO?5:a>=dO?2:1;let u,l,c;return i<0?(c=Math.pow(10,-i)/o,u=Math.round(e*c),l=Math.round(t*c),u/ct&&--l,c=-c):(c=Math.pow(10,i)*o,u=Math.round(e/c),l=Math.round(t/c),u*ct&&--l),l0))return[];if(e===t)return[e];const n=t=i))return[];const u=a-i+1,l=new Array(u);if(n)if(o<0)for(let c=0;cr;){if(n-r>600){const l=n-r+1,c=t-r+1,s=Math.log(l),f=.5*Math.exp(2*s/3),d=.5*Math.sqrt(s*f*(l-f)/l)*(c-l/2<0?-1:1),v=Math.max(r,Math.floor(t-c*f/l+d)),p=Math.min(n,Math.floor(t+(l-c)*f/l+d));ep(e,t,v,p,i)}const a=e[t];let o=r,u=n;for(an(e,r,t),i(e[n],a)>0&&an(e,r,n);o0;)--u}i(e[r],a)===0?an(e,r,u):(++u,an(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function an(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function vO(e,t,r){if(e=Float64Array.from(uO(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Zl(e);if(t>=1)return Ql(e);var n,i=(n-1)*t,a=Math.floor(i),o=Ql(ep(e,a).subarray(0,a+1)),u=Zl(e.subarray(a+1));return o+(u-o)*(i-a)}}function hO(e,t,r=Qh){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e),u=+r(e[a+1],a+1,e);return o+(u-o)*(i-a)}}function pO(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(i);++nt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function SO(e,t,r){var n=e[0],i=e[1],a=t[0],o=t[1];return i2?EO:SO,l=c=null,f}function f(d){return d==null||isNaN(d=+d)?a:(l||(l=u(e.map(n),t,r)))(n(o(d)))}return f.invert=function(d){return o(i((c||(c=u(t,e.map(n),Eo)))(d)))},f.domain=function(d){return arguments.length?(e=Array.from(d,zi),s()):e.slice()},f.range=function(d){return arguments.length?(t=Array.from(d),s()):t.slice()},f.rangeRound=function(d){return t=Array.from(d),r=tl,s()},f.clamp=function(d){return arguments.length?(o=d?!0:je,s()):o!==je},f.interpolate=function(d){return arguments.length?(r=d,s()):r},f.unknown=function(d){return arguments.length?(a=d,f):a},function(d,v){return n=d,i=v,s()}}function rl(){return $a()(je,je)}function _O(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Bi(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function $r(e){return e=Bi(Math.abs(e)),e?e[1]:NaN}function IO(e,t){return function(r,n){for(var i=r.length,a=[],o=0,u=e[0],l=0;i>0&&u>0&&(l+u+1>n&&(u=Math.max(1,n-l)),a.push(r.substring(i-=u,i+u)),!((l+=u+1)>n));)u=e[o=(o+1)%e.length];return a.reverse().join(t)}}function CO(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var kO=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function En(e){if(!(t=kO.exec(e)))throw new Error("invalid format: "+e);var t;return new nl({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}En.prototype=nl.prototype;function nl(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}nl.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function jO(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var Fi;function TO(e,t){var r=Bi(e,t);if(!r)return Fi=void 0,e.toPrecision(t);var n=r[0],i=r[1],a=i-(Fi=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Bi(e,Math.max(0,t+a-1))[0]}function Js(e,t){var r=Bi(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const ef={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:_O,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Js(e*100,t),r:Js,s:TO,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function tf(e){return e}var rf=Array.prototype.map,nf=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function MO(e){var t=e.grouping===void 0||e.thousands===void 0?tf:IO(rf.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?tf:CO(rf.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(f,d){f=En(f);var v=f.fill,p=f.align,m=f.sign,y=f.symbol,g=f.zero,w=f.width,x=f.comma,A=f.precision,O=f.trim,b=f.type;b==="n"?(x=!0,b="g"):ef[b]||(A===void 0&&(A=12),O=!0,b="g"),(g||v==="0"&&p==="=")&&(g=!0,v="0",p="=");var S=(d&&d.prefix!==void 0?d.prefix:"")+(y==="$"?r:y==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():""),_=(y==="$"?n:/[%p]/.test(b)?o:"")+(d&&d.suffix!==void 0?d.suffix:""),I=ef[b],C=/[defgprs%]/.test(b);A=A===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function j(E){var R=S,$=_,G,H,Y;if(b==="c")$=I(E)+$,E="";else{E=+E;var B=E<0||1/E<0;if(E=isNaN(E)?l:I(Math.abs(E),A),O&&(E=jO(E)),B&&+E==0&&m!=="+"&&(B=!1),R=(B?m==="("?m:u:m==="-"||m==="("?"":m)+R,$=(b==="s"&&!isNaN(E)&&Fi!==void 0?nf[8+Fi/3]:"")+$+(B&&m==="("?")":""),C){for(G=-1,H=E.length;++GY||Y>57){$=(Y===46?i+E.slice(G+1):E.slice(G))+$,E=E.slice(0,G);break}}}x&&!g&&(E=t(E,1/0));var q=R.length+E.length+$.length,W=q>1)+R+E+$+W.slice(q);break;default:E=W+R+E+$;break}return a(E)}return j.toString=function(){return f+""},j}function s(f,d){var v=Math.max(-8,Math.min(8,Math.floor($r(d)/3)))*3,p=Math.pow(10,-v),m=c((f=En(f),f.type="f",f),{suffix:nf[8+v/3]});return function(y){return m(p*y)}}return{format:c,formatPrefix:s}}var ti,il,rp;DO({thousands:",",grouping:[3],currency:["$",""]});function DO(e){return ti=MO(e),il=ti.format,rp=ti.formatPrefix,ti}function $O(e){return Math.max(0,-$r(Math.abs(e)))}function NO(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor($r(t)/3)))*3-$r(Math.abs(e)))}function LO(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,$r(t)-$r(e))+1}function np(e,t,r,n){var i=iu(e,t,r),a;switch(n=En(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=NO(i,o))&&(n.precision=a),rp(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=LO(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=$O(i))&&(n.precision=a-(n.type==="%")*2);break}}return il(n)}function Vt(e){var t=e.domain;return e.ticks=function(r){var n=t();return ru(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return np(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,a=n.length-1,o=n[i],u=n[a],l,c,s=10;for(u0;){if(c=nu(o,u,r),c===l)return n[i]=o,n[a]=u,t(n);if(c>0)o=Math.floor(o/c)*c,u=Math.ceil(u/c)*c;else if(c<0)o=Math.ceil(o*c)/c,u=Math.floor(u*c)/c;else break;l=c}return e},e}function ip(){var e=rl();return e.copy=function(){return Rn(e,ip())},ot.apply(e,arguments),Vt(e)}function ap(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,zi),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return ap(e).unknown(t)},e=arguments.length?Array.from(e,zi):[0,1],Vt(r)}function op(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],a=e[n],o;return aMath.pow(e,t)}function WO(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function uf(e){return(t,r)=>-e(-t,r)}function al(e){const t=e(af,of),r=t.domain;let n=10,i,a;function o(){return i=WO(n),a=FO(n),r()[0]<0?(i=uf(i),a=uf(a),e(RO,zO)):e(af,of),t}return t.base=function(u){return arguments.length?(n=+u,o()):n},t.domain=function(u){return arguments.length?(r(u),o()):r()},t.ticks=u=>{const l=r();let c=l[0],s=l[l.length-1];const f=s0){for(;d<=v;++d)for(p=1;ps)break;g.push(m)}}else for(;d<=v;++d)for(p=n-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(ms)break;g.push(m)}g.length*2{if(u==null&&(u=10),l==null&&(l=n===10?"s":","),typeof l!="function"&&(!(n%1)&&(l=En(l)).precision==null&&(l.trim=!0),l=il(l)),u===1/0)return l;const c=Math.max(1,n*u/t.ticks().length);return s=>{let f=s/a(Math.round(i(s)));return f*nr(op(r(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function up(){const e=al($a()).domain([1,10]);return e.copy=()=>Rn(e,up()).base(e.base()),ot.apply(e,arguments),e}function lf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function cf(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ol(e){var t=1,r=e(lf(t),cf(t));return r.constant=function(n){return arguments.length?e(lf(t=+n),cf(t)):t},Vt(r)}function lp(){var e=ol($a());return e.copy=function(){return Rn(e,lp()).constant(e.constant())},ot.apply(e,arguments)}function sf(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function UO(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function KO(e){return e<0?-e*e:e*e}function ul(e){var t=e(je,je),r=1;function n(){return r===1?e(je,je):r===.5?e(UO,KO):e(sf(r),sf(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Vt(t)}function ll(){var e=ul($a());return e.copy=function(){return Rn(e,ll()).exponent(e.exponent())},ot.apply(e,arguments),e}function HO(){return ll.apply(null,arguments).exponent(.5)}function ff(e){return Math.sign(e)*e*e}function YO(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function cp(){var e=rl(),t=[0,1],r=!1,n;function i(a){var o=YO(e(a));return isNaN(o)?n:r?Math.round(o):o}return i.invert=function(a){return e.invert(ff(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,zi)).map(ff)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(r=!!a,i):r},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return cp(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},ot.apply(i,arguments),Vt(i)}function sp(){var e=[],t=[],r=[],n;function i(){var o=0,u=Math.max(1,t.length);for(r=new Array(u-1);++o0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[c-1],n[c]]},o.unknown=function(l){return arguments.length&&(a=l),o},o.thresholds=function(){return n.slice()},o.copy=function(){return fp().domain([e,t]).range(i).unknown(a)},ot.apply(Vt(o),arguments)}function dp(){var e=[.5],t=[0,1],r,n=1;function i(a){return a!=null&&a<=a?t[Ln(e,a,0,n)]:r}return i.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return dp().domain(e).range(t).unknown(r)},ot.apply(i,arguments)}const fo=new Date,vo=new Date;function fe(e,t,r,n){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(t(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const l=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return l;let c;do l.push(c=new Date(+a)),t(a,u),e(a);while(cfe(o=>{if(o>=o)for(;e(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;t(o,-1),!a(o););else for(;--u>=0;)for(;t(o,1),!a(o););}),r&&(i.count=(a,o)=>(fo.setTime(+a),vo.setTime(+o),e(fo),e(vo),Math.floor(r(fo,vo))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?o=>n(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Wi=fe(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Wi.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?fe(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Wi);Wi.range;const Pt=1e3,Ve=Pt*60,St=Ve*60,Ct=St*24,cl=Ct*7,df=Ct*30,ho=Ct*365,ar=fe(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Pt)},(e,t)=>(t-e)/Pt,e=>e.getUTCSeconds());ar.range;const sl=fe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Pt)},(e,t)=>{e.setTime(+e+t*Ve)},(e,t)=>(t-e)/Ve,e=>e.getMinutes());sl.range;const fl=fe(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ve)},(e,t)=>(t-e)/Ve,e=>e.getUTCMinutes());fl.range;const dl=fe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Pt-e.getMinutes()*Ve)},(e,t)=>{e.setTime(+e+t*St)},(e,t)=>(t-e)/St,e=>e.getHours());dl.range;const vl=fe(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*St)},(e,t)=>(t-e)/St,e=>e.getUTCHours());vl.range;const zn=fe(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ve)/Ct,e=>e.getDate()-1);zn.range;const Na=fe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ct,e=>e.getUTCDate()-1);Na.range;const vp=fe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ct,e=>Math.floor(e/Ct));vp.range;function gr(e){return fe(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Ve)/cl)}const La=gr(0),Ui=gr(1),VO=gr(2),GO=gr(3),Nr=gr(4),qO=gr(5),XO=gr(6);La.range;Ui.range;VO.range;GO.range;Nr.range;qO.range;XO.range;function br(e){return fe(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/cl)}const Ra=br(0),Ki=br(1),ZO=br(2),QO=br(3),Lr=br(4),JO=br(5),eP=br(6);Ra.range;Ki.range;ZO.range;QO.range;Lr.range;JO.range;eP.range;const hl=fe(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());hl.range;const pl=fe(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());pl.range;const kt=fe(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());kt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:fe(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});kt.range;const jt=fe(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());jt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:fe(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});jt.range;function hp(e,t,r,n,i,a){const o=[[ar,1,Pt],[ar,5,5*Pt],[ar,15,15*Pt],[ar,30,30*Pt],[a,1,Ve],[a,5,5*Ve],[a,15,15*Ve],[a,30,30*Ve],[i,1,St],[i,3,3*St],[i,6,6*St],[i,12,12*St],[n,1,Ct],[n,2,2*Ct],[r,1,cl],[t,1,df],[t,3,3*df],[e,1,ho]];function u(c,s,f){const d=sy).right(o,d);if(v===o.length)return e.every(iu(c/ho,s/ho,f));if(v===0)return Wi.every(Math.max(iu(c,s,f),1));const[p,m]=o[d/o[v-1][2]53)return null;"w"in k||(k.w=1),"Z"in k?(X=mo(on(k.y,0,1)),L=X.getUTCDay(),X=L>4||L===0?Ki.ceil(X):Ki(X),X=Na.offset(X,(k.V-1)*7),k.y=X.getUTCFullYear(),k.m=X.getUTCMonth(),k.d=X.getUTCDate()+(k.w+6)%7):(X=po(on(k.y,0,1)),L=X.getDay(),X=L>4||L===0?Ui.ceil(X):Ui(X),X=zn.offset(X,(k.V-1)*7),k.y=X.getFullYear(),k.m=X.getMonth(),k.d=X.getDate()+(k.w+6)%7)}else("W"in k||"U"in k)&&("w"in k||(k.w="u"in k?k.u%7:"W"in k?1:0),L="Z"in k?mo(on(k.y,0,1)).getUTCDay():po(on(k.y,0,1)).getDay(),k.m=0,k.d="W"in k?(k.w+6)%7+k.W*7-(L+5)%7:k.w+k.U*7-(L+6)%7);return"Z"in k?(k.H+=k.Z/100|0,k.M+=k.Z%100,mo(k)):po(k)}}function _(T,F,z,k){for(var Ee=0,X=F.length,L=z.length,Re,qt;Ee=L)return-1;if(Re=F.charCodeAt(Ee++),Re===37){if(Re=F.charAt(Ee++),qt=O[Re in vf?F.charAt(Ee++):Re],!qt||(k=qt(T,z,k))<0)return-1}else if(Re!=z.charCodeAt(k++))return-1}return k}function I(T,F,z){var k=c.exec(F.slice(z));return k?(T.p=s.get(k[0].toLowerCase()),z+k[0].length):-1}function C(T,F,z){var k=v.exec(F.slice(z));return k?(T.w=p.get(k[0].toLowerCase()),z+k[0].length):-1}function j(T,F,z){var k=f.exec(F.slice(z));return k?(T.w=d.get(k[0].toLowerCase()),z+k[0].length):-1}function E(T,F,z){var k=g.exec(F.slice(z));return k?(T.m=w.get(k[0].toLowerCase()),z+k[0].length):-1}function R(T,F,z){var k=m.exec(F.slice(z));return k?(T.m=y.get(k[0].toLowerCase()),z+k[0].length):-1}function $(T,F,z){return _(T,t,F,z)}function G(T,F,z){return _(T,r,F,z)}function H(T,F,z){return _(T,n,F,z)}function Y(T){return o[T.getDay()]}function B(T){return a[T.getDay()]}function q(T){return l[T.getMonth()]}function W(T){return u[T.getMonth()]}function Se(T){return i[+(T.getHours()>=12)]}function ge(T){return 1+~~(T.getMonth()/3)}function ae(T){return o[T.getUTCDay()]}function Ne(T){return a[T.getUTCDay()]}function Le(T){return l[T.getUTCMonth()]}function Je(T){return u[T.getUTCMonth()]}function et(T){return i[+(T.getUTCHours()>=12)]}function Jr(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var F=b(T+="",x);return F.toString=function(){return T},F},parse:function(T){var F=S(T+="",!1);return F.toString=function(){return T},F},utcFormat:function(T){var F=b(T+="",A);return F.toString=function(){return T},F},utcParse:function(T){var F=S(T+="",!0);return F.toString=function(){return T},F}}}var vf={"-":"",_:" ",0:"0"},ye=/^\s*\d+/,oP=/^%/,uP=/[\\^$*+?|[\]().{}]/g;function V(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a[t.toLowerCase(),r]))}function cP(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function sP(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function fP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function dP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function vP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function hf(e,t,r){var n=ye.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function pf(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function hP(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function pP(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function mP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function mf(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function yP(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function yf(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function gP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function bP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function wP(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function xP(e,t,r){var n=ye.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function AP(e,t,r){var n=oP.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function OP(e,t,r){var n=ye.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function PP(e,t,r){var n=ye.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function gf(e,t){return V(e.getDate(),t,2)}function SP(e,t){return V(e.getHours(),t,2)}function EP(e,t){return V(e.getHours()%12||12,t,2)}function _P(e,t){return V(1+zn.count(kt(e),e),t,3)}function pp(e,t){return V(e.getMilliseconds(),t,3)}function IP(e,t){return pp(e,t)+"000"}function CP(e,t){return V(e.getMonth()+1,t,2)}function kP(e,t){return V(e.getMinutes(),t,2)}function jP(e,t){return V(e.getSeconds(),t,2)}function TP(e){var t=e.getDay();return t===0?7:t}function MP(e,t){return V(La.count(kt(e)-1,e),t,2)}function mp(e){var t=e.getDay();return t>=4||t===0?Nr(e):Nr.ceil(e)}function DP(e,t){return e=mp(e),V(Nr.count(kt(e),e)+(kt(e).getDay()===4),t,2)}function $P(e){return e.getDay()}function NP(e,t){return V(Ui.count(kt(e)-1,e),t,2)}function LP(e,t){return V(e.getFullYear()%100,t,2)}function RP(e,t){return e=mp(e),V(e.getFullYear()%100,t,2)}function zP(e,t){return V(e.getFullYear()%1e4,t,4)}function BP(e,t){var r=e.getDay();return e=r>=4||r===0?Nr(e):Nr.ceil(e),V(e.getFullYear()%1e4,t,4)}function FP(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+V(t/60|0,"0",2)+V(t%60,"0",2)}function bf(e,t){return V(e.getUTCDate(),t,2)}function WP(e,t){return V(e.getUTCHours(),t,2)}function UP(e,t){return V(e.getUTCHours()%12||12,t,2)}function KP(e,t){return V(1+Na.count(jt(e),e),t,3)}function yp(e,t){return V(e.getUTCMilliseconds(),t,3)}function HP(e,t){return yp(e,t)+"000"}function YP(e,t){return V(e.getUTCMonth()+1,t,2)}function VP(e,t){return V(e.getUTCMinutes(),t,2)}function GP(e,t){return V(e.getUTCSeconds(),t,2)}function qP(e){var t=e.getUTCDay();return t===0?7:t}function XP(e,t){return V(Ra.count(jt(e)-1,e),t,2)}function gp(e){var t=e.getUTCDay();return t>=4||t===0?Lr(e):Lr.ceil(e)}function ZP(e,t){return e=gp(e),V(Lr.count(jt(e),e)+(jt(e).getUTCDay()===4),t,2)}function QP(e){return e.getUTCDay()}function JP(e,t){return V(Ki.count(jt(e)-1,e),t,2)}function eS(e,t){return V(e.getUTCFullYear()%100,t,2)}function tS(e,t){return e=gp(e),V(e.getUTCFullYear()%100,t,2)}function rS(e,t){return V(e.getUTCFullYear()%1e4,t,4)}function nS(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Lr(e):Lr.ceil(e),V(e.getUTCFullYear()%1e4,t,4)}function iS(){return"+0000"}function wf(){return"%"}function xf(e){return+e}function Af(e){return Math.floor(+e/1e3)}var Or,bp,wp;aS({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function aS(e){return Or=aP(e),bp=Or.format,Or.parse,wp=Or.utcFormat,Or.utcParse,Or}function oS(e){return new Date(e)}function uS(e){return e instanceof Date?+e:+new Date(+e)}function ml(e,t,r,n,i,a,o,u,l,c){var s=rl(),f=s.invert,d=s.domain,v=c(".%L"),p=c(":%S"),m=c("%I:%M"),y=c("%I %p"),g=c("%a %d"),w=c("%b %d"),x=c("%B"),A=c("%Y");function O(b){return(l(b)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,a)=>vO(e,a/n))},r.copy=function(){return Pp(t).domain(e)},Tt.apply(r,arguments)}function Ba(){var e=0,t=.5,r=1,n=1,i,a,o,u,l,c=je,s,f=!1,d;function v(m){return isNaN(m=+m)?d:(m=.5+((m=+s(m))-a)*(n*m{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return hS(n)?n:"point"}};function pS(e,t){for(var r=0,n=e.length,i=e[0]t)?r=a+1:n=a}return r}function kp(e,t){if(e){var r=t??e.domain(),n=r.map(a=>{var o;return(o=e(a))!==null&&o!==void 0?o:0}),i=e.range();if(!(r.length===0||i.length<2))return a=>{var o,u,l=pS(n,a);if(l<=0)return r[0];if(l>=r.length)return r[r.length-1];var c=(o=n[l-1])!==null&&o!==void 0?o:0,s=(u=n[l])!==null&&u!==void 0?u:0;return Math.abs(a-c)<=Math.abs(a-s)?r[l-1]:r[l]}}}function mS(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):kp(e,void 0)}function Pf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hi(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],$t=(e,t)=>{var r=Tp(e,t);return r??ce},se={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:ou,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Tn},Mp=(e,t)=>e.cartesianAxis.yAxis[t],Nt=(e,t)=>{var r=Mp(e,t);return r??se},PS={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},wl=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??PS},Me=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);case"zAxis":return wl(e,r);case"angleAxis":return Vu(e,r);case"radiusAxis":return Gu(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},SS=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Bn=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);case"angleAxis":return Vu(e,r);case"radiusAxis":return Gu(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Dp=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function $p(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var Np=e=>e.graphicalItems.cartesianItems,ES=P([pe,Ta],$p),Lp=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),Vr=P([Np,Me,ES],Lp,{memoizeOptions:{resultEqualityCheck:Da}}),Rp=P([Vr],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Zu)),zp=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),_S=P([Vr],zp),Bp=e=>e.map(t=>t.data).filter(Boolean).flat(1),IS=P([Vr],e=>e.some(t=>!t.data)),Fp=P([Vr],Bp,{memoizeOptions:{resultEqualityCheck:Da}}),Wp=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:n.slice(i,a+1)},xl=P([Fp,_a],Wp),CS=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:he(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:he(i,n)}))):e.map(n=>({value:n})),Up=(e,t,r,n,i,a)=>{var o=n.chartData,u=o===void 0?[]:o,l=n.dataStartIndex,c=n.dataEndIndex,s=CS(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&a.length>0){var f=u.slice(l,c+1),d=f.map(v=>({value:he(v,t.dataKey)})).filter(v=>v.value!=null);return[...d,...s]}return s},Fn=P([xl,Me,Vr,_a,IS,Fp],Up);function Tr(e){if(pt(e)||e instanceof Date){var t=Number(e);if(U(t))return t}}function Ef(e){if(Array.isArray(e)){var t=[Tr(e[0]),Tr(e[1])];return vt(t)?t:void 0}var r=Tr(e);if(r!=null)return[r,r]}function gt(e){return e.map(Tr).filter(De)}function kS(e,t){var r=Tr(e),n=Tr(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var jS=P([Fn],e=>e==null?void 0:e.map(t=>t.value).sort(kS));function Kp(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function TS(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!ht(t))n=t;else if(Array.isArray(t)){var i=gt(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:gt(r.flatMap(a=>{var o=he(e,a.dataKey),u,l;if(Array.isArray(o)){var c=jp(o,2);u=c[0],l=c[1]}else u=l=o;if(!(!U(u)||!U(l)))return[n-u,n+l]}))}var de=e=>{var t=me(e),r=Hr(e);return Bn(e,t,r)},Rr=P([de],e=>e==null?void 0:e.dataKey),MS=P([Rp,_a,de],Zh),Hp=(e,t,r,n)=>{var i={},a=t.reduce((o,u)=>{if(u.stackId==null)return o;var l=o[u.stackId];return l==null&&(l=[]),l.push(u),o[u.stackId]=l,o},i);return Object.fromEntries(Object.entries(a).map(o=>{var u=jp(o,2),l=u[0],c=u[1],s=n?[...c].reverse():c,f=s.map(Xu);return[l,{stackedData:gw(e,f,r),graphicalItems:s}]}))},Yp=P([MS,Rp,Ia,Kh],Hp),Vp=(e,t,r,n)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(n==null&&r!=="zAxis")return Aw(e,i,a)},DS=P([Me],e=>e.allowDataOverflow),Al=e=>{var t;if(e==null||!("domain"in e))return ou;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=gt(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:ou},Gp=P([Me],Al),qp=P([Gp,DS],Mh),$S=P([Yp,ut,pe,qp],Vp,{memoizeOptions:{resultEqualityCheck:Ma}}),Ol=e=>e.errorBars,NS=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>Kp(r,n)),Yi=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,l;if(n.length>0&&n.forEach(c=>{var s,f=c.data!=null?[...c.data]:o,d=(s=i[c.id])===null||s===void 0?void 0:s.filter(v=>Kp(a,v));f.forEach(v=>{var p,m=he(v,(p=r.dataKey)!==null&&p!==void 0?p:c.dataKey),y=TS(v,m,d);if(y.length>=2){var g=Math.min(...y),w=Math.max(...y);(u==null||gl)&&(l=w)}var x=Ef(m);x!=null&&(u=u==null?x[0]:Math.min(u,x[0]),l=l==null?x[1]:Math.max(l,x[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(c=>{var s=Ef(he(c,r.dataKey));s!=null&&(u=u==null?s[0]:Math.min(u,s[0]),l=l==null?s[1]:Math.max(l,s[1]))}),U(u)&&U(l))return[u,l]},LS=P([xl,Me,_S,Ol,pe,DA],Xp,{memoizeOptions:{resultEqualityCheck:Ma}});function RS(e){var t=e.value;if(pt(t)||t instanceof Date)return t}var zS=(e,t,r)=>{var n=e.map(RS).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&sv(n))?Th(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},Zp=e=>e.referenceElements.dots,Gr=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),BS=P([Zp,pe,Ta],Gr),Qp=e=>e.referenceElements.areas,FS=P([Qp,pe,Ta],Gr),Jp=e=>e.referenceElements.lines,WS=P([Jp,pe,Ta],Gr),em=(e,t)=>{if(e!=null){var r=gt(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},US=P(BS,pe,em),tm=(e,t)=>{if(e!=null){var r=gt(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},KS=P([FS,pe],tm);function HS(e){var t;if(e.x!=null)return gt([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:gt(r)}function YS(e){var t;if(e.y!=null)return gt([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:gt(r)}var rm=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?HS(n):YS(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},VS=P([WS,pe],rm),GS=P(US,VS,KS,(e,t,r)=>Yi(e,r,t)),nm=(e,t,r,n,i,a,o,u)=>{if(r!=null)return r;var l=o==="vertical"&&u==="xAxis"||o==="horizontal"&&u==="yAxis",c=l?Yi(n,a,i):Yi(a,i);return BA(t,c,e.allowDataOverflow)},qS=P([Me,Gp,qp,$S,LS,GS,re,pe],nm,{memoizeOptions:{resultEqualityCheck:Ma}}),XS=[0,1],im=(e,t,r,n,i,a,o)=>{if(!((e==null||r==null||r.length===0)&&o===void 0)){var u=e.dataKey,l=e.type,c=bt(t,a);if(c&&u==null){var s;return Th(0,(s=r==null?void 0:r.length)!==null&&s!==void 0?s:0)}return l==="category"?zS(n,e,c):i==="expand"&&!c?XS:o}},Pl=P([Me,re,xl,Fn,Ia,pe,qS],im),qr=P([Me,Dp,Ku],Cp),am=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=Al(t),a=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&vt(e)){if(a)return Vs(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return Gs(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(a&&vt(e))return Vs(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&vt(e))return Gs(e,t.tickCount,t.allowDecimals,"adaptive")}}},Sl=P([Pl,Bn,qr],am),om=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&vt(t)&&Array.isArray(r)&&r.length>0){var i,a,o=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,l=t[1],c=(a=r[r.length-1])!==null&&a!==void 0?a:0;return[Math.min(o,u),Math.max(l,c)]}return t},ZS=P([Me,Pl,Sl,pe],om),QS=P(Fn,Me,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(gt(e.map(f=>f.value))).sort((f,d)=>f-d),i=n[0],a=n[n.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!U(e))return 0;var a=t==="vertical"?n.height:n.width;if(i==="gap")return e*a/2;if(i==="no-gap"){var o=Yt(r,e*a),u=e*a/2;return u-o-(u-o)/a*o}return 0}),JS=(e,t,r)=>{var n=$t(e,t);return n==null||typeof n.padding!="string"?0:um(e,"xAxis",t,r,n.padding)},eE=(e,t,r)=>{var n=Nt(e,t);return n==null||typeof n.padding!="string"?0:um(e,"yAxis",t,r,n.padding)},tE=P($t,JS,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),rE=P(Nt,eE,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),lm=P([Pe,tE,xa,wa,(e,t,r)=>r],(e,t,r,n,i)=>{var a=n.padding;return i?[a.left,r.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),cm=P([Pe,re,rE,xa,wa,(e,t,r)=>r],(e,t,r,n,i,a)=>{var o=i.padding;return a?[n.height-o.bottom,o.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),Wn=(e,t,r,n)=>{var i;switch(t){case"xAxis":return lm(e,r,n);case"yAxis":return cm(e,r,n);case"zAxis":return(i=wl(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return Gh(e);case"radiusAxis":return qh(e,r);default:return}},sm=P([Me,Wn],Ca),nE=P([qr,ZS],iO),El=P([Me,qr,nE,sm],bl),fm=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,a=r.scale,o=bt(e,n);if(o&&(i==="number"||a!=="auto"))return t.map(u=>u.value)}},_l=P([re,Fn,Bn,pe],fm),Fa=P([El],Qu);P([El],mS);P([El,jS],kp);P([Vr,Ol,pe],NS);function dm(e,t){return e.idt.id?1:0}var Wa=(e,t)=>t,Ua=(e,t,r)=>r,iE=P(ga,Wa,Ua,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(dm)),aE=P(ba,Wa,Ua,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(dm)),vm=(e,t)=>({width:e.width,height:t.height}),oE=(e,t)=>{var r=typeof t.width=="number"?t.width:Tn;return{width:r,height:e.height}},uE=P(Pe,$t,vm),lE=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},cE=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},sE=P(Dt,Pe,iE,Wa,Ua,(e,t,r,n,i)=>{var a={},o;return r.forEach(u=>{var l=vm(t,u);o==null&&(o=lE(t,n,e));var c=n==="top"&&!i||n==="bottom"&&i;a[u.id]=o-Number(c)*l.height,o+=(c?-1:1)*l.height}),a}),fE=P(Mt,Pe,aE,Wa,Ua,(e,t,r,n,i)=>{var a={},o;return r.forEach(u=>{var l=oE(t,u);o==null&&(o=cE(t,n,e));var c=n==="left"&&!i||n==="right"&&i;a[u.id]=o-Number(c)*l.width,o+=(c?-1:1)*l.width}),a}),dE=(e,t)=>{var r=$t(e,t);if(r!=null)return sE(e,r.orientation,r.mirror)},vE=P([Pe,$t,dE,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),hE=(e,t)=>{var r=Nt(e,t);if(r!=null)return fE(e,r.orientation,r.mirror)},pE=P([Pe,Nt,hE,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),mE=P(Pe,Nt,(e,t)=>{var r=typeof t.width=="number"?t.width:Tn;return{width:r,height:e.height}}),hm=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,a=r.type,o=r.dataKey,u=bt(e,n),l=t.map(s=>s.value),c=l.filter(s=>s!=null);if(o&&u&&a==="category"&&i&&sv(c))return l}},Il=P([re,Fn,Me,pe],hm),_f=P([re,SS,qr,Fa,Il,_l,Wn,Sl,pe],(e,t,r,n,i,a,o,u,l)=>{if(t!=null){var c=bt(e,l);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:l,categoricalDomain:a,duplicateDomain:i,isCategorical:c,niceTicks:u,range:o,realScaleType:r,scale:n}}}),yE=(e,t,r,n,i,a,o,u,l)=>{if(!(t==null||n==null)){var c=bt(e,l),s=t.type,f=t.ticks,d=t.tickCount,v=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,p=s==="category"&&n.bandwidth?n.bandwidth()/v:0;p=l==="angleAxis"&&a!=null&&a.length>=2?He(a[0]-a[1])*2*p:p;var m=f||i;return m?m.map((y,g)=>{var w=o?o.indexOf(y):y,x=n.map(w);return U(x)?{index:g,coordinate:x+p,value:y,offset:p}:null}).filter(De):c&&u?u.map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:y,index:g,offset:p}:null}).filter(De):n.ticks?n.ticks(d).map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:y,index:g,offset:p}:null}).filter(De):n.domain().map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:o?o[y]:y,index:g,offset:p}:null}).filter(De)}},pm=P([re,Bn,qr,Fa,Sl,Wn,Il,_l,pe],yE),gE=(e,t,r,n,i,a,o)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=bt(e,o),l=t.tickCount,c=0;return c=o==="angleAxis"&&(n==null?void 0:n.length)>=2?He(n[0]-n[1])*2*c:c,u&&a?a.map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:s,index:f,offset:c}:null}).filter(De):r.ticks?r.ticks(l).map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:s,index:f,offset:c}:null}).filter(De):r.domain().map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:i?i[s]:s,index:f,offset:c}:null}).filter(De)}},mm=P([re,Bn,Fa,Wn,Il,_l,pe],gE),ym=P(Me,Fa,(e,t)=>{if(!(e==null||t==null))return Hi(Hi({},e),{},{scale:t})}),bE=P([Me,qr,Pl,sm],bl),wE=P([bE],Qu);P((e,t,r)=>wl(e,r),wE,(e,t)=>{if(!(e==null||t==null))return Hi(Hi({},e),{},{scale:t})});var xE=P([re,ga,ba],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),AE=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};P([AE],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var a of e){var o=Math.abs(a.coordinate-t);oe.options.defaultTooltipEventType,bm=e=>e.options.validateTooltipEventTypes;function wm(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Un(e,t){var r=gm(e),n=bm(e);return wm(t,r,n)}function OE(e){return N(t=>Un(t,e))}var xm=(e,t)=>{var r,n=Number(t);if(!(ht(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},PE=e=>e.tooltip.settings,Wt={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},SE={itemInteraction:{click:Wt,hover:Wt},axisInteraction:{click:Wt,hover:Wt},keyboardInteraction:Wt,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},Am=Ce({name:"tooltip",initialState:SE,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:Q()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).tooltipItemPayloads.indexOf(n);a>-1&&(e.tooltipItemPayloads[a]=i)},prepare:Q()},removeTooltipEntrySettings:{reducer(e,t){var r=Ye(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Q()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Qe=Am.actions,EE=Qe.addTooltipEntrySettings,_E=Qe.replaceTooltipEntrySettings,IE=Qe.removeTooltipEntrySettings,CE=Qe.setTooltipSettingsState,kE=Qe.setActiveMouseOverItemIndex;Qe.mouseLeaveItem;var Om=Qe.mouseLeaveChart;Qe.setActiveClickItemIndex;var Pm=Qe.setMouseOverAxisIndex,jE=Qe.setMouseClickAxisIndex,dn=Qe.setSyncInteraction,Vi=Qe.setKeyboardInteraction,TE=Am.reducer;function If(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ri(e){for(var t=1;t{if(t==null)return Wt;var i=NE(e,t,r);if(i==null)return Wt;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(LE(i)){if(a)return ri(ri({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return ri(ri({},Wt),{},{coordinate:i.coordinate})};function RE(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function zE(e,t){var r=RE(e),n=t[0],i=t[1];if(r===void 0)return!1;var a=Math.min(n,i),o=Math.max(n,i);return r>=a&&r<=o}function BE(e,t,r){if(r==null||t==null)return!0;var n=he(e,t);return n==null||!vt(r)?!0:zE(n,r)}var hn=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var a=Number(i);if(!U(a))return i;var o=0,u=1/0;t.length>0&&(u=t.length-1);var l=Math.max(o,Math.min(a,u)),c=t[l];return c==null||BE(c,r,n)?String(l):null},Em=(e,t,r,n,i,a,o)=>{if(a!=null){var u=o[0],l=u==null?void 0:u.getPosition(a);if(l!=null)return l;var c=i==null?void 0:i[Number(a)];if(c)switch(r){case"horizontal":return{x:c.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:c.coordinate}}}},_m=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(o=>{var u;return((u=o.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},Im=e=>e.options.tooltipPayloadSearcher,Xr=e=>e.tooltip;function Cf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;te(t)}function jf(e){if(typeof e=="string")return e}function VE(e){if(!(e==null||typeof e!="object")){var t="name"in e?KE(e.name):void 0,r="unit"in e?HE(e.unit):void 0,n="dataKey"in e?YE(e.dataKey):void 0,i="payload"in e?e.payload:void 0,a="color"in e?jf(e.color):void 0,o="fill"in e?jf(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:a,fill:o}}}function GE(e,t){return e??t}var Cm=(e,t,r,n,i,a,o)=>{if(!(t==null||a==null)){var u=r.chartData,l=r.computedData,c=r.dataStartIndex,s=r.dataEndIndex,f=[];return e.reduce((d,v)=>{var p,m=v.dataDefinedOnItem,y=v.settings,g=GE(m,u),w=Array.isArray(g)?nh(g,c,s):g,x=(p=y==null?void 0:y.dataKey)!==null&&p!==void 0?p:n,A=y==null?void 0:y.nameKey,O;if(n&&Array.isArray(w)&&!Array.isArray(w[0])&&o==="axis"?O=fv(w,n,i):O=a(w,t,l,A),Array.isArray(O))O.forEach(S=>{var _,I,C=VE(S),j=C==null?void 0:C.name,E=C==null?void 0:C.dataKey,R=C==null?void 0:C.payload,$=kf(kf({},y),{},{name:j,unit:C==null?void 0:C.unit,color:(_=C==null?void 0:C.color)!==null&&_!==void 0?_:y==null?void 0:y.color,fill:(I=C==null?void 0:C.fill)!==null&&I!==void 0?I:y==null?void 0:y.fill});d.push(Lc({tooltipEntrySettings:$,dataKey:E,payload:R,value:he(R,E),name:j==null?void 0:String(j)}))});else{var b;d.push(Lc({tooltipEntrySettings:y,dataKey:x,payload:O,value:he(O,x),name:(b=he(O,A))!==null&&b!==void 0?b:y==null?void 0:y.name}))}return d},f)}},Cl=P([de,Dp,Ku],Cp),qE=P([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),XE=P([me,Hr],$p),wr=P([qE,de,XE],Lp,{memoizeOptions:{resultEqualityCheck:Da}}),ZE=P([wr],e=>e.filter(Zu)),km=P([wr],Bp,{memoizeOptions:{resultEqualityCheck:Da}}),QE=P([wr],e=>e.some(t=>!t.data)),pr=P([km,ut],Wp),JE=P([ZE,ut,de],Zh),kl=P([pr,de,wr,ut,QE,km],Up),jm=P([de],Al),e_=P([de],e=>e.allowDataOverflow),Tm=P([jm,e_],Mh),t_=P([wr],e=>e.filter(Zu)),r_=P([JE,t_,Ia,Kh],Hp),n_=P([r_,ut,me,Tm],Vp),i_=P([wr],zp),a_=P([pr,de,i_,Ol,me,$A],Xp,{memoizeOptions:{resultEqualityCheck:Ma}}),o_=P([Zp,me,Hr],Gr),u_=P([o_,me],em),l_=P([Qp,me,Hr],Gr),c_=P([l_,me],tm),s_=P([Jp,me,Hr],Gr),f_=P([s_,me],rm),d_=P([u_,f_,c_],Yi),v_=P([de,jm,Tm,n_,a_,d_,re,me],nm),zr=P([de,re,pr,kl,Ia,me,v_],im),h_=P([zr,de,Cl],am),p_=P([de,zr,h_,me],om),Mm=e=>{var t=me(e),r=Hr(e),n=!1;return Wn(e,t,r,n)},Dm=P([de,Mm],Ca),m_=P([de,Cl,p_,Dm],bl),$m=P([m_],Qu),y_=P([re,kl,de,me],hm),g_=P([re,kl,de,me],fm),b_=(e,t,r,n,i,a,o,u)=>{if(t){var l=t.type,c=bt(e,u);if(n){var s=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,f=l==="category"&&n.bandwidth?n.bandwidth()/s:0;return f=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?He(i[0]-i[1])*2*f:f,c&&o?o.map((d,v)=>{var p=n.map(d);return U(p)?{coordinate:p+f,value:d,index:v,offset:f}:null}).filter(De):n.domain().map((d,v)=>{var p=n.map(d);return U(p)?{coordinate:p+f,value:a?a[d]:d,index:v,offset:f}:null}).filter(De)}}},Lt=P([re,de,Cl,$m,Mm,y_,g_,me],b_),jl=P([gm,bm,PE],(e,t,r)=>wm(r.shared,e,t)),Nm=e=>e.tooltip.settings.trigger,Tl=e=>e.tooltip.settings.defaultIndex,Kn=P([Xr,jl,Nm,Tl],Sm),_n=P([Kn,pr,Rr,zr],hn),Lm=P([Lt,_n],xm),w_=P([Kn],e=>{if(e)return e.dataKey}),x_=P([Kn],e=>{if(e)return e.graphicalItemId}),Rm=P([Xr,jl,Nm,Tl],_m),A_=P([Mt,Dt,re,Pe,Lt,Tl,Rm],Em),O_=P([Kn,A_],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),P_=P([Kn],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),S_=P([Rm,_n,ut,Rr,Lm,Im,jl],Cm),E_=P([S_],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function Tf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Mf(e){for(var t=1;tN(de),j_=()=>{var e=k_(),t=N(Lt),r=N($m);return Ei(!e||!r?void 0:Mf(Mf({},e),{},{scale:r}),t)};function Df(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pr(e){for(var t=1;t{var i=t.find(a=>a&&a.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},N_=(e,t,r,n)=>{var i=t.find(c=>c&&c.index===r);if(i){if(e==="centric"){var a=i.coordinate,o=n.radius;return Pr(Pr(Pr({},n),Ae(n.cx,n.cy,o,a)),{},{angle:a,radius:o})}var u=i.coordinate,l=n.angle;return Pr(Pr(Pr({},n),Ae(n.cx,n.cy,u,l)),{},{angle:l,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function L_(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var zm=(e,t,r,n,i)=>{var a,o=(a=t==null?void 0:t.length)!==null&&a!==void 0?a:0;if(o<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(l=r[u-1])===null||l===void 0?void 0:l.coordinate:(c=r[o-1])===null||c===void 0?void 0:c.coordinate,p=(s=r[u])===null||s===void 0?void 0:s.coordinate,m=u>=o-1?(f=r[0])===null||f===void 0?void 0:f.coordinate:(d=r[u+1])===null||d===void 0?void 0:d.coordinate,y=void 0;if(!(v==null||p==null||m==null))if(He(p-v)!==He(m-p)){var g=[];if(He(m-p)===He(i[1]-i[0])){y=m;var w=p+i[1]-i[0];g[0]=Math.min(w,(w+v)/2),g[1]=Math.max(w,(w+v)/2)}else{y=v;var x=m+i[1]-i[0];g[0]=Math.min(p,(x+p)/2),g[1]=Math.max(p,(x+p)/2)}var A=[Math.min(p,(y+p)/2),Math.max(p,(y+p)/2)];if(e>A[0]&&e<=A[1]||e>=g[0]&&e<=g[1]){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var b=Math.min(v,m),S=Math.max(v,m);if(e>(b+p)/2&&e<=(S+p)/2){var _;return(_=r[u])===null||_===void 0?void 0:_.index}}}else if(t)for(var I=0;I(C.coordinate+E.coordinate)/2||I>0&&I(C.coordinate+E.coordinate)/2&&e<=(C.coordinate+j.coordinate)/2)return C.index}}return-1},Bm=()=>N(Ku),Ml=(e,t)=>t,Fm=(e,t,r)=>r,Dl=(e,t,r,n)=>n,R_=P(Lt,e=>ua(e,t=>t.coordinate)),$l=P([Xr,Ml,Fm,Dl],Sm),Nl=P([$l,pr,Rr,zr],hn),z_=(e,t,r)=>{if(t!=null){var n=Xr(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Wm=P([Xr,Ml,Fm,Dl],_m),Gi=P([Mt,Dt,re,Pe,Lt,Dl,Wm],Em),B_=P([$l,Gi],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Um=P([Lt,Nl],xm),F_=P([Wm,Nl,ut,Rr,Um,Im,Ml],Cm),W_=P([$l,Nl],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),U_=(e,t,r,n,i,a,o)=>{if(!(!e||!r||!n||!i)&&L_(e,o)){var u=Ow(e,t),l=zm(u,a,i,r,n),c=$_(t,i,l,e);return{activeIndex:String(l),activeCoordinate:c}}},K_=(e,t,r,n,i,a,o)=>{if(!(!e||!n||!i||!a||!r)){var u=EA(e,r);if(u){var l=Pw(u,t),c=zm(l,o,a,n,i),s=N_(t,a,c,u);return{activeIndex:String(c),activeCoordinate:s}}}},H_=(e,t,r,n,i,a,o,u)=>{if(!(!e||!t||!n||!i||!a))return t==="horizontal"||t==="vertical"?U_(e,t,n,i,a,o,u):K_(e,t,r,n,i,a,o)},Y_=P(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),V_=P(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(ke)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:nO}});function $f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Nf(e){for(var t=1;tNf(Nf({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),Z_)},J_=new Set(Object.values(ke));function eI(e){return J_.has(e)}var Km=Ce({name:"zIndex",initialState:Q_,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Q()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!eI(r)&&delete e.zIndexMap[r])},prepare:Q()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,a=r.isPanorama;e.zIndexMap[n]?a?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:a?void 0:i,panoramaElement:a?i:void 0}},prepare:Q()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Q()}}}),Ka=Km.actions,tI=Ka.registerZIndexPortal,yo=Ka.unregisterZIndexPortal,rI=Ka.registerZIndexPortalElement,nI=Ka.unregisterZIndexPortalElement,iI=Km.reducer;function Rt(e){var t=e.zIndex,r=e.children,n=lx(),i=n&&t!==void 0&&t!==0,a=$e(),o=h.useRef(void 0),u=h.useRef(new Set),l=le(),c=N(f=>Y_(f,t,a));if(h.useLayoutEffect(()=>{if(!i){var f=u.current;f.forEach(v=>{l(yo({zIndex:v}))}),f.clear(),o.current=void 0;return}if(u.current.has(t)||(l(tI({zIndex:t})),u.current.add(t)),c){o.current=c;var d=u.current;d.forEach(v=>{v!==t&&(l(yo({zIndex:v})),d.delete(v))})}},[l,t,i,c]),h.useLayoutEffect(()=>{var f=u.current;return()=>{f.forEach(d=>{l(yo({zIndex:d}))}),f.clear()}},[l]),!i)return r;var s=c??o.current;return s?Ud.createPortal(r,s):null}function uu(){return uu=Object.assign?Object.assign.bind():function(e){for(var t=1;th.useContext(Hm),go={exports:{}},Rf;function dI(){return Rf||(Rf=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(l,c,s){this.fn=l,this.context=c,this.once=s||!1}function a(l,c,s,f,d){if(typeof s!="function")throw new TypeError("The listener must be a function");var v=new i(s,f||l,d),p=r?r+c:c;return l._events[p]?l._events[p].fn?l._events[p]=[l._events[p],v]:l._events[p].push(v):(l._events[p]=v,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new n:delete l._events[c]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var c=[],s,f;if(this._eventsCount===0)return c;for(f in s=this._events)t.call(s,f)&&c.push(r?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(s)):c},u.prototype.listeners=function(c){var s=r?r+c:c,f=this._events[s];if(!f)return[];if(f.fn)return[f.fn];for(var d=0,v=f.length,p=new Array(v);d{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!ht(r))return e[r]}},mI={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Ym=Ce({name:"options",initialState:mI,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),yI=Ym.reducer,gI=Ym.actions.createEventEmitter;function bI(e){return e.tooltip.syncInteraction}var wI={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},Vm=Ce({name:"chartData",initialState:wI,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),Ll=Vm.actions,Bf=Ll.setChartData,xI=Ll.setDataStartEndIndexes;Ll.setComputedData;var AI=Vm.reducer,OI=["x","y"];function Ff(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Sr(e){for(var t=1;tl.rootProps.className);h.useEffect(()=>{if(e==null)return Fr;var l=(c,s,f)=>{if(t!==f&&e===c){if(s.payload.active===!1){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var d;if(o&&s!==null&&s!==void 0&&(d=s.payload)!==null&&d!==void 0&&d.coordinate&&s.payload.sourceViewBox){var v=s.payload.coordinate,p=v.x,m=v.y,y=_I(v,OI),g=s.payload.sourceViewBox,w=g.x,x=g.y,A=g.width,O=g.height,b=Sr(Sr({},y),{},{x:o.x+(A?(p-w)/A:0)*o.width,y:o.y+(O?(m-x)/O:0)*o.height});r(Sr(Sr({},s),{},{payload:Sr(Sr({},s.payload),{},{coordinate:b})}))}else r(s);return}if(i!=null){var S;if(typeof n=="function"){var _={activeTooltipIndex:s.payload.index==null?void 0:Number(s.payload.index),isTooltipActive:s.payload.active,activeIndex:s.payload.index==null?void 0:Number(s.payload.index),activeLabel:s.payload.label,activeDataKey:s.payload.dataKey,activeCoordinate:s.payload.coordinate},I=n(i,_);S=i[I]}else n==="value"&&(S=i.find(Y=>String(Y.value)===s.payload.label));var C=s.payload.coordinate;if(C==null||o==null){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(S==null){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:s.payload.sourceViewBox,graphicalItemId:void 0}));return}var j=C.x,E=C.y,R=Math.min(j,o.x+o.width),$=Math.min(E,o.y+o.height),G={x:a==="horizontal"?S.coordinate:R,y:a==="horizontal"?$:S.coordinate},H=dn({active:s.payload.active,coordinate:G,dataKey:s.payload.dataKey,index:String(S.index),label:s.payload.label,sourceViewBox:s.payload.sourceViewBox,graphicalItemId:s.payload.graphicalItemId});r(H)}}};return In.on(lu,l),()=>{In.off(lu,l)}},[u,r,t,e,n,i,a,o])}function kI(){var e=N(Hu),t=N(Yu),r=le();h.useEffect(()=>{if(e==null)return Fr;var n=(i,a,o)=>{t!==o&&e===i&&r(xI(a))};return In.on(zf,n),()=>{In.off(zf,n)}},[r,t,e])}function jI(){var e=le();h.useEffect(()=>{e(gI())},[e]),CI(),kI()}function TI(e,t,r,n,i,a){var o=N(p=>z_(p,e,t)),u=N(x_),l=N(Yu),c=N(Hu),s=N(Hh),f=N(bI),d=(f==null?void 0:f.sourceViewBox)!=null,v=Aa();h.useEffect(()=>{if(!d&&c!=null&&l!=null){var p=dn({active:a,coordinate:r,dataKey:o,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:v,graphicalItemId:u});In.emit(lu,c,p,l)}},[d,r,o,u,i,n,l,c,s,a,v])}function Wf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Uf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{S(CE({shared:w,trigger:x,axisId:b,active:i,defaultIndex:_}))},[S,w,x,b,i,_]);var I=Aa(),C=Ph(),j=OE(w),E=(t=N(z=>W_(z,j,x,_)))!==null&&t!==void 0?t:{},R=E.activeIndex,$=E.isActive,G=N(z=>F_(z,j,x,_)),H=N(z=>Um(z,j,x,_)),Y=N(z=>B_(z,j,x,_)),B=G,q=fI(),W=(r=i??$)!==null&&r!==void 0?r:!1,Se=cb([B,W]),ge=NI(Se,2),ae=ge[0],Ne=ge[1],Le=j==="axis"?H:void 0;TI(j,x,Y,Le,R,W);var Je=O??q;if(Je==null||I==null||j==null)return null;var et=B??Hf;W||(et=Hf),c&&et.length&&(et=T0(et.filter(z=>z.value!=null&&(z.hide!==!0||n.includeHidden)),d,FI));var Jr=et.length>0,T=Uf(Uf({},n),{},{payload:et,label:Le,active:W,activeIndex:R,coordinate:Y,accessibilityLayer:C}),F=h.createElement(w1,{allowEscapeViewBox:a,animationDuration:o,animationEasing:u,isAnimationActive:s,active:W,coordinate:Y,hasPayload:Jr,offset:f,position:v,reverseDirection:p,useTranslate3d:m,viewBox:I,wrapperStyle:y,lastBoundingBox:ae,innerRef:Ne,hasPortalFromProps:!!O},WI(l,T));return h.createElement(h.Fragment,null,Ud.createPortal(F,Je),W&&h.createElement(sI,{cursor:g,tooltipEventType:j,coordinate:Y,payload:et,index:R}))}function HI(e,t,r){return(t=YI(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YI(e){var t=VI(e,"string");return typeof t=="symbol"?t:t+""}function VI(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class GI{constructor(t){HI(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function Yf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qI(e){for(var t=1;t{try{var r=document.getElementById(Gf);r||(r=document.createElement("span"),r.setAttribute("id",Gf),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,eC,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},pn=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Nn.isSsr)return{width:0,height:0};if(!Gm.enableCache)return qf(t,r);var n=tC(t,r),i=Vf.get(n);if(i)return i;var a=qf(t,r);return Vf.set(n,a),a},qm;function qi(e,t){return aC(e)||iC(e,t)||nC(e,t)||rC()}function rC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nC(e,t){if(e){if(typeof e=="string")return Xf(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xf(e,t):void 0}}function Xf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Oe(t)||(r?i=t.toString().split(""):i=t.toString().split(Zm));var a=i.map(u=>({word:u,width:pn(u,n).width})),o=r?0:pn(" ",n).width;return{wordsWithComputedWidth:a,spaceWidth:o}}catch{return null}};function Jm(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function SC(e){return Oe(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var ey=(e,t,r,n)=>e.reduce((i,a)=>{var o=a.word,u=a.width,l=i[i.length-1];if(l&&u!=null&&(t==null||n||l.width+u+re.reduce((t,r)=>t.width>r.width?t:r),EC="…",nd=(e,t,r,n,i,a,o,u)=>{var l=e.slice(0,t),c=Qm({breakAll:r,style:n,children:l+EC});if(!c)return[!1,[]];var s=ey(c.wordsWithComputedWidth,a,o,u),f=s.length>i||ty(s).width>Number(a);return[f,s]},_C=(e,t,r,n,i)=>{var a=e.maxLines,o=e.children,u=e.style,l=e.breakAll,c=D(a),s=String(o),f=ey(t,n,r,i);if(!c||i)return f;var d=f.length>a||ty(f).width>Number(n);if(!d)return f;for(var v=0,p=s.length-1,m=0,y;v<=p&&m<=s.length-1;){var g=Math.floor((v+p)/2),w=g-1,x=nd(s,w,l,u,a,n,r,i),A=td(x,2),O=A[0],b=A[1],S=nd(s,g,l,u,a,n,r,i),_=td(S,1),I=_[0];if(!O&&!I&&(v=g+1),O&&I&&(p=g-1),!O&&I){y=b;break}m++}return y||f},id=e=>{var t=Oe(e)?[]:e.toString().split(Zm);return[{words:t,width:void 0}]},IC=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||r)&&!Nn.isSsr){var u,l,c=Qm({breakAll:a,children:n,style:i});if(c){var s=c.wordsWithComputedWidth,f=c.spaceWidth;u=s,l=f}else return id(n);return _C({breakAll:a,children:n,maxLines:o,style:i},u,l,t,!!r)}return id(n)},ry="#808080",CC={angle:0,breakAll:!1,capHeight:"0.71em",fill:ry,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Rl=h.forwardRef((e,t)=>{var r=Ze(e,CC),n=r.x,i=r.y,a=r.lineHeight,o=r.capHeight,u=r.fill,l=r.scaleToFit,c=r.textAnchor,s=r.verticalAnchor,f=ed(r,gC),d=h.useMemo(()=>IC({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),v=f.dx,p=f.dy,m=f.angle,y=f.className,g=f.breakAll,w=ed(f,bC);if(!pt(n)||!pt(i)||d.length===0)return null;var x=Number(n)+(D(v)?v:0),A=Number(i)+(D(p)?p:0);if(!U(x)||!U(A))return null;var O;switch(s){case"start":O=bo("calc(".concat(o,")"));break;case"middle":O=bo("calc(".concat((d.length-1)/2," * -").concat(a," + (").concat(o," / 2))"));break;default:O=bo("calc(".concat(d.length-1," * -").concat(a,")"));break}var b=[],S=d[0];if(l&&S!=null){var _=S.width,I=f.width;b.push("scale(".concat(D(I)&&D(_)?I/_:1,")"))}return m&&b.push("rotate(".concat(m,", ").concat(x,", ").concat(A,")")),b.length&&(w.transform=b.join(" ")),h.createElement("text",cu({},Ge(w),{ref:t,x,y:A,className:ee("recharts-text",y),textAnchor:c,fill:u.includes("url")?ry:u}),d.map((C,j)=>{var E=C.words.join(g?"":" ");return h.createElement("tspan",{x,dy:j===0?O:a,key:"".concat(E,"-").concat(j)},E)}))});Rl.displayName="Text";function ad(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function st(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,a=e.parentViewBox,o=$u(t),u=o.x,l=o.y,c=o.height,s=o.upperWidth,f=o.lowerWidth,d=u,v=u+(s-f)/2,p=(d+v)/2,m=(s+f)/2,y=d+s/2,g=c>=0?1:-1,w=g*i,x=g>0?"end":"start",A=g>0?"start":"end",O=s>=0?1:-1,b=O*i,S=O>0?"end":"start",_=O>0?"start":"end",I=a;if(r==="top"){var C={x:d+s/2,y:l-w,horizontalAnchor:"middle",verticalAnchor:x};return I&&(C.height=Math.max(l-I.y,0),C.width=s),C}if(r==="bottom"){var j={x:v+f/2,y:l+c+w,horizontalAnchor:"middle",verticalAnchor:A};return I&&(j.height=Math.max(I.y+I.height-(l+c),0),j.width=f),j}if(r==="left"){var E={x:p-b,y:l+c/2,horizontalAnchor:S,verticalAnchor:"middle"};return I&&(E.width=Math.max(E.x-I.x,0),E.height=c),E}if(r==="right"){var R={x:p+m+b,y:l+c/2,horizontalAnchor:_,verticalAnchor:"middle"};return I&&(R.width=Math.max(I.x+I.width-R.x,0),R.height=c),R}var $=I?{width:m,height:c}:{};return r==="insideLeft"?st({x:p+b,y:l+c/2,horizontalAnchor:_,verticalAnchor:"middle"},$):r==="insideRight"?st({x:p+m-b,y:l+c/2,horizontalAnchor:S,verticalAnchor:"middle"},$):r==="insideTop"?st({x:d+s/2,y:l+w,horizontalAnchor:"middle",verticalAnchor:A},$):r==="insideBottom"?st({x:v+f/2,y:l+c-w,horizontalAnchor:"middle",verticalAnchor:x},$):r==="insideTopLeft"?st({x:d+b,y:l+w,horizontalAnchor:_,verticalAnchor:A},$):r==="insideTopRight"?st({x:d+s-b,y:l+w,horizontalAnchor:S,verticalAnchor:A},$):r==="insideBottomLeft"?st({x:v+b,y:l+c-w,horizontalAnchor:_,verticalAnchor:x},$):r==="insideBottomRight"?st({x:v+f-b,y:l+c-w,horizontalAnchor:S,verticalAnchor:x},$):r&&typeof r=="object"&&(D(r.x)||sr(r.x))&&(D(r.y)||sr(r.y))?st({x:u+Yt(r.x,m),y:l+Yt(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},$):st({x:y,y:l+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},$)},DC=["labelRef"],$C=["content"];function od(e,t){if(e==null)return{};var r,n,i=NC(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,u=e.children,l=h.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:a,height:o}),[t,r,n,i,a,o]);return h.createElement(ny.Provider,{value:l},u)},iy=()=>{var e=h.useContext(ny),t=Aa();return e||(t?$u(t):void 0)},FC=h.createContext(null),WC=()=>{var e=h.useContext(FC),t=N(Xh);return e||t},UC=e=>{var t=e.value,r=e.formatter,n=Oe(e.children)?t:e.children;return typeof r=="function"?r(n):n},zl=e=>e!=null&&typeof e=="function",KC=(e,t)=>{var r=He(t-e),n=Math.min(Math.abs(t-e),360);return r*n},HC=(e,t,r,n,i)=>{var a=e.offset,o=e.className,u=i.cx,l=i.cy,c=i.innerRadius,s=i.outerRadius,f=i.startAngle,d=i.endAngle,v=i.clockWise,p=(c+s)/2,m=KC(f,d),y=m>=0?1:-1,g,w;switch(t){case"insideStart":g=f+y*a,w=v;break;case"insideEnd":g=d-y*a,w=!v;break;case"end":g=d+y*a,w=v;break;default:throw new Error("Unsupported position ".concat(t))}w=m<=0?w:!w;var x=Ae(u,l,p,g),A=Ae(u,l,p,g+(w?1:-1)*359),O="M".concat(x.x,",").concat(x.y,` + A`,",",",0,0,",",",",","Z"])),j.x,j.y,a,a,+(s<0),C.x,C.y,n,n,+(R>180),+(s>0),b.x,b.y,a,a,+(s<0),S.x,S.y)}else A+=we(Ts||(Ts=ir(["L",",","Z"])),t,r);return A},y1={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},g1=e=>{var t=Ze(e,y1),r=t.cx,n=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,u=t.forceCornerRadius,l=t.cornerIsExternal,c=t.startAngle,s=t.endAngle,f=t.className;if(a0&&Math.abs(c-s)<360?m=m1({cx:r,cy:n,innerRadius:i,outerRadius:a,cornerRadius:Math.min(p,v/2),forceCornerRadius:u,cornerIsExternal:l,startAngle:c,endAngle:s}):m=Ah({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:c,endAngle:s}),h.createElement("path",Zo({},Ve(t),{className:d,d:m}))};function b1(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(nv(t)){if(e==="centric"){var n=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,u=t.angle,l=Ae(n,i,a,u),c=Ae(n,i,o,u);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return xh(t)}}function w1(e){return yv(e)?NaN:Number(e)}function ao(e){return e?(e=w1(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function Oh(e,t,r){r&&typeof r!="number"&&jo(e,t,r)&&(t=r=void 0),e=ao(e),t===void 0?(t=e,e=0):t=ao(t),r=r===void 0?ee.chartData,Du=P([ut],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),_a=(e,t,r,n)=>n?Du(e):ut(e),x1=(e,t,r)=>r?Du(e):ut(e),A1=P([_a],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});P([Du],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var O1=P([ut],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function $u(e,t){return _1(e)||E1(e,t)||S1(e,t)||P1()}function P1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S1(e,t){if(e){if(typeof e=="string")return Ms(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ms(e,t):void 0}}function Ms(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^a.s<0?1:-1;for(n=a.d.length,i=e.d.length,t=0,r=ne.d[t]^a.s<0?1:-1;return n===i?0:n>i^a.s<0?1:-1};M.decimalPlaces=M.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*J;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};M.dividedBy=M.div=function(e){return Et(this,new this.constructor(e))};M.dividedToIntegerBy=M.idiv=function(e){var t=this,r=t.constructor;return Z(Et(t,new r(e),0,1),r.precision)};M.equals=M.eq=function(e){return!this.cmp(e)};M.exponent=function(){return ue(this)};M.greaterThan=M.gt=function(e){return this.cmp(e)>0};M.greaterThanOrEqualTo=M.gte=function(e){return this.cmp(e)>=0};M.isInteger=M.isint=function(){return this.e>this.d.length-2};M.isNegative=M.isneg=function(){return this.s<0};M.isPositive=M.ispos=function(){return this.s>0};M.isZero=function(){return this.s===0};M.lessThan=M.lt=function(e){return this.cmp(e)<0};M.lessThanOrEqualTo=M.lte=function(e){return this.cmp(e)<1};M.logarithm=M.log=function(e){var t,r=this,n=r.constructor,i=n.precision,a=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(ze))throw Error(Xe+"NaN");if(r.s<1)throw Error(Xe+(r.s?"NaN":"-Infinity"));return r.eq(ze)?new n(0):(te=!1,t=Et(Pn(r,a),Pn(e,a),a),te=!0,Z(t,i))};M.minus=M.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Ih(t,e):Eh(t,(e.s=-e.s,e))};M.modulo=M.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(Xe+"NaN");return r.s?(te=!1,t=Et(r,e,0,1).times(e),te=!0,r.minus(t)):Z(new n(r),i)};M.naturalExponential=M.exp=function(){return _h(this)};M.naturalLogarithm=M.ln=function(){return Pn(this)};M.negated=M.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};M.plus=M.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Eh(t,e):Ih(t,(e.s=-e.s,e))};M.precision=M.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(lr+e);if(t=ue(i)+1,n=i.d.length-1,r=n*J+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};M.squareRoot=M.sqrt=function(){var e,t,r,n,i,a,o,u=this,l=u.constructor;if(u.s<1){if(!u.s)return new l(0);throw Error(Xe+"NaN")}for(e=ue(u),te=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=dt(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Kr((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new l(t)):n=new l(i.toString()),r=l.precision,i=o=r+3;;)if(a=n,n=a.plus(Et(u,a,o+2)).times(.5),dt(a.d).slice(0,o)===(t=dt(n.d)).slice(0,o)){if(t=t.slice(o-3,o+1),i==o&&t=="4999"){if(Z(a,r+1,0),a.times(a).eq(u)){n=a;break}}else if(t!="9999")break;o+=4}return te=!0,Z(n,r)};M.times=M.mul=function(e){var t,r,n,i,a,o,u,l,c,s=this,f=s.constructor,d=s.d,v=(e=new f(e)).d;if(!s.s||!e.s)return new f(0);for(e.s*=s.s,r=s.e+e.e,l=d.length,c=v.length,l=0;){for(t=0,i=l+n;i>n;)u=a[i]+v[n]*d[i-n-1]+t,a[i--]=u%ve|0,t=u/ve|0;a[i]=(a[i]+t)%ve|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=r,te?Z(e,f.precision):e};M.toDecimalPlaces=M.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(yt(e,0,Ur),t===void 0?t=n.rounding:yt(t,0,8),Z(r,e+ue(r)+1,t))};M.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=hr(n,!0):(yt(e,0,Ur),t===void 0?t=i.rounding:yt(t,0,8),n=Z(new i(n),e+1,t),r=hr(n,!0,e+1)),r};M.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?hr(i):(yt(e,0,Ur),t===void 0?t=a.rounding:yt(t,0,8),n=Z(new a(i),e+ue(i)+1,t),r=hr(n.abs(),!1,e+ue(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};M.toInteger=M.toint=function(){var e=this,t=e.constructor;return Z(new t(e),ue(e)+1,t.rounding)};M.toNumber=function(){return+this};M.toPower=M.pow=function(e){var t,r,n,i,a,o,u=this,l=u.constructor,c=12,s=+(e=new l(e));if(!e.s)return new l(ze);if(u=new l(u),!u.s){if(e.s<1)throw Error(Xe+"Infinity");return u}if(u.eq(ze))return u;if(n=l.precision,e.eq(ze))return Z(u,n);if(t=e.e,r=e.d.length-1,o=t>=r,a=u.s,o){if((r=s<0?-s:s)<=Sh){for(i=new l(ze),t=Math.ceil(n/J+4),te=!1;r%2&&(i=i.times(u),Ns(i.d,t)),r=Kr(r/2),r!==0;)u=u.times(u),Ns(u.d,t);return te=!0,e.s<0?new l(ze).div(i):Z(i,n)}}else if(a<0)throw Error(Xe+"NaN");return a=a<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,te=!1,i=e.times(Pn(u,n+c)),te=!0,i=_h(i),i.s=a,i};M.toPrecision=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?(r=ue(i),n=hr(i,r<=a.toExpNeg||r>=a.toExpPos)):(yt(e,1,Ur),t===void 0?t=a.rounding:yt(t,0,8),i=Z(new a(i),e,t),r=ue(i),n=hr(i,e<=r||r<=a.toExpNeg,e)),n};M.toSignificantDigits=M.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(yt(e,1,Ur),t===void 0?t=n.rounding:yt(t,0,8)),Z(new n(r),e,t)};M.toString=M.valueOf=M.val=M.toJSON=M[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=ue(e),r=e.constructor;return hr(e,t<=r.toExpNeg||t>=r.toExpPos)};function Eh(e,t){var r,n,i,a,o,u,l,c,s=e.constructor,f=s.precision;if(!e.s||!t.s)return t.s||(t=new s(e)),te?Z(t,f):t;if(l=e.d,c=t.d,o=e.e,i=t.e,l=l.slice(),a=o-i,a){for(a<0?(n=l,a=-a,u=c.length):(n=c,i=o,u=l.length),o=Math.ceil(f/J),u=o>u?o+1:u+1,a>u&&(a=u,n.length=1),n.reverse();a--;)n.push(0);n.reverse()}for(u=l.length,a=c.length,u-a<0&&(a=u,n=c,c=l,l=n),r=0;a;)r=(l[--a]=l[a]+c[a]+r)/ve|0,l[a]%=ve;for(r&&(l.unshift(r),++i),u=l.length;l[--u]==0;)l.pop();return t.d=l,t.e=i,te?Z(t,f):t}function yt(e,t,r){if(e!==~~e||er)throw Error(lr+e)}function dt(e){var t,r,n,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;to?1:-1;else for(u=l=0;ui[u]?1:-1;break}return l}function r(n,i,a){for(var o=0;a--;)n[a]-=o,o=n[a]1;)n.shift()}return function(n,i,a,o){var u,l,c,s,f,d,v,p,m,y,g,w,x,A,O,b,S,_,I=n.constructor,C=n.s==i.s?1:-1,j=n.d,E=i.d;if(!n.s)return new I(n);if(!i.s)throw Error(Xe+"Division by zero");for(l=n.e-i.e,S=E.length,O=j.length,v=new I(C),p=v.d=[],c=0;E[c]==(j[c]||0);)++c;if(E[c]>(j[c]||0)&&--l,a==null?w=a=I.precision:o?w=a+(ue(n)-ue(i))+1:w=a,w<0)return new I(0);if(w=w/J+2|0,c=0,S==1)for(s=0,E=E[0],w++;(c1&&(E=e(E,s),j=e(j,s),S=E.length,O=j.length),A=S,m=j.slice(0,S),y=m.length;y=ve/2&&++b;do s=0,u=t(E,m,S,y),u<0?(g=m[0],S!=y&&(g=g*ve+(m[1]||0)),s=g/b|0,s>1?(s>=ve&&(s=ve-1),f=e(E,s),d=f.length,y=m.length,u=t(f,m,d,y),u==1&&(s--,r(f,S16)throw Error(Nu+ue(e));if(!e.s)return new s(ze);for(te=!1,u=f,o=new s(.03125);e.abs().gte(.1);)e=e.times(o),c+=5;for(n=Math.log(rr(2,c))/Math.LN10*2+5|0,u+=n,r=i=a=new s(ze),s.precision=u;;){if(i=Z(i.times(e),u),r=r.times(++l),o=a.plus(Et(i,r,u)),dt(o.d).slice(0,u)===dt(a.d).slice(0,u)){for(;c--;)a=Z(a.times(a),u);return s.precision=f,t==null?(te=!0,Z(a,f)):a}a=o}}function ue(e){for(var t=e.e*J,r=e.d[0];r>=10;r/=10)t++;return t}function oo(e,t,r){if(t>e.LN10.sd())throw te=!0,r&&(e.precision=r),Error(Xe+"LN10 precision limit exceeded");return Z(new e(e.LN10),t)}function Bt(e){for(var t="";e--;)t+="0";return t}function Pn(e,t){var r,n,i,a,o,u,l,c,s,f=1,d=10,v=e,p=v.d,m=v.constructor,y=m.precision;if(v.s<1)throw Error(Xe+(v.s?"NaN":"-Infinity"));if(v.eq(ze))return new m(0);if(t==null?(te=!1,c=y):c=t,v.eq(10))return t==null&&(te=!0),oo(m,c);if(c+=d,m.precision=c,r=dt(p),n=r.charAt(0),a=ue(v),Math.abs(a)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)v=v.times(e),r=dt(v.d),n=r.charAt(0),f++;a=ue(v),n>1?(v=new m("0."+r),a++):v=new m(n+"."+r.slice(1))}else return l=oo(m,c+2,y).times(a+""),v=Pn(new m(n+"."+r.slice(1)),c-d).plus(l),m.precision=y,t==null?(te=!0,Z(v,y)):v;for(u=o=v=Et(v.minus(ze),v.plus(ze),c),s=Z(v.times(v),c),i=3;;){if(o=Z(o.times(s),c),l=u.plus(Et(o,new m(i),c)),dt(l.d).slice(0,c)===dt(u.d).slice(0,c))return u=u.times(2),a!==0&&(u=u.plus(oo(m,c+2,y).times(a+""))),u=Et(u,new m(f),c),m.precision=y,t==null?(te=!0,Z(u,y)):u;u=l,i+=2}}function $s(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=Kr(r/J),e.d=[],n=(r+1)%J,r<0&&(n+=J),nNi||e.e<-Ni))throw Error(Nu+r)}else e.s=0,e.e=0,e.d=[0];return e}function Z(e,t,r){var n,i,a,o,u,l,c,s,f=e.d;for(o=1,a=f[0];a>=10;a/=10)o++;if(n=t-o,n<0)n+=J,i=t,c=f[s=0];else{if(s=Math.ceil((n+1)/J),a=f.length,s>=a)return e;for(c=a=f[s],o=1;a>=10;a/=10)o++;n%=J,i=n-J+o}if(r!==void 0&&(a=rr(10,o-i-1),u=c/a%10|0,l=t<0||f[s+1]!==void 0||c%a,l=r<4?(u||l)&&(r==0||r==(e.s<0?3:2)):u>5||u==5&&(r==4||l||r==6&&(n>0?i>0?c/rr(10,o-i):0:f[s-1])%10&1||r==(e.s<0?8:7))),t<1||!f[0])return l?(a=ue(e),f.length=1,t=t-a-1,f[0]=rr(10,(J-t%J)%J),e.e=Kr(-t/J)||0):(f.length=1,f[0]=e.e=e.s=0),e;if(n==0?(f.length=s,a=1,s--):(f.length=s+1,a=rr(10,J-n),f[s]=i>0?(c/rr(10,o-i)%rr(10,i)|0)*a:0),l)for(;;)if(s==0){(f[0]+=a)==ve&&(f[0]=1,++e.e);break}else{if(f[s]+=a,f[s]!=ve)break;f[s--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop();if(te&&(e.e>Ni||e.e<-Ni))throw Error(Nu+ue(e));return e}function Ih(e,t){var r,n,i,a,o,u,l,c,s,f,d=e.constructor,v=d.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new d(e),te?Z(t,v):t;if(l=e.d,f=t.d,n=t.e,c=e.e,l=l.slice(),o=c-n,o){for(s=o<0,s?(r=l,o=-o,u=f.length):(r=f,n=c,u=l.length),i=Math.max(Math.ceil(v/J),u)+2,o>i&&(o=i,r.length=1),r.reverse(),i=o;i--;)r.push(0);r.reverse()}else{for(i=l.length,u=f.length,s=i0;--i)l[u++]=0;for(i=f.length;i>o;){if(l[--i]0?a=a.charAt(0)+"."+a.slice(1)+Bt(n):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Bt(-i-1)+a,r&&(n=r-o)>0&&(a+=Bt(n))):i>=o?(a+=Bt(i+1-o),r&&(n=r-i-1)>0&&(a=a+"."+Bt(n))):((n=i+1)0&&(i+1===o&&(a+="."),a+=Bt(n))),e.s<0?"-"+a:a}function Ns(e,t){if(e.length>t)return e.length=t,!0}function Ch(e){var t,r,n;function i(a){var o=this;if(!(o instanceof i))return new i(a);if(o.constructor=i,a instanceof i){o.s=a.s,o.e=a.e,o.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(lr+a);if(a>0)o.s=1;else if(a<0)a=-a,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(a===~~a&&a<1e7){o.e=0,o.d=[a];return}return $s(o,a.toString())}else if(typeof a!="string")throw Error(lr+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,k1.test(a))$s(o,a);else throw Error(lr+a)}if(i.prototype=M,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Ch,i.config=i.set=j1,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(lr+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(lr+r+": "+n);return this}var Lu=Ch(C1);ze=new Lu(1);const K=Lu;function kh(e){var t;return e===0?t=1:t=Math.floor(new K(e).abs().log(10).toNumber())+1,t}function jh(e,t,r){for(var n=new K(e),i=0,a=[];n.lt(t)&&i<1e5;)a.push(n.toNumber()),n=n.add(r),i++;return a}function Sn(e,t){return $1(e)||D1(e,t)||M1(e,t)||T1()}function T1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M1(e,t){if(e){if(typeof e=="string")return Ls(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ls(e,t):void 0}}function Ls(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Sn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]},Ru=(e,t,r)=>{if(e.lte(0))return new K(0);var n=kh(e.toNumber()),i=new K(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new K(Math.ceil(a.div(o).toNumber())).add(r).mul(o),l=u.mul(i);return t?new K(l.toNumber()):new K(Math.ceil(l.toNumber()))},Mh=(e,t,r)=>{var n;if(e.lte(0))return new K(0);var i=[1,2,2.5,5],a=e.toNumber(),o=Math.floor(new K(a).abs().log(10).toNumber()),u=new K(10).pow(o),l=e.div(u).toNumber(),c=i.findIndex(v=>v>=l-1e-10);if(c===-1&&(u=u.mul(10),c=0),c+=r,c>=i.length){var s=Math.floor(c/i.length);c%=i.length,u=u.mul(new K(10).pow(s))}var f=(n=i[c])!==null&&n!==void 0?n:1,d=new K(f).mul(u);return t?d:new K(Math.ceil(d.toNumber()))},N1=(e,t,r)=>{var n=new K(1),i=new K(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new K(10).pow(kh(e)-1),i=new K(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new K(Math.floor(e)))}else e===0?i=new K(Math.floor((t-1)/2)):r||(i=new K(Math.floor(e)));for(var o=Math.floor((t-1)/2),u=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Ru;if(!Number.isFinite((r-t)/(n-1)))return{step:new K(0),tickMin:new K(0),tickMax:new K(0)};var u=o(new K(r).sub(t).div(n-1),i,a),l;t<=0&&r>=0?l=new K(0):(l=new K(t).add(r).div(2),l=l.sub(new K(l).mod(u)));var c=Math.ceil(l.sub(t).div(u).toNumber()),s=Math.ceil(new K(r).sub(l).div(u).toNumber()),f=c+s+1;return f>n?Dh(t,r,n,i,a+1,o):(f0?s+(n-f):s,c=r>0?c:c+(n-f)),{step:u,tickMin:l.sub(new K(c).mul(u)),tickMax:l.add(new K(s).mul(u))})},Rs=function(t){var r=Sn(t,2),n=r[0],i=r[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Math.max(a,2),c=Th([n,i]),s=Sn(c,2),f=s[0],d=s[1];if(f===-1/0||d===1/0){var v=d===1/0?[f,...Array(a-1).fill(1/0)]:[...Array(a-1).fill(-1/0),d];return n>i?v.reverse():v}if(f===d)return N1(f,a,o);var p=u==="snap125"?Mh:Ru,m=Dh(f,d,l,o,0,p),y=m.step,g=m.tickMin,w=m.tickMax,x=jh(g,w.add(new K(.1).mul(y)),y);return n>i?x.reverse():x},zs=function(t,r){var n=Sn(t,2),i=n[0],a=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Th([i,a]),c=Sn(l,2),s=c[0],f=c[1];if(s===-1/0||f===1/0)return[i,a];if(s===f)return[s];var d=u==="snap125"?Mh:Ru,v=Math.max(r,2),p=d(new K(f).sub(s).div(v-1),o,0),m=[...jh(new K(s),new K(f),p),f];return o===!1&&(m=m.map(y=>Math.round(y))),i>a?m.reverse():m},L1=e=>e.rootProps.barCategoryGap,Ia=e=>e.rootProps.stackOffset,$h=e=>e.rootProps.reverseStackOrder,zu=e=>e.options.chartName,Bu=e=>e.rootProps.syncId,Nh=e=>e.rootProps.syncMethod,Fu=e=>e.options.eventEmitter,R1=e=>e.rootProps.baseValue,ke={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Xt={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},ct={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Ca=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function ka(e,t,r){if(r!=="auto")return r;if(e!=null)return bt(e,t)?"category":"number"}function Bs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Li(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Wu=P([W1,oh],(e,t)=>{var r;if(e!=null)return e;var n=(r=ka(t,"angleAxis",Fs.type))!==null&&r!==void 0?r:"category";return Li(Li({},Fs),{},{type:n})}),U1=(e,t)=>e.polarAxis.radiusAxis[t],Uu=P([U1,oh],(e,t)=>{var r;if(e!=null)return e;var n=(r=ka(t,"radiusAxis",Ws.type))!==null&&r!==void 0?r:"category";return Li(Li({},Ws),{},{type:n})}),ja=e=>e.polarOptions,Ku=P([Mt,Dt,Pe],c1),Lh=P([ja,Ku],(e,t)=>{if(e!=null)return Yt(e.innerRadius,t,0)}),Rh=P([ja,Ku],(e,t)=>{if(e!=null)return Yt(e.outerRadius,t,t*.8)}),K1=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},zh=P([ja],K1);P([Wu,zh],Ca);var Bh=P([Ku,Lh,Rh],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});P([Uu,Bh],Ca);var Fh=P([re,ja,Lh,Rh,Mt,Dt],(e,t,r,n,i,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var o=t.cx,u=t.cy,l=t.startAngle,c=t.endAngle;return{cx:Yt(o,i,i/2),cy:Yt(u,a,a/2),innerRadius:r,outerRadius:n,startAngle:l,endAngle:c,clockWise:!1}}}),pe=(e,t)=>t,Ta=(e,t,r)=>r;function Hu(e){return e==null?void 0:e.id}function Wh(e,t,r){var n=t.chartData,i=n===void 0?[]:n,a=r.allowDuplicatedCategory,o=r.dataKey,u=new Map;return e.forEach(l=>{var c,s=(c=l.data)!==null&&c!==void 0?c:i;if(!(s==null||s.length===0)){var f=Hu(l);s.forEach((d,v)=>{var p=o==null||a?v:String(he(d,o,null)),m=he(d,l.dataKey,0),y;u.has(p)?y=u.get(p):y={},Object.assign(y,{[f]:m}),u.set(p,y)})}}),Array.from(u.values())}function Yu(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Ma=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Da(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function H1(e,t){if(e.length===t.length){for(var r=0;r{var t=re(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Hr=e=>e.tooltip.settings.axisId;function Gu(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),i=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(a){function o(){return a.apply(this,arguments)}return o.toString=function(){return a.toString()},o})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(a){var o=i[0],u=i[1];return o<=u?a>=o&&a<=u:a>=u&&a<=o},bandwidth:r?()=>r.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,o)=>{var u=e(a);if(u!=null){if(e.bandwidth&&o!==null&&o!==void 0&&o.position){var l=e.bandwidth();switch(o.position){case"middle":u+=l/2;break;case"end":u+=l;break}}return u}}}}}var Y1=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!vt(t)){for(var r,n,i=0;in)&&(n=a))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function Kt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function G1(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Vu(e){let t,r,n;e.length!==2?(t=Kt,r=(u,l)=>Kt(e(u),l),n=(u,l)=>e(u)-l):(t=e===Kt||e===G1?e:V1,r=e,n=e);function i(u,l,c=0,s=u.length){if(c>>1;r(u[f],l)<0?c=f+1:s=f}while(c>>1;r(u[f],l)<=0?c=f+1:s=f}while(cc&&n(u[f-1],l)>-n(u[f],l)?f-1:f}return{left:i,center:o,right:a}}function V1(){return 0}function Uh(e){return e===null?NaN:+e}function*q1(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const X1=Vu(Kt),Ln=X1.right;Vu(Uh).center;function Z1(e=Kt){if(e===Kt)return Kh;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function Kh(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Q1=Math.sqrt(50),J1=Math.sqrt(10),eO=Math.sqrt(2);function Ri(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),o=a>=Q1?10:a>=J1?5:a>=eO?2:1;let u,l,c;return i<0?(c=Math.pow(10,-i)/o,u=Math.round(e*c),l=Math.round(t*c),u/ct&&--l,c=-c):(c=Math.pow(10,i)*o,u=Math.round(e/c),l=Math.round(t/c),u*ct&&--l),l0))return[];if(e===t)return[e];const n=t=i))return[];const u=a-i+1,l=new Array(u);if(n)if(o<0)for(let c=0;cr;){if(n-r>600){const l=n-r+1,c=t-r+1,s=Math.log(l),f=.5*Math.exp(2*s/3),d=.5*Math.sqrt(s*f*(l-f)/l)*(c-l/2<0?-1:1),v=Math.max(r,Math.floor(t-c*f/l+d)),p=Math.min(n,Math.floor(t+(l-c)*f/l+d));Hh(e,t,v,p,i)}const a=e[t];let o=r,u=n;for(an(e,r,t),i(e[n],a)>0&&an(e,r,n);o0;)--u}i(e[r],a)===0?an(e,r,u):(++u,an(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function an(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function tO(e,t,r){if(e=Float64Array.from(q1(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Yl(e);if(t>=1)return Gl(e);var n,i=(n-1)*t,a=Math.floor(i),o=Gl(Hh(e,a).subarray(0,a+1)),u=Yl(e.subarray(a+1));return o+(u-o)*(i-a)}}function rO(e,t,r=Uh){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e),u=+r(e[a+1],a+1,e);return o+(u-o)*(i-a)}}function nO(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(i);++nt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function vO(e,t,r){var n=e[0],i=e[1],a=t[0],o=t[1];return i2?hO:vO,l=c=null,f}function f(d){return d==null||isNaN(d=+d)?a:(l||(l=u(e.map(n),t,r)))(n(o(d)))}return f.invert=function(d){return o(i((c||(c=u(t,e.map(n),Ao)))(d)))},f.domain=function(d){return arguments.length?(e=Array.from(d,zi),s()):e.slice()},f.range=function(d){return arguments.length?(t=Array.from(d),s()):t.slice()},f.rangeRound=function(d){return t=Array.from(d),r=Xu,s()},f.clamp=function(d){return arguments.length?(o=d?!0:je,s()):o!==je},f.interpolate=function(d){return arguments.length?(r=d,s()):r},f.unknown=function(d){return arguments.length?(a=d,f):a},function(d,v){return n=d,i=v,s()}}function Zu(){return $a()(je,je)}function pO(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Bi(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function $r(e){return e=Bi(Math.abs(e)),e?e[1]:NaN}function mO(e,t){return function(r,n){for(var i=r.length,a=[],o=0,u=e[0],l=0;i>0&&u>0&&(l+u+1>n&&(u=Math.max(1,n-l)),a.push(r.substring(i-=u,i+u)),!((l+=u+1)>n));)u=e[o=(o+1)%e.length];return a.reverse().join(t)}}function yO(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var gO=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function En(e){if(!(t=gO.exec(e)))throw new Error("invalid format: "+e);var t;return new Qu({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}En.prototype=Qu.prototype;function Qu(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Qu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function bO(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var Fi;function wO(e,t){var r=Bi(e,t);if(!r)return Fi=void 0,e.toPrecision(t);var n=r[0],i=r[1],a=i-(Fi=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Bi(e,Math.max(0,t+a-1))[0]}function Ks(e,t){var r=Bi(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const Hs={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:pO,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Ks(e*100,t),r:Ks,s:wO,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ys(e){return e}var Gs=Array.prototype.map,Vs=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function xO(e){var t=e.grouping===void 0||e.thousands===void 0?Ys:mO(Gs.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?Ys:yO(Gs.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(f,d){f=En(f);var v=f.fill,p=f.align,m=f.sign,y=f.symbol,g=f.zero,w=f.width,x=f.comma,A=f.precision,O=f.trim,b=f.type;b==="n"?(x=!0,b="g"):Hs[b]||(A===void 0&&(A=12),O=!0,b="g"),(g||v==="0"&&p==="=")&&(g=!0,v="0",p="=");var S=(d&&d.prefix!==void 0?d.prefix:"")+(y==="$"?r:y==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():""),_=(y==="$"?n:/[%p]/.test(b)?o:"")+(d&&d.suffix!==void 0?d.suffix:""),I=Hs[b],C=/[defgprs%]/.test(b);A=A===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function j(E){var R=S,$=_,V,H,Y;if(b==="c")$=I(E)+$,E="";else{E=+E;var B=E<0||1/E<0;if(E=isNaN(E)?l:I(Math.abs(E),A),O&&(E=bO(E)),B&&+E==0&&m!=="+"&&(B=!1),R=(B?m==="("?m:u:m==="-"||m==="("?"":m)+R,$=(b==="s"&&!isNaN(E)&&Fi!==void 0?Vs[8+Fi/3]:"")+$+(B&&m==="("?")":""),C){for(V=-1,H=E.length;++VY||Y>57){$=(Y===46?i+E.slice(V+1):E.slice(V))+$,E=E.slice(0,V);break}}}x&&!g&&(E=t(E,1/0));var q=R.length+E.length+$.length,W=q>1)+R+E+$+W.slice(q);break;default:E=W+R+E+$;break}return a(E)}return j.toString=function(){return f+""},j}function s(f,d){var v=Math.max(-8,Math.min(8,Math.floor($r(d)/3)))*3,p=Math.pow(10,-v),m=c((f=En(f),f.type="f",f),{suffix:Vs[8+v/3]});return function(y){return m(p*y)}}return{format:c,formatPrefix:s}}var ti,Ju,Gh;AO({thousands:",",grouping:[3],currency:["$",""]});function AO(e){return ti=xO(e),Ju=ti.format,Gh=ti.formatPrefix,ti}function OO(e){return Math.max(0,-$r(Math.abs(e)))}function PO(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor($r(t)/3)))*3-$r(Math.abs(e)))}function SO(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,$r(t)-$r(e))+1}function Vh(e,t,r,n){var i=eu(e,t,r),a;switch(n=En(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=PO(i,o))&&(n.precision=a),Gh(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=SO(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=OO(i))&&(n.precision=a-(n.type==="%")*2);break}}return Ju(n)}function Gt(e){var t=e.domain;return e.ticks=function(r){var n=t();return Qo(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return Vh(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,a=n.length-1,o=n[i],u=n[a],l,c,s=10;for(u0;){if(c=Jo(o,u,r),c===l)return n[i]=o,n[a]=u,t(n);if(c>0)o=Math.floor(o/c)*c,u=Math.ceil(u/c)*c;else if(c<0)o=Math.ceil(o*c)/c,u=Math.floor(u*c)/c;else break;l=c}return e},e}function qh(){var e=Zu();return e.copy=function(){return Rn(e,qh())},ot.apply(e,arguments),Gt(e)}function Xh(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,zi),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Xh(e).unknown(t)},e=arguments.length?Array.from(e,zi):[0,1],Gt(r)}function Zh(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],a=e[n],o;return aMath.pow(e,t)}function kO(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Zs(e){return(t,r)=>-e(-t,r)}function el(e){const t=e(qs,Xs),r=t.domain;let n=10,i,a;function o(){return i=kO(n),a=CO(n),r()[0]<0?(i=Zs(i),a=Zs(a),e(EO,_O)):e(qs,Xs),t}return t.base=function(u){return arguments.length?(n=+u,o()):n},t.domain=function(u){return arguments.length?(r(u),o()):r()},t.ticks=u=>{const l=r();let c=l[0],s=l[l.length-1];const f=s0){for(;d<=v;++d)for(p=1;ps)break;g.push(m)}}else for(;d<=v;++d)for(p=n-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(ms)break;g.push(m)}g.length*2{if(u==null&&(u=10),l==null&&(l=n===10?"s":","),typeof l!="function"&&(!(n%1)&&(l=En(l)).precision==null&&(l.trim=!0),l=Ju(l)),u===1/0)return l;const c=Math.max(1,n*u/t.ticks().length);return s=>{let f=s/a(Math.round(i(s)));return f*nr(Zh(r(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function Qh(){const e=el($a()).domain([1,10]);return e.copy=()=>Rn(e,Qh()).base(e.base()),ot.apply(e,arguments),e}function Qs(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Js(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function tl(e){var t=1,r=e(Qs(t),Js(t));return r.constant=function(n){return arguments.length?e(Qs(t=+n),Js(t)):t},Gt(r)}function Jh(){var e=tl($a());return e.copy=function(){return Rn(e,Jh()).constant(e.constant())},ot.apply(e,arguments)}function ef(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function jO(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function TO(e){return e<0?-e*e:e*e}function rl(e){var t=e(je,je),r=1;function n(){return r===1?e(je,je):r===.5?e(jO,TO):e(ef(r),ef(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Gt(t)}function nl(){var e=rl($a());return e.copy=function(){return Rn(e,nl()).exponent(e.exponent())},ot.apply(e,arguments),e}function MO(){return nl.apply(null,arguments).exponent(.5)}function tf(e){return Math.sign(e)*e*e}function DO(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function ep(){var e=Zu(),t=[0,1],r=!1,n;function i(a){var o=DO(e(a));return isNaN(o)?n:r?Math.round(o):o}return i.invert=function(a){return e.invert(tf(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,zi)).map(tf)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(r=!!a,i):r},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return ep(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},ot.apply(i,arguments),Gt(i)}function tp(){var e=[],t=[],r=[],n;function i(){var o=0,u=Math.max(1,t.length);for(r=new Array(u-1);++o0?r[u-1]:e[0],u=r?[n[r-1],t]:[n[c-1],n[c]]},o.unknown=function(l){return arguments.length&&(a=l),o},o.thresholds=function(){return n.slice()},o.copy=function(){return rp().domain([e,t]).range(i).unknown(a)},ot.apply(Gt(o),arguments)}function np(){var e=[.5],t=[0,1],r,n=1;function i(a){return a!=null&&a<=a?t[Ln(e,a,0,n)]:r}return i.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return np().domain(e).range(t).unknown(r)},ot.apply(i,arguments)}const uo=new Date,lo=new Date;function fe(e,t,r,n){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(t(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const l=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return l;let c;do l.push(c=new Date(+a)),t(a,u),e(a);while(cfe(o=>{if(o>=o)for(;e(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;t(o,-1),!a(o););else for(;--u>=0;)for(;t(o,1),!a(o););}),r&&(i.count=(a,o)=>(uo.setTime(+a),lo.setTime(+o),e(uo),e(lo),Math.floor(r(uo,lo))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?o=>n(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Wi=fe(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Wi.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?fe(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Wi);Wi.range;const Pt=1e3,Ge=Pt*60,St=Ge*60,Ct=St*24,il=Ct*7,rf=Ct*30,co=Ct*365,ar=fe(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Pt)},(e,t)=>(t-e)/Pt,e=>e.getUTCSeconds());ar.range;const al=fe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Pt)},(e,t)=>{e.setTime(+e+t*Ge)},(e,t)=>(t-e)/Ge,e=>e.getMinutes());al.range;const ol=fe(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ge)},(e,t)=>(t-e)/Ge,e=>e.getUTCMinutes());ol.range;const ul=fe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Pt-e.getMinutes()*Ge)},(e,t)=>{e.setTime(+e+t*St)},(e,t)=>(t-e)/St,e=>e.getHours());ul.range;const ll=fe(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*St)},(e,t)=>(t-e)/St,e=>e.getUTCHours());ll.range;const zn=fe(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ge)/Ct,e=>e.getDate()-1);zn.range;const Na=fe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ct,e=>e.getUTCDate()-1);Na.range;const ip=fe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Ct,e=>Math.floor(e/Ct));ip.range;function gr(e){return fe(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Ge)/il)}const La=gr(0),Ui=gr(1),$O=gr(2),NO=gr(3),Nr=gr(4),LO=gr(5),RO=gr(6);La.range;Ui.range;$O.range;NO.range;Nr.range;LO.range;RO.range;function br(e){return fe(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/il)}const Ra=br(0),Ki=br(1),zO=br(2),BO=br(3),Lr=br(4),FO=br(5),WO=br(6);Ra.range;Ki.range;zO.range;BO.range;Lr.range;FO.range;WO.range;const cl=fe(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());cl.range;const sl=fe(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());sl.range;const kt=fe(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());kt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:fe(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});kt.range;const jt=fe(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());jt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:fe(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});jt.range;function ap(e,t,r,n,i,a){const o=[[ar,1,Pt],[ar,5,5*Pt],[ar,15,15*Pt],[ar,30,30*Pt],[a,1,Ge],[a,5,5*Ge],[a,15,15*Ge],[a,30,30*Ge],[i,1,St],[i,3,3*St],[i,6,6*St],[i,12,12*St],[n,1,Ct],[n,2,2*Ct],[r,1,il],[t,1,rf],[t,3,3*rf],[e,1,co]];function u(c,s,f){const d=sy).right(o,d);if(v===o.length)return e.every(eu(c/co,s/co,f));if(v===0)return Wi.every(Math.max(eu(c,s,f),1));const[p,m]=o[d/o[v-1][2]53)return null;"w"in k||(k.w=1),"Z"in k?(X=fo(on(k.y,0,1)),L=X.getUTCDay(),X=L>4||L===0?Ki.ceil(X):Ki(X),X=Na.offset(X,(k.V-1)*7),k.y=X.getUTCFullYear(),k.m=X.getUTCMonth(),k.d=X.getUTCDate()+(k.w+6)%7):(X=so(on(k.y,0,1)),L=X.getDay(),X=L>4||L===0?Ui.ceil(X):Ui(X),X=zn.offset(X,(k.V-1)*7),k.y=X.getFullYear(),k.m=X.getMonth(),k.d=X.getDate()+(k.w+6)%7)}else("W"in k||"U"in k)&&("w"in k||(k.w="u"in k?k.u%7:"W"in k?1:0),L="Z"in k?fo(on(k.y,0,1)).getUTCDay():so(on(k.y,0,1)).getDay(),k.m=0,k.d="W"in k?(k.w+6)%7+k.W*7-(L+5)%7:k.w+k.U*7-(L+6)%7);return"Z"in k?(k.H+=k.Z/100|0,k.M+=k.Z%100,fo(k)):so(k)}}function _(T,F,z,k){for(var Ee=0,X=F.length,L=z.length,Re,qt;Ee=L)return-1;if(Re=F.charCodeAt(Ee++),Re===37){if(Re=F.charAt(Ee++),qt=O[Re in nf?F.charAt(Ee++):Re],!qt||(k=qt(T,z,k))<0)return-1}else if(Re!=z.charCodeAt(k++))return-1}return k}function I(T,F,z){var k=c.exec(F.slice(z));return k?(T.p=s.get(k[0].toLowerCase()),z+k[0].length):-1}function C(T,F,z){var k=v.exec(F.slice(z));return k?(T.w=p.get(k[0].toLowerCase()),z+k[0].length):-1}function j(T,F,z){var k=f.exec(F.slice(z));return k?(T.w=d.get(k[0].toLowerCase()),z+k[0].length):-1}function E(T,F,z){var k=g.exec(F.slice(z));return k?(T.m=w.get(k[0].toLowerCase()),z+k[0].length):-1}function R(T,F,z){var k=m.exec(F.slice(z));return k?(T.m=y.get(k[0].toLowerCase()),z+k[0].length):-1}function $(T,F,z){return _(T,t,F,z)}function V(T,F,z){return _(T,r,F,z)}function H(T,F,z){return _(T,n,F,z)}function Y(T){return o[T.getDay()]}function B(T){return a[T.getDay()]}function q(T){return l[T.getMonth()]}function W(T){return u[T.getMonth()]}function Se(T){return i[+(T.getHours()>=12)]}function ge(T){return 1+~~(T.getMonth()/3)}function ae(T){return o[T.getUTCDay()]}function Ne(T){return a[T.getUTCDay()]}function Le(T){return l[T.getUTCMonth()]}function Je(T){return u[T.getUTCMonth()]}function et(T){return i[+(T.getUTCHours()>=12)]}function Jr(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var F=b(T+="",x);return F.toString=function(){return T},F},parse:function(T){var F=S(T+="",!1);return F.toString=function(){return T},F},utcFormat:function(T){var F=b(T+="",A);return F.toString=function(){return T},F},utcParse:function(T){var F=S(T+="",!0);return F.toString=function(){return T},F}}}var nf={"-":"",_:" ",0:"0"},ye=/^\s*\d+/,VO=/^%/,qO=/[\\^$*+?|[\]().{}]/g;function G(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a[t.toLowerCase(),r]))}function ZO(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function QO(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function JO(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function eP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function tP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function af(e,t,r){var n=ye.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function of(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function rP(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function nP(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function iP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function uf(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function aP(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function lf(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function oP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function uP(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function lP(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function cP(e,t,r){var n=ye.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function sP(e,t,r){var n=VO.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function fP(e,t,r){var n=ye.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function dP(e,t,r){var n=ye.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function cf(e,t){return G(e.getDate(),t,2)}function vP(e,t){return G(e.getHours(),t,2)}function hP(e,t){return G(e.getHours()%12||12,t,2)}function pP(e,t){return G(1+zn.count(kt(e),e),t,3)}function op(e,t){return G(e.getMilliseconds(),t,3)}function mP(e,t){return op(e,t)+"000"}function yP(e,t){return G(e.getMonth()+1,t,2)}function gP(e,t){return G(e.getMinutes(),t,2)}function bP(e,t){return G(e.getSeconds(),t,2)}function wP(e){var t=e.getDay();return t===0?7:t}function xP(e,t){return G(La.count(kt(e)-1,e),t,2)}function up(e){var t=e.getDay();return t>=4||t===0?Nr(e):Nr.ceil(e)}function AP(e,t){return e=up(e),G(Nr.count(kt(e),e)+(kt(e).getDay()===4),t,2)}function OP(e){return e.getDay()}function PP(e,t){return G(Ui.count(kt(e)-1,e),t,2)}function SP(e,t){return G(e.getFullYear()%100,t,2)}function EP(e,t){return e=up(e),G(e.getFullYear()%100,t,2)}function _P(e,t){return G(e.getFullYear()%1e4,t,4)}function IP(e,t){var r=e.getDay();return e=r>=4||r===0?Nr(e):Nr.ceil(e),G(e.getFullYear()%1e4,t,4)}function CP(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+G(t/60|0,"0",2)+G(t%60,"0",2)}function sf(e,t){return G(e.getUTCDate(),t,2)}function kP(e,t){return G(e.getUTCHours(),t,2)}function jP(e,t){return G(e.getUTCHours()%12||12,t,2)}function TP(e,t){return G(1+Na.count(jt(e),e),t,3)}function lp(e,t){return G(e.getUTCMilliseconds(),t,3)}function MP(e,t){return lp(e,t)+"000"}function DP(e,t){return G(e.getUTCMonth()+1,t,2)}function $P(e,t){return G(e.getUTCMinutes(),t,2)}function NP(e,t){return G(e.getUTCSeconds(),t,2)}function LP(e){var t=e.getUTCDay();return t===0?7:t}function RP(e,t){return G(Ra.count(jt(e)-1,e),t,2)}function cp(e){var t=e.getUTCDay();return t>=4||t===0?Lr(e):Lr.ceil(e)}function zP(e,t){return e=cp(e),G(Lr.count(jt(e),e)+(jt(e).getUTCDay()===4),t,2)}function BP(e){return e.getUTCDay()}function FP(e,t){return G(Ki.count(jt(e)-1,e),t,2)}function WP(e,t){return G(e.getUTCFullYear()%100,t,2)}function UP(e,t){return e=cp(e),G(e.getUTCFullYear()%100,t,2)}function KP(e,t){return G(e.getUTCFullYear()%1e4,t,4)}function HP(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Lr(e):Lr.ceil(e),G(e.getUTCFullYear()%1e4,t,4)}function YP(){return"+0000"}function ff(){return"%"}function df(e){return+e}function vf(e){return Math.floor(+e/1e3)}var Or,sp,fp;GP({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function GP(e){return Or=GO(e),sp=Or.format,Or.parse,fp=Or.utcFormat,Or.utcParse,Or}function VP(e){return new Date(e)}function qP(e){return e instanceof Date?+e:+new Date(+e)}function fl(e,t,r,n,i,a,o,u,l,c){var s=Zu(),f=s.invert,d=s.domain,v=c(".%L"),p=c(":%S"),m=c("%I:%M"),y=c("%I %p"),g=c("%a %d"),w=c("%b %d"),x=c("%B"),A=c("%Y");function O(b){return(l(b)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,a)=>tO(e,a/n))},r.copy=function(){return pp(t).domain(e)},Tt.apply(r,arguments)}function Ba(){var e=0,t=.5,r=1,n=1,i,a,o,u,l,c=je,s,f=!1,d;function v(m){return isNaN(m=+m)?d:(m=.5+((m=+s(m))-a)*(n*m{if(e!=null){var n=e.scale,i=e.type;if(n==="auto")return i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof n=="string")return rS(n)?n:"point"}};function nS(e,t){for(var r=0,n=e.length,i=e[0]t)?r=a+1:n=a}return r}function xp(e,t){if(e){var r=t??e.domain(),n=r.map(a=>{var o;return(o=e(a))!==null&&o!==void 0?o:0}),i=e.range();if(!(r.length===0||i.length<2))return a=>{var o,u,l=nS(n,a);if(l<=0)return r[0];if(l>=r.length)return r[r.length-1];var c=(o=n[l-1])!==null&&o!==void 0?o:0,s=(u=n[l])!==null&&u!==void 0?u:0;return Math.abs(a-c)<=Math.abs(a-s)?r[l-1]:r[l]}}}function iS(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):xp(e,void 0)}function pf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hi(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],$t=(e,t)=>{var r=Op(e,t);return r??ce},se={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:ru,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Tn},Pp=(e,t)=>e.cartesianAxis.yAxis[t],Nt=(e,t)=>{var r=Pp(e,t);return r??se},dS={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},pl=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??dS},Me=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);case"zAxis":return pl(e,r);case"angleAxis":return Wu(e,r);case"radiusAxis":return Uu(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},vS=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Bn=(e,t,r)=>{switch(t){case"xAxis":return $t(e,r);case"yAxis":return Nt(e,r);case"angleAxis":return Wu(e,r);case"radiusAxis":return Uu(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Sp=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Ep(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var _p=e=>e.graphicalItems.cartesianItems,hS=P([pe,Ta],Ep),Ip=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),Gr=P([_p,Me,hS],Ip,{memoizeOptions:{resultEqualityCheck:Da}}),Cp=P([Gr],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Yu)),kp=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),pS=P([Gr],kp),jp=e=>e.map(t=>t.data).filter(Boolean).flat(1),mS=P([Gr],e=>e.some(t=>!t.data)),Tp=P([Gr],jp,{memoizeOptions:{resultEqualityCheck:Da}}),Mp=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:n.slice(i,a+1)},ml=P([Tp,_a],Mp),yS=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:he(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(i=>({value:he(i,n)}))):e.map(n=>({value:n})),Dp=(e,t,r,n,i,a)=>{var o=n.chartData,u=o===void 0?[]:o,l=n.dataStartIndex,c=n.dataEndIndex,s=yS(e,t,r);if(i&&(t==null?void 0:t.dataKey)!=null&&a.length>0){var f=u.slice(l,c+1),d=f.map(v=>({value:he(v,t.dataKey)})).filter(v=>v.value!=null);return[...d,...s]}return s},Fn=P([ml,Me,Gr,_a,mS,Tp],Dp);function Tr(e){if(pt(e)||e instanceof Date){var t=Number(e);if(U(t))return t}}function yf(e){if(Array.isArray(e)){var t=[Tr(e[0]),Tr(e[1])];return vt(t)?t:void 0}var r=Tr(e);if(r!=null)return[r,r]}function gt(e){return e.map(Tr).filter(De)}function gS(e,t){var r=Tr(e),n=Tr(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var bS=P([Fn],e=>e==null?void 0:e.map(t=>t.value).sort(gS));function $p(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function wS(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!ht(t))n=t;else if(Array.isArray(t)){var i=gt(t);i.length>0&&(n=Math.max(...i))}return n==null?[]:gt(r.flatMap(a=>{var o=he(e,a.dataKey),u,l;if(Array.isArray(o)){var c=Ap(o,2);u=c[0],l=c[1]}else u=l=o;if(!(!U(u)||!U(l)))return[n-u,n+l]}))}var de=e=>{var t=me(e),r=Hr(e);return Bn(e,t,r)},Rr=P([de],e=>e==null?void 0:e.dataKey),xS=P([Cp,_a,de],Wh),Np=(e,t,r,n)=>{var i={},a=t.reduce((o,u)=>{if(u.stackId==null)return o;var l=o[u.stackId];return l==null&&(l=[]),l.push(u),o[u.stackId]=l,o},i);return Object.fromEntries(Object.entries(a).map(o=>{var u=Ap(o,2),l=u[0],c=u[1],s=n?[...c].reverse():c,f=s.map(Hu);return[l,{stackedData:ow(e,f,r),graphicalItems:s}]}))},Lp=P([xS,Cp,Ia,$h],Np),Rp=(e,t,r,n)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(n==null&&r!=="zAxis")return sw(e,i,a)},AS=P([Me],e=>e.allowDataOverflow),yl=e=>{var t;if(e==null||!("domain"in e))return ru;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=gt(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:ru},zp=P([Me],yl),Bp=P([zp,AS],Ph),OS=P([Lp,ut,pe,Bp],Rp,{memoizeOptions:{resultEqualityCheck:Ma}}),gl=e=>e.errorBars,PS=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>$p(r,n)),Yi=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],u,l;if(n.length>0&&n.forEach(c=>{var s,f=c.data!=null?[...c.data]:o,d=(s=i[c.id])===null||s===void 0?void 0:s.filter(v=>$p(a,v));f.forEach(v=>{var p,m=he(v,(p=r.dataKey)!==null&&p!==void 0?p:c.dataKey),y=wS(v,m,d);if(y.length>=2){var g=Math.min(...y),w=Math.max(...y);(u==null||gl)&&(l=w)}var x=yf(m);x!=null&&(u=u==null?x[0]:Math.min(u,x[0]),l=l==null?x[1]:Math.max(l,x[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(c=>{var s=yf(he(c,r.dataKey));s!=null&&(u=u==null?s[0]:Math.min(u,s[0]),l=l==null?s[1]:Math.max(l,s[1]))}),U(u)&&U(l))return[u,l]},SS=P([ml,Me,pS,gl,pe,A1],Fp,{memoizeOptions:{resultEqualityCheck:Ma}});function ES(e){var t=e.value;if(pt(t)||t instanceof Date)return t}var _S=(e,t,r)=>{var n=e.map(ES).filter(i=>i!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&tv(n))?Oh(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},Wp=e=>e.referenceElements.dots,Vr=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),IS=P([Wp,pe,Ta],Vr),Up=e=>e.referenceElements.areas,CS=P([Up,pe,Ta],Vr),Kp=e=>e.referenceElements.lines,kS=P([Kp,pe,Ta],Vr),Hp=(e,t)=>{if(e!=null){var r=gt(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},jS=P(IS,pe,Hp),Yp=(e,t)=>{if(e!=null){var r=gt(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},TS=P([CS,pe],Yp);function MS(e){var t;if(e.x!=null)return gt([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:gt(r)}function DS(e){var t;if(e.y!=null)return gt([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:gt(r)}var Gp=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?MS(n):DS(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},$S=P([kS,pe],Gp),NS=P(jS,$S,TS,(e,t,r)=>Yi(e,r,t)),Vp=(e,t,r,n,i,a,o,u)=>{if(r!=null)return r;var l=o==="vertical"&&u==="xAxis"||o==="horizontal"&&u==="yAxis",c=l?Yi(n,a,i):Yi(a,i);return I1(t,c,e.allowDataOverflow)},LS=P([Me,zp,Bp,OS,SS,NS,re,pe],Vp,{memoizeOptions:{resultEqualityCheck:Ma}}),RS=[0,1],qp=(e,t,r,n,i,a,o)=>{if(!((e==null||r==null||r.length===0)&&o===void 0)){var u=e.dataKey,l=e.type,c=bt(t,a);if(c&&u==null){var s;return Oh(0,(s=r==null?void 0:r.length)!==null&&s!==void 0?s:0)}return l==="category"?_S(n,e,c):i==="expand"&&!c?RS:o}},bl=P([Me,re,ml,Fn,Ia,pe,LS],qp),qr=P([Me,Sp,zu],wp),Xp=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var i=yl(t),a=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&vt(e)){if(a)return Rs(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return zs(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(a&&vt(e))return Rs(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&vt(e))return zs(e,t.tickCount,t.allowDecimals,"adaptive")}}},wl=P([bl,Bn,qr],Xp),Zp=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&vt(t)&&Array.isArray(r)&&r.length>0){var i,a,o=t[0],u=(i=r[0])!==null&&i!==void 0?i:0,l=t[1],c=(a=r[r.length-1])!==null&&a!==void 0?a:0;return[Math.min(o,u),Math.max(l,c)]}return t},zS=P([Me,bl,wl,pe],Zp),BS=P(Fn,Me,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(gt(e.map(f=>f.value))).sort((f,d)=>f-d),i=n[0],a=n[n.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var u=0;ui,(e,t,r,n,i)=>{if(!U(e))return 0;var a=t==="vertical"?n.height:n.width;if(i==="gap")return e*a/2;if(i==="no-gap"){var o=Yt(r,e*a),u=e*a/2;return u-o-(u-o)/a*o}return 0}),FS=(e,t,r)=>{var n=$t(e,t);return n==null||typeof n.padding!="string"?0:Qp(e,"xAxis",t,r,n.padding)},WS=(e,t,r)=>{var n=Nt(e,t);return n==null||typeof n.padding!="string"?0:Qp(e,"yAxis",t,r,n.padding)},US=P($t,FS,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var i=e.padding;return typeof i=="string"?{left:t,right:t}:{left:((r=i.left)!==null&&r!==void 0?r:0)+t,right:((n=i.right)!==null&&n!==void 0?n:0)+t}}),KS=P(Nt,WS,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var i=e.padding;return typeof i=="string"?{top:t,bottom:t}:{top:((r=i.top)!==null&&r!==void 0?r:0)+t,bottom:((n=i.bottom)!==null&&n!==void 0?n:0)+t}}),Jp=P([Pe,US,xa,wa,(e,t,r)=>r],(e,t,r,n,i)=>{var a=n.padding;return i?[a.left,r.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),em=P([Pe,re,KS,xa,wa,(e,t,r)=>r],(e,t,r,n,i,a)=>{var o=i.padding;return a?[n.height-o.bottom,o.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),Wn=(e,t,r,n)=>{var i;switch(t){case"xAxis":return Jp(e,r,n);case"yAxis":return em(e,r,n);case"zAxis":return(i=pl(e,r))===null||i===void 0?void 0:i.range;case"angleAxis":return zh(e);case"radiusAxis":return Bh(e,r);default:return}},tm=P([Me,Wn],Ca),HS=P([qr,zS],Y1),xl=P([Me,qr,HS,tm],hl),rm=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var i=r.type,a=r.scale,o=bt(e,n);if(o&&(i==="number"||a!=="auto"))return t.map(u=>u.value)}},Al=P([re,Fn,Bn,pe],rm),Fa=P([xl],Gu);P([xl],iS);P([xl,bS],xp);P([Gr,gl,pe],PS);function nm(e,t){return e.idt.id?1:0}var Wa=(e,t)=>t,Ua=(e,t,r)=>r,YS=P(ga,Wa,Ua,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(nm)),GS=P(ba,Wa,Ua,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(nm)),im=(e,t)=>({width:e.width,height:t.height}),VS=(e,t)=>{var r=typeof t.width=="number"?t.width:Tn;return{width:r,height:e.height}},qS=P(Pe,$t,im),XS=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},ZS=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},QS=P(Dt,Pe,YS,Wa,Ua,(e,t,r,n,i)=>{var a={},o;return r.forEach(u=>{var l=im(t,u);o==null&&(o=XS(t,n,e));var c=n==="top"&&!i||n==="bottom"&&i;a[u.id]=o-Number(c)*l.height,o+=(c?-1:1)*l.height}),a}),JS=P(Mt,Pe,GS,Wa,Ua,(e,t,r,n,i)=>{var a={},o;return r.forEach(u=>{var l=VS(t,u);o==null&&(o=ZS(t,n,e));var c=n==="left"&&!i||n==="right"&&i;a[u.id]=o-Number(c)*l.width,o+=(c?-1:1)*l.width}),a}),eE=(e,t)=>{var r=$t(e,t);if(r!=null)return QS(e,r.orientation,r.mirror)},tE=P([Pe,$t,eE,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),rE=(e,t)=>{var r=Nt(e,t);if(r!=null)return JS(e,r.orientation,r.mirror)},nE=P([Pe,Nt,rE,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var i=r==null?void 0:r[n];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),iE=P(Pe,Nt,(e,t)=>{var r=typeof t.width=="number"?t.width:Tn;return{width:r,height:e.height}}),am=(e,t,r,n)=>{if(r!=null){var i=r.allowDuplicatedCategory,a=r.type,o=r.dataKey,u=bt(e,n),l=t.map(s=>s.value),c=l.filter(s=>s!=null);if(o&&u&&a==="category"&&i&&tv(c))return l}},Ol=P([re,Fn,Me,pe],am),gf=P([re,vS,qr,Fa,Ol,Al,Wn,wl,pe],(e,t,r,n,i,a,o,u,l)=>{if(t!=null){var c=bt(e,l);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:l,categoricalDomain:a,duplicateDomain:i,isCategorical:c,niceTicks:u,range:o,realScaleType:r,scale:n}}}),aE=(e,t,r,n,i,a,o,u,l)=>{if(!(t==null||n==null)){var c=bt(e,l),s=t.type,f=t.ticks,d=t.tickCount,v=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,p=s==="category"&&n.bandwidth?n.bandwidth()/v:0;p=l==="angleAxis"&&a!=null&&a.length>=2?He(a[0]-a[1])*2*p:p;var m=f||i;return m?m.map((y,g)=>{var w=o?o.indexOf(y):y,x=n.map(w);return U(x)?{index:g,coordinate:x+p,value:y,offset:p}:null}).filter(De):c&&u?u.map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:y,index:g,offset:p}:null}).filter(De):n.ticks?n.ticks(d).map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:y,index:g,offset:p}:null}).filter(De):n.domain().map((y,g)=>{var w=n.map(y);return U(w)?{coordinate:w+p,value:o?o[y]:y,index:g,offset:p}:null}).filter(De)}},om=P([re,Bn,qr,Fa,wl,Wn,Ol,Al,pe],aE),oE=(e,t,r,n,i,a,o)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var u=bt(e,o),l=t.tickCount,c=0;return c=o==="angleAxis"&&(n==null?void 0:n.length)>=2?He(n[0]-n[1])*2*c:c,u&&a?a.map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:s,index:f,offset:c}:null}).filter(De):r.ticks?r.ticks(l).map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:s,index:f,offset:c}:null}).filter(De):r.domain().map((s,f)=>{var d=r.map(s);return U(d)?{coordinate:d+c,value:i?i[s]:s,index:f,offset:c}:null}).filter(De)}},um=P([re,Bn,Fa,Wn,Ol,Al,pe],oE),lm=P(Me,Fa,(e,t)=>{if(!(e==null||t==null))return Hi(Hi({},e),{},{scale:t})}),uE=P([Me,qr,bl,tm],hl),lE=P([uE],Gu);P((e,t,r)=>pl(e,r),lE,(e,t)=>{if(!(e==null||t==null))return Hi(Hi({},e),{},{scale:t})});var cE=P([re,ga,ba],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),sE=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};P([sE],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,i=e[0];for(var a of e){var o=Math.abs(a.coordinate-t);oe.options.defaultTooltipEventType,sm=e=>e.options.validateTooltipEventTypes;function fm(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Un(e,t){var r=cm(e),n=sm(e);return fm(t,r,n)}function fE(e){return N(t=>Un(t,e))}var dm=(e,t)=>{var r,n=Number(t);if(!(ht(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},dE=e=>e.tooltip.settings,Wt={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},vE={itemInteraction:{click:Wt,hover:Wt},axisInteraction:{click:Wt,hover:Wt},keyboardInteraction:Wt,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},vm=Ce({name:"tooltip",initialState:vE,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:Q()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).tooltipItemPayloads.indexOf(n);a>-1&&(e.tooltipItemPayloads[a]=i)},prepare:Q()},removeTooltipEntrySettings:{reducer(e,t){var r=Ye(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Q()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Qe=vm.actions,hE=Qe.addTooltipEntrySettings,pE=Qe.replaceTooltipEntrySettings,mE=Qe.removeTooltipEntrySettings,yE=Qe.setTooltipSettingsState,gE=Qe.setActiveMouseOverItemIndex;Qe.mouseLeaveItem;var hm=Qe.mouseLeaveChart;Qe.setActiveClickItemIndex;var pm=Qe.setMouseOverAxisIndex,bE=Qe.setMouseClickAxisIndex,dn=Qe.setSyncInteraction,Gi=Qe.setKeyboardInteraction,wE=vm.reducer;function bf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ri(e){for(var t=1;t{if(t==null)return Wt;var i=PE(e,t,r);if(i==null)return Wt;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(SE(i)){if(a)return ri(ri({},i),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return ri(ri({},Wt),{},{coordinate:i.coordinate})};function EE(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function _E(e,t){var r=EE(e),n=t[0],i=t[1];if(r===void 0)return!1;var a=Math.min(n,i),o=Math.max(n,i);return r>=a&&r<=o}function IE(e,t,r){if(r==null||t==null)return!0;var n=he(e,t);return n==null||!vt(r)?!0:_E(n,r)}var hn=(e,t,r,n)=>{var i=e==null?void 0:e.index;if(i==null)return null;var a=Number(i);if(!U(a))return i;var o=0,u=1/0;t.length>0&&(u=t.length-1);var l=Math.max(o,Math.min(a,u)),c=t[l];return c==null||IE(c,r,n)?String(l):null},ym=(e,t,r,n,i,a,o)=>{if(a!=null){var u=o[0],l=u==null?void 0:u.getPosition(a);if(l!=null)return l;var c=i==null?void 0:i[Number(a)];if(c)switch(r){case"horizontal":return{x:c.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:c.coordinate}}}},gm=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(r==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(n!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(o=>{var u;return((u=o.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},bm=e=>e.options.tooltipPayloadSearcher,Xr=e=>e.tooltip;function wf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xf(e){for(var t=1;te(t)}function Af(e){if(typeof e=="string")return e}function $E(e){if(!(e==null||typeof e!="object")){var t="name"in e?TE(e.name):void 0,r="unit"in e?ME(e.unit):void 0,n="dataKey"in e?DE(e.dataKey):void 0,i="payload"in e?e.payload:void 0,a="color"in e?Af(e.color):void 0,o="fill"in e?Af(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:i,color:a,fill:o}}}function NE(e,t){return e??t}var wm=(e,t,r,n,i,a,o)=>{if(!(t==null||a==null)){var u=r.chartData,l=r.computedData,c=r.dataStartIndex,s=r.dataEndIndex,f=[];return e.reduce((d,v)=>{var p,m=v.dataDefinedOnItem,y=v.settings,g=NE(m,u),w=Array.isArray(g)?Vv(g,c,s):g,x=(p=y==null?void 0:y.dataKey)!==null&&p!==void 0?p:n,A=y==null?void 0:y.nameKey,O;if(n&&Array.isArray(w)&&!Array.isArray(w[0])&&o==="axis"?O=rv(w,n,i):O=a(w,t,l,A),Array.isArray(O))O.forEach(S=>{var _,I,C=$E(S),j=C==null?void 0:C.name,E=C==null?void 0:C.dataKey,R=C==null?void 0:C.payload,$=xf(xf({},y),{},{name:j,unit:C==null?void 0:C.unit,color:(_=C==null?void 0:C.color)!==null&&_!==void 0?_:y==null?void 0:y.color,fill:(I=C==null?void 0:C.fill)!==null&&I!==void 0?I:y==null?void 0:y.fill});d.push(Ic({tooltipEntrySettings:$,dataKey:E,payload:R,value:he(R,E),name:j==null?void 0:String(j)}))});else{var b;d.push(Ic({tooltipEntrySettings:y,dataKey:x,payload:O,value:he(O,x),name:(b=he(O,A))!==null&&b!==void 0?b:y==null?void 0:y.name}))}return d},f)}},Pl=P([de,Sp,zu],wp),LE=P([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),RE=P([me,Hr],Ep),wr=P([LE,de,RE],Ip,{memoizeOptions:{resultEqualityCheck:Da}}),zE=P([wr],e=>e.filter(Yu)),xm=P([wr],jp,{memoizeOptions:{resultEqualityCheck:Da}}),BE=P([wr],e=>e.some(t=>!t.data)),pr=P([xm,ut],Mp),FE=P([zE,ut,de],Wh),Sl=P([pr,de,wr,ut,BE,xm],Dp),Am=P([de],yl),WE=P([de],e=>e.allowDataOverflow),Om=P([Am,WE],Ph),UE=P([wr],e=>e.filter(Yu)),KE=P([FE,UE,Ia,$h],Np),HE=P([KE,ut,me,Om],Rp),YE=P([wr],kp),GE=P([pr,de,YE,gl,me,O1],Fp,{memoizeOptions:{resultEqualityCheck:Ma}}),VE=P([Wp,me,Hr],Vr),qE=P([VE,me],Hp),XE=P([Up,me,Hr],Vr),ZE=P([XE,me],Yp),QE=P([Kp,me,Hr],Vr),JE=P([QE,me],Gp),e_=P([qE,JE,ZE],Yi),t_=P([de,Am,Om,HE,GE,e_,re,me],Vp),zr=P([de,re,pr,Sl,Ia,me,t_],qp),r_=P([zr,de,Pl],Xp),n_=P([de,zr,r_,me],Zp),Pm=e=>{var t=me(e),r=Hr(e),n=!1;return Wn(e,t,r,n)},Sm=P([de,Pm],Ca),i_=P([de,Pl,n_,Sm],hl),Em=P([i_],Gu),a_=P([re,Sl,de,me],am),o_=P([re,Sl,de,me],rm),u_=(e,t,r,n,i,a,o,u)=>{if(t){var l=t.type,c=bt(e,u);if(n){var s=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,f=l==="category"&&n.bandwidth?n.bandwidth()/s:0;return f=u==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?He(i[0]-i[1])*2*f:f,c&&o?o.map((d,v)=>{var p=n.map(d);return U(p)?{coordinate:p+f,value:d,index:v,offset:f}:null}).filter(De):n.domain().map((d,v)=>{var p=n.map(d);return U(p)?{coordinate:p+f,value:a?a[d]:d,index:v,offset:f}:null}).filter(De)}}},Lt=P([re,de,Pl,Em,Pm,a_,o_,me],u_),El=P([cm,sm,dE],(e,t,r)=>fm(r.shared,e,t)),_m=e=>e.tooltip.settings.trigger,_l=e=>e.tooltip.settings.defaultIndex,Kn=P([Xr,El,_m,_l],mm),_n=P([Kn,pr,Rr,zr],hn),Im=P([Lt,_n],dm),l_=P([Kn],e=>{if(e)return e.dataKey}),c_=P([Kn],e=>{if(e)return e.graphicalItemId}),Cm=P([Xr,El,_m,_l],gm),s_=P([Mt,Dt,re,Pe,Lt,_l,Cm],ym),f_=P([Kn,s_],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),d_=P([Kn],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),v_=P([Cm,_n,ut,Rr,Im,bm,El],wm),h_=P([v_],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function Of(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pf(e){for(var t=1;tN(de),b_=()=>{var e=g_(),t=N(Lt),r=N(Em);return Ei(!e||!r?void 0:Pf(Pf({},e),{},{scale:r}),t)};function Sf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pr(e){for(var t=1;t{var i=t.find(a=>a&&a.index===r);if(i){if(e==="horizontal")return{x:i.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:i.coordinate}}return{x:0,y:0}},P_=(e,t,r,n)=>{var i=t.find(c=>c&&c.index===r);if(i){if(e==="centric"){var a=i.coordinate,o=n.radius;return Pr(Pr(Pr({},n),Ae(n.cx,n.cy,o,a)),{},{angle:a,radius:o})}var u=i.coordinate,l=n.angle;return Pr(Pr(Pr({},n),Ae(n.cx,n.cy,u,l)),{},{angle:l,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function S_(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var km=(e,t,r,n,i)=>{var a,o=(a=t==null?void 0:t.length)!==null&&a!==void 0?a:0;if(o<=1||e==null)return 0;if(n==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u0?(l=r[u-1])===null||l===void 0?void 0:l.coordinate:(c=r[o-1])===null||c===void 0?void 0:c.coordinate,p=(s=r[u])===null||s===void 0?void 0:s.coordinate,m=u>=o-1?(f=r[0])===null||f===void 0?void 0:f.coordinate:(d=r[u+1])===null||d===void 0?void 0:d.coordinate,y=void 0;if(!(v==null||p==null||m==null))if(He(p-v)!==He(m-p)){var g=[];if(He(m-p)===He(i[1]-i[0])){y=m;var w=p+i[1]-i[0];g[0]=Math.min(w,(w+v)/2),g[1]=Math.max(w,(w+v)/2)}else{y=v;var x=m+i[1]-i[0];g[0]=Math.min(p,(x+p)/2),g[1]=Math.max(p,(x+p)/2)}var A=[Math.min(p,(y+p)/2),Math.max(p,(y+p)/2)];if(e>A[0]&&e<=A[1]||e>=g[0]&&e<=g[1]){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var b=Math.min(v,m),S=Math.max(v,m);if(e>(b+p)/2&&e<=(S+p)/2){var _;return(_=r[u])===null||_===void 0?void 0:_.index}}}else if(t)for(var I=0;I(C.coordinate+E.coordinate)/2||I>0&&I(C.coordinate+E.coordinate)/2&&e<=(C.coordinate+j.coordinate)/2)return C.index}}return-1},jm=()=>N(zu),Il=(e,t)=>t,Tm=(e,t,r)=>r,Cl=(e,t,r,n)=>n,E_=P(Lt,e=>ua(e,t=>t.coordinate)),kl=P([Xr,Il,Tm,Cl],mm),jl=P([kl,pr,Rr,zr],hn),__=(e,t,r)=>{if(t!=null){var n=Xr(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Mm=P([Xr,Il,Tm,Cl],gm),Vi=P([Mt,Dt,re,Pe,Lt,Cl,Mm],ym),I_=P([kl,Vi],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Dm=P([Lt,jl],dm),C_=P([Mm,jl,ut,Rr,Dm,bm,Il],wm),k_=P([kl,jl],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),j_=(e,t,r,n,i,a,o)=>{if(!(!e||!r||!n||!i)&&S_(e,o)){var u=fw(e,t),l=km(u,a,i,r,n),c=O_(t,i,l,e);return{activeIndex:String(l),activeCoordinate:c}}},T_=(e,t,r,n,i,a,o)=>{if(!(!e||!n||!i||!a||!r)){var u=h1(e,r);if(u){var l=dw(u,t),c=km(l,o,a,n,i),s=P_(t,a,c,u);return{activeIndex:String(c),activeCoordinate:s}}}},M_=(e,t,r,n,i,a,o,u)=>{if(!(!e||!t||!n||!i||!a))return t==="horizontal"||t==="vertical"?j_(e,t,n,i,a,o,u):T_(e,t,r,n,i,a,o)},D_=P(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),$_=P(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(ke)),r=Array.from(new Set(t));return r.sort((n,i)=>n-i)},{memoizeOptions:{resultEqualityCheck:H1}});function Ef(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _f(e){for(var t=1;t_f(_f({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),z_)},F_=new Set(Object.values(ke));function W_(e){return F_.has(e)}var $m=Ce({name:"zIndex",initialState:B_,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Q()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!W_(r)&&delete e.zIndexMap[r])},prepare:Q()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,i=r.element,a=r.isPanorama;e.zIndexMap[n]?a?e.zIndexMap[n].panoramaElement=i:e.zIndexMap[n].element=i:e.zIndexMap[n]={consumers:0,element:a?void 0:i,panoramaElement:a?i:void 0}},prepare:Q()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Q()}}}),Ka=$m.actions,U_=Ka.registerZIndexPortal,vo=Ka.unregisterZIndexPortal,K_=Ka.registerZIndexPortalElement,H_=Ka.unregisterZIndexPortalElement,Y_=$m.reducer;function Rt(e){var t=e.zIndex,r=e.children,n=Xw(),i=n&&t!==void 0&&t!==0,a=$e(),o=h.useRef(void 0),u=h.useRef(new Set),l=le(),c=N(f=>D_(f,t,a));if(h.useLayoutEffect(()=>{if(!i){var f=u.current;f.forEach(v=>{l(vo({zIndex:v}))}),f.clear(),o.current=void 0;return}if(u.current.has(t)||(l(U_({zIndex:t})),u.current.add(t)),c){o.current=c;var d=u.current;d.forEach(v=>{v!==t&&(l(vo({zIndex:v})),d.delete(v))})}},[l,t,i,c]),h.useLayoutEffect(()=>{var f=u.current;return()=>{f.forEach(d=>{l(vo({zIndex:d}))}),f.clear()}},[l]),!i)return r;var s=c??o.current;return s?$d.createPortal(r,s):null}function nu(){return nu=Object.assign?Object.assign.bind():function(e){for(var t=1;th.useContext(Nm),ho={exports:{}},Cf;function eI(){return Cf||(Cf=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(l,c,s){this.fn=l,this.context=c,this.once=s||!1}function a(l,c,s,f,d){if(typeof s!="function")throw new TypeError("The listener must be a function");var v=new i(s,f||l,d),p=r?r+c:c;return l._events[p]?l._events[p].fn?l._events[p]=[l._events[p],v]:l._events[p].push(v):(l._events[p]=v,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new n:delete l._events[c]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var c=[],s,f;if(this._eventsCount===0)return c;for(f in s=this._events)t.call(s,f)&&c.push(r?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(s)):c},u.prototype.listeners=function(c){var s=r?r+c:c,f=this._events[s];if(!f)return[];if(f.fn)return[f.fn];for(var d=0,v=f.length,p=new Array(v);d{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!ht(r))return e[r]}},iI={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Lm=Ce({name:"options",initialState:iI,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),aI=Lm.reducer,oI=Lm.actions.createEventEmitter;function uI(e){return e.tooltip.syncInteraction}var lI={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},Rm=Ce({name:"chartData",initialState:lI,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,i=r.endIndex;n!=null&&(e.dataStartIndex=n),i!=null&&(e.dataEndIndex=i)}}}),Tl=Rm.actions,jf=Tl.setChartData,cI=Tl.setDataStartEndIndexes;Tl.setComputedData;var sI=Rm.reducer,fI=["x","y"];function Tf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Sr(e){for(var t=1;tl.rootProps.className);h.useEffect(()=>{if(e==null)return Fr;var l=(c,s,f)=>{if(t!==f&&e===c){if(s.payload.active===!1){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var d;if(o&&s!==null&&s!==void 0&&(d=s.payload)!==null&&d!==void 0&&d.coordinate&&s.payload.sourceViewBox){var v=s.payload.coordinate,p=v.x,m=v.y,y=pI(v,fI),g=s.payload.sourceViewBox,w=g.x,x=g.y,A=g.width,O=g.height,b=Sr(Sr({},y),{},{x:o.x+(A?(p-w)/A:0)*o.width,y:o.y+(O?(m-x)/O:0)*o.height});r(Sr(Sr({},s),{},{payload:Sr(Sr({},s.payload),{},{coordinate:b})}))}else r(s);return}if(i!=null){var S;if(typeof n=="function"){var _={activeTooltipIndex:s.payload.index==null?void 0:Number(s.payload.index),isTooltipActive:s.payload.active,activeIndex:s.payload.index==null?void 0:Number(s.payload.index),activeLabel:s.payload.label,activeDataKey:s.payload.dataKey,activeCoordinate:s.payload.coordinate},I=n(i,_);S=i[I]}else n==="value"&&(S=i.find(Y=>String(Y.value)===s.payload.label));var C=s.payload.coordinate;if(C==null||o==null){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(S==null){r(dn({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:s.payload.sourceViewBox,graphicalItemId:void 0}));return}var j=C.x,E=C.y,R=Math.min(j,o.x+o.width),$=Math.min(E,o.y+o.height),V={x:a==="horizontal"?S.coordinate:R,y:a==="horizontal"?$:S.coordinate},H=dn({active:s.payload.active,coordinate:V,dataKey:s.payload.dataKey,index:String(S.index),label:s.payload.label,sourceViewBox:s.payload.sourceViewBox,graphicalItemId:s.payload.graphicalItemId});r(H)}}};return In.on(iu,l),()=>{In.off(iu,l)}},[u,r,t,e,n,i,a,o])}function gI(){var e=N(Bu),t=N(Fu),r=le();h.useEffect(()=>{if(e==null)return Fr;var n=(i,a,o)=>{t!==o&&e===i&&r(cI(a))};return In.on(kf,n),()=>{In.off(kf,n)}},[r,t,e])}function bI(){var e=le();h.useEffect(()=>{e(oI())},[e]),yI(),gI()}function wI(e,t,r,n,i,a){var o=N(p=>__(p,e,t)),u=N(c_),l=N(Fu),c=N(Bu),s=N(Nh),f=N(uI),d=(f==null?void 0:f.sourceViewBox)!=null,v=Aa();h.useEffect(()=>{if(!d&&c!=null&&l!=null){var p=dn({active:a,coordinate:r,dataKey:o,index:i,label:typeof n=="number"?String(n):n,sourceViewBox:v,graphicalItemId:u});In.emit(iu,c,p,l)}},[d,r,o,u,i,n,l,c,s,a,v])}function Mf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Df(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{S(yE({shared:w,trigger:x,axisId:b,active:i,defaultIndex:_}))},[S,w,x,b,i,_]);var I=Aa(),C=ph(),j=fE(w),E=(t=N(z=>k_(z,j,x,_)))!==null&&t!==void 0?t:{},R=E.activeIndex,$=E.isActive,V=N(z=>C_(z,j,x,_)),H=N(z=>Dm(z,j,x,_)),Y=N(z=>I_(z,j,x,_)),B=V,q=J_(),W=(r=i??$)!==null&&r!==void 0?r:!1,Se=Z0([B,W]),ge=PI(Se,2),ae=ge[0],Ne=ge[1],Le=j==="axis"?H:void 0;wI(j,x,Y,Le,R,W);var Je=O??q;if(Je==null||I==null||j==null)return null;var et=B??Nf;W||(et=Nf),c&&et.length&&(et=S0(et.filter(z=>z.value!=null&&(z.hide!==!0||n.includeHidden)),d,CI));var Jr=et.length>0,T=Df(Df({},n),{},{payload:et,label:Le,active:W,activeIndex:R,coordinate:Y,accessibilityLayer:C}),F=h.createElement(lA,{allowEscapeViewBox:a,animationDuration:o,animationEasing:u,isAnimationActive:s,active:W,coordinate:Y,hasPayload:Jr,offset:f,position:v,reverseDirection:p,useTranslate3d:m,viewBox:I,wrapperStyle:y,lastBoundingBox:ae,innerRef:Ne,hasPortalFromProps:!!O},kI(l,T));return h.createElement(h.Fragment,null,$d.createPortal(F,Je),W&&h.createElement(Q_,{cursor:g,tooltipEventType:j,coordinate:Y,payload:et,index:R}))}function MI(e,t,r){return(t=DI(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function DI(e){var t=$I(e,"string");return typeof t=="symbol"?t:t+""}function $I(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class NI{constructor(t){MI(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function Lf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function LI(e){for(var t=1;t{try{var r=document.getElementById(zf);r||(r=document.createElement("span"),r.setAttribute("id",zf),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,WI,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},pn=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Nn.isSsr)return{width:0,height:0};if(!zm.enableCache)return Bf(t,r);var n=UI(t,r),i=Rf.get(n);if(i)return i;var a=Bf(t,r);return Rf.set(n,a),a},Bm;function qi(e,t){return GI(e)||YI(e,t)||HI(e,t)||KI()}function KI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HI(e,t){if(e){if(typeof e=="string")return Ff(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ff(e,t):void 0}}function Ff(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var i=[];Oe(t)||(r?i=t.toString().split(""):i=t.toString().split(Wm));var a=i.map(u=>({word:u,width:pn(u,n).width})),o=r?0:pn(" ",n).width;return{wordsWithComputedWidth:a,spaceWidth:o}}catch{return null}};function Km(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function vC(e){return Oe(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Hm=(e,t,r,n)=>e.reduce((i,a)=>{var o=a.word,u=a.width,l=i[i.length-1];if(l&&u!=null&&(t==null||n||l.width+u+re.reduce((t,r)=>t.width>r.width?t:r),hC="…",Vf=(e,t,r,n,i,a,o,u)=>{var l=e.slice(0,t),c=Um({breakAll:r,style:n,children:l+hC});if(!c)return[!1,[]];var s=Hm(c.wordsWithComputedWidth,a,o,u),f=s.length>i||Ym(s).width>Number(a);return[f,s]},pC=(e,t,r,n,i)=>{var a=e.maxLines,o=e.children,u=e.style,l=e.breakAll,c=D(a),s=String(o),f=Hm(t,n,r,i);if(!c||i)return f;var d=f.length>a||Ym(f).width>Number(n);if(!d)return f;for(var v=0,p=s.length-1,m=0,y;v<=p&&m<=s.length-1;){var g=Math.floor((v+p)/2),w=g-1,x=Vf(s,w,l,u,a,n,r,i),A=Yf(x,2),O=A[0],b=A[1],S=Vf(s,g,l,u,a,n,r,i),_=Yf(S,1),I=_[0];if(!O&&!I&&(v=g+1),O&&I&&(p=g-1),!O&&I){y=b;break}m++}return y||f},qf=e=>{var t=Oe(e)?[]:e.toString().split(Wm);return[{words:t,width:void 0}]},mC=e=>{var t=e.width,r=e.scaleToFit,n=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||r)&&!Nn.isSsr){var u,l,c=Um({breakAll:a,children:n,style:i});if(c){var s=c.wordsWithComputedWidth,f=c.spaceWidth;u=s,l=f}else return qf(n);return pC({breakAll:a,children:n,maxLines:o,style:i},u,l,t,!!r)}return qf(n)},Gm="#808080",yC={angle:0,breakAll:!1,capHeight:"0.71em",fill:Gm,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ml=h.forwardRef((e,t)=>{var r=Ze(e,yC),n=r.x,i=r.y,a=r.lineHeight,o=r.capHeight,u=r.fill,l=r.scaleToFit,c=r.textAnchor,s=r.verticalAnchor,f=Hf(r,oC),d=h.useMemo(()=>mC({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),v=f.dx,p=f.dy,m=f.angle,y=f.className,g=f.breakAll,w=Hf(f,uC);if(!pt(n)||!pt(i)||d.length===0)return null;var x=Number(n)+(D(v)?v:0),A=Number(i)+(D(p)?p:0);if(!U(x)||!U(A))return null;var O;switch(s){case"start":O=po("calc(".concat(o,")"));break;case"middle":O=po("calc(".concat((d.length-1)/2," * -").concat(a," + (").concat(o," / 2))"));break;default:O=po("calc(".concat(d.length-1," * -").concat(a,")"));break}var b=[],S=d[0];if(l&&S!=null){var _=S.width,I=f.width;b.push("scale(".concat(D(I)&&D(_)?I/_:1,")"))}return m&&b.push("rotate(".concat(m,", ").concat(x,", ").concat(A,")")),b.length&&(w.transform=b.join(" ")),h.createElement("text",au({},Ve(w),{ref:t,x,y:A,className:ee("recharts-text",y),textAnchor:c,fill:u.includes("url")?Gm:u}),d.map((C,j)=>{var E=C.words.join(g?"":" ");return h.createElement("tspan",{x,dy:j===0?O:a,key:"".concat(E,"-").concat(j)},E)}))});Ml.displayName="Text";function Xf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function st(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,i=n===void 0?0:n,a=e.parentViewBox,o=ku(t),u=o.x,l=o.y,c=o.height,s=o.upperWidth,f=o.lowerWidth,d=u,v=u+(s-f)/2,p=(d+v)/2,m=(s+f)/2,y=d+s/2,g=c>=0?1:-1,w=g*i,x=g>0?"end":"start",A=g>0?"start":"end",O=s>=0?1:-1,b=O*i,S=O>0?"end":"start",_=O>0?"start":"end",I=a;if(r==="top"){var C={x:d+s/2,y:l-w,horizontalAnchor:"middle",verticalAnchor:x};return I&&(C.height=Math.max(l-I.y,0),C.width=s),C}if(r==="bottom"){var j={x:v+f/2,y:l+c+w,horizontalAnchor:"middle",verticalAnchor:A};return I&&(j.height=Math.max(I.y+I.height-(l+c),0),j.width=f),j}if(r==="left"){var E={x:p-b,y:l+c/2,horizontalAnchor:S,verticalAnchor:"middle"};return I&&(E.width=Math.max(E.x-I.x,0),E.height=c),E}if(r==="right"){var R={x:p+m+b,y:l+c/2,horizontalAnchor:_,verticalAnchor:"middle"};return I&&(R.width=Math.max(I.x+I.width-R.x,0),R.height=c),R}var $=I?{width:m,height:c}:{};return r==="insideLeft"?st({x:p+b,y:l+c/2,horizontalAnchor:_,verticalAnchor:"middle"},$):r==="insideRight"?st({x:p+m-b,y:l+c/2,horizontalAnchor:S,verticalAnchor:"middle"},$):r==="insideTop"?st({x:d+s/2,y:l+w,horizontalAnchor:"middle",verticalAnchor:A},$):r==="insideBottom"?st({x:v+f/2,y:l+c-w,horizontalAnchor:"middle",verticalAnchor:x},$):r==="insideTopLeft"?st({x:d+b,y:l+w,horizontalAnchor:_,verticalAnchor:A},$):r==="insideTopRight"?st({x:d+s-b,y:l+w,horizontalAnchor:S,verticalAnchor:A},$):r==="insideBottomLeft"?st({x:v+b,y:l+c-w,horizontalAnchor:_,verticalAnchor:x},$):r==="insideBottomRight"?st({x:v+f-b,y:l+c-w,horizontalAnchor:S,verticalAnchor:x},$):r&&typeof r=="object"&&(D(r.x)||sr(r.x))&&(D(r.y)||sr(r.y))?st({x:u+Yt(r.x,m),y:l+Yt(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},$):st({x:y,y:l+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},$)},AC=["labelRef"],OC=["content"];function Zf(e,t){if(e==null)return{};var r,n,i=PC(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,u=e.children,l=h.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:i,width:a,height:o}),[t,r,n,i,a,o]);return h.createElement(Vm.Provider,{value:l},u)},qm=()=>{var e=h.useContext(Vm),t=Aa();return e||(t?ku(t):void 0)},CC=h.createContext(null),kC=()=>{var e=h.useContext(CC),t=N(Fh);return e||t},jC=e=>{var t=e.value,r=e.formatter,n=Oe(e.children)?t:e.children;return typeof r=="function"?r(n):n},Dl=e=>e!=null&&typeof e=="function",TC=(e,t)=>{var r=He(t-e),n=Math.min(Math.abs(t-e),360);return r*n},MC=(e,t,r,n,i)=>{var a=e.offset,o=e.className,u=i.cx,l=i.cy,c=i.innerRadius,s=i.outerRadius,f=i.startAngle,d=i.endAngle,v=i.clockWise,p=(c+s)/2,m=TC(f,d),y=m>=0?1:-1,g,w;switch(t){case"insideStart":g=f+y*a,w=v;break;case"insideEnd":g=d-y*a,w=!v;break;case"end":g=d+y*a,w=v;break;default:throw new Error("Unsupported position ".concat(t))}w=m<=0?w:!w;var x=Ae(u,l,p,g),A=Ae(u,l,p,g+(w?1:-1)*359),O="M".concat(x.x,",").concat(x.y,` A`).concat(p,",").concat(p,",0,1,").concat(w?0:1,`, - `).concat(A.x,",").concat(A.y),b=Oe(e.id)?yn("recharts-radial-line-"):e.id;return h.createElement("text",At({},n,{dominantBaseline:"central",className:ee("recharts-radial-bar-label",o)}),h.createElement("defs",null,h.createElement("path",{id:b,d:O})),h.createElement("textPath",{xlinkHref:"#".concat(b)},r))},YC=(e,t,r)=>{var n=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,u=e.startAngle,l=e.endAngle,c=(u+l)/2;if(r==="outside"){var s=Ae(n,i,o+t,c),f=s.x,d=s.y;return{x:f,y:d,textAnchor:f>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var v=(a+o)/2,p=Ae(n,i,v,c),m=p.x,y=p.y;return{x:m,y,textAnchor:"middle",verticalAnchor:"middle"}},fi=e=>e!=null&&"cx"in e&&D(e.cx),VC={angle:0,offset:5,zIndex:ke.label,position:"middle",textBreakAll:!1};function GC(e){if(!fi(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function Ft(e){var t=Ze(e,VC),r=t.viewBox,n=t.parentViewBox,i=t.position,a=t.value,o=t.children,u=t.content,l=t.className,c=l===void 0?"":l,s=t.textBreakAll,f=t.labelRef,d=WC(),v=iy(),p=i==="center"?v:d??v,m,y,g;r==null?m=p:fi(r)?m=r:m=$u(r);var w=GC(m);if(!m||Oe(a)&&Oe(o)&&!h.isValidElement(u)&&typeof u!="function")return null;var x=vn(vn({},t),{},{viewBox:m});if(h.isValidElement(u)){x.labelRef;var A=od(x,DC);return h.cloneElement(u,A)}if(typeof u=="function"){x.content;var O=od(x,$C);if(y=h.createElement(u,O),h.isValidElement(y))return y}else y=UC(t);var b=Ge(t);if(fi(m)){if(i==="insideStart"||i==="insideEnd"||i==="end")return HC(t,i,y,b,m);g=YC(m,t.offset,t.position)}else{if(!w)return null;var S=MC({viewBox:w,position:i,offset:t.offset,parentViewBox:fi(n)?void 0:n});g=vn(vn({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width!==void 0?{width:S.width}:{}),S.height!==void 0?{height:S.height}:{})}return h.createElement(Rt,{zIndex:t.zIndex},h.createElement(Rl,At({ref:f,className:ee("recharts-label",c)},b,g,{textAnchor:Jm(b.textAnchor)?b.textAnchor:g.textAnchor,breakAll:s}),y))}Ft.displayName="Label";var qC=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?h.createElement(Ft,At({key:"label-implicit"},n)):pt(e)?h.createElement(Ft,At({key:"label-implicit",value:e},n)):h.isValidElement(e)?e.type===Ft?h.cloneElement(e,vn({key:"label-implicit"},n)):h.createElement(Ft,At({key:"label-implicit",content:e},n)):zl(e)?h.createElement(Ft,At({key:"label-implicit",content:e},n)):e&&typeof e=="object"?h.createElement(Ft,At({},e,{key:"label-implicit"},n)):null};function XC(e){var t=e.label,r=e.labelRef,n=iy();return qC(t,n,r)||null}var ZC=["valueAccessor"],QC=["dataKey","clockWise","id","textBreakAll","zIndex"];function Xi(){return Xi=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(SC(t))return t},ay=h.createContext(void 0),tk=ay.Provider,oy=h.createContext(void 0);oy.Provider;function rk(){return h.useContext(ay)}function nk(){return h.useContext(oy)}function di(e){var t=e.valueAccessor,r=t===void 0?ek:t,n=ld(e,ZC),i=n.dataKey;n.clockWise;var a=n.id,o=n.textBreakAll,u=n.zIndex,l=ld(n,QC),c=rk(),s=nk(),f=c||s;return!f||!f.length?null:h.createElement(Rt,{zIndex:u??ke.label},h.createElement(qe,{className:"recharts-label-list"},f.map((d,v)=>{var p,m=Oe(i)?r(d,v):he(d.payload,i),y=Oe(a)?{}:{id:"".concat(a,"-").concat(v)};return h.createElement(Ft,Xi({key:"label-".concat(v)},Ge(d),l,y,{fill:(p=n.fill)!==null&&p!==void 0?p:d.fill,parentViewBox:d.parentViewBox,value:m,textBreakAll:o,viewBox:d.viewBox,index:v,zIndex:0}))})))}di.displayName="LabelList";function ik(e){var t=e.label;return t?t===!0?h.createElement(di,{key:"labelList-implicit"}):h.isValidElement(t)||zl(t)?h.createElement(di,{key:"labelList-implicit",content:t}):typeof t=="object"?h.createElement(di,Xi({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function su(){return su=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,a=ee("recharts-dot",i);return D(t)&&D(r)&&D(n)?h.createElement("circle",su({},it(e),Su(e),{className:a,cx:t,cy:r,r:n})):null},ak={radiusAxis:{},angleAxis:{}},ly=Ce({name:"polarAxis",initialState:ak,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Ha=ly.actions;Ha.addRadiusAxis;Ha.removeRadiusAxis;Ha.addAngleAxis;Ha.removeAngleAxis;var ok=ly.reducer;function uk(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var cy=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function cd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function sd(e){for(var t=1;t{n||(i.current===null?r(EE(t)):i.current!==t&&r(_E({prev:i.current,next:t})),i.current=t)},[t,r,n]),h.useLayoutEffect(()=>()=>{i.current&&(r(IE(i.current)),i.current=null)},[r]),null}function yk(e){var t=e.legendPayload,r=le(),n=$e(),i=h.useRef(null);return h.useLayoutEffect(()=>{n||(i.current===null?r(xx(t)):i.current!==t&&r(Ax({prev:i.current,next:t})),i.current=t)},[r,n,t]),h.useLayoutEffect(()=>()=>{i.current&&(r(Ox(i.current)),i.current=null)},[r]),null}function gk(e,t){return Ak(e)||xk(e,t)||wk(e,t)||bk()}function bk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wk(e,t){if(e){if(typeof e=="string")return fd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fd(e,t):void 0}}function fd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var a=0;ae[Math.floor(a*r)]);return Fl(n,t)}function Sk(e,t){var r=t.map((n,i)=>e[i]);return Fl(r,t)}function Ek(e,t){for(var r=new Map,n=0;n{var v=r(f,d);if(v!=null){var p=n.get(v);if(p!==void 0)return i.add(v),p}}),o=[];for(var u of n){var l=gk(u,2),c=l[0],s=l[1];i.has(c)||o.push(s)}return Fl(a,t,o)}function fu(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Bl?Pk(e,t):r===Ok?Sk(e,t):_k(e,t,r)}function fy(e,t){var r=h.useRef(e),n=h.useRef(t.current),i=h.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var a=h.useCallback(function(o,u){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=o),u>0&&i.current&&l&&(t.current=o)},[t]);return{startValue:n.current,syncStepValue:a}}function Ik(e,t){return Tk(e)||jk(e,t)||kk(e,t)||Ck()}function Ck(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kk(e,t){if(e){if(typeof e=="string")return dd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?dd(e,t):void 0}}function dd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),a(!0)},[e]),u=h.useCallback(()=>{typeof t=="function"&&t(),a(!1)},[t]);return{isAnimating:i,handleAnimationStart:o,handleAnimationEnd:u}}function Dk(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,a=e.previousItemsRef,o=e.isAnimationActive,u=e.animationBegin,l=e.animationDuration,c=e.animationEasing,s=e.onAnimationStart,f=e.onAnimationEnd,d=e.animationInterpolateFn,v=e.animationMatchBy,p=e.shouldUpdatePreviousRef,m=e.children,y=e.layout,g=Ch(r,n),w=fy(g,a),x=(t=w.startValue)!==null&&t!==void 0?t:null,A=fu(x,i,v??Bl);return h.createElement(Ih,{animationId:g,begin:u,duration:l,isActive:o,easing:c,onAnimationEnd:f,onAnimationStart:s,key:g},O=>{var b=x==null,S=i==null?i:d(A,O,y),_=p?p(O):O>0;return w.syncStepValue(S,O,_),S==null?null:m(S,O,b)})}var wo;function $k(e,t){return zk(e)||Rk(e,t)||Lk(e,t)||Nk()}function Nk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lk(e,t){if(e){if(typeof e=="string")return vd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vd(e,t):void 0}}function vd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=h.useState(()=>yn("uid-")),t=$k(e,1),r=t[0];return r},dy=(wo=eg.useId)!==null&&wo!==void 0?wo:Bk;function Fk(e,t){var r=dy();return t||(e?"".concat(e,"-").concat(r):r)}var Wk=h.createContext(void 0),Uk=e=>{var t=e.id,r=e.type,n=e.children,i=Fk("recharts-".concat(r),t);return h.createElement(Wk.Provider,{value:i},n(i))},Kk={cartesianItems:[],polarItems:[]},vy=Ce({name:"graphicalItems",initialState:Kk,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:Q()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).cartesianItems.indexOf(n);a>-1&&(e.cartesianItems[a]=i)},prepare:Q()},removeCartesianGraphicalItem:{reducer(e,t){var r=Ye(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:Q()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:Q()},removePolarGraphicalItem:{reducer(e,t){var r=Ye(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:Q()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).polarItems.indexOf(n);a>-1&&(e.polarItems[a]=i)},prepare:Q()}}}),Zr=vy.actions,Hk=Zr.addCartesianGraphicalItem,Yk=Zr.replaceCartesianGraphicalItem,Vk=Zr.removeCartesianGraphicalItem;Zr.addPolarGraphicalItem;Zr.removePolarGraphicalItem;Zr.replacePolarGraphicalItem;var Gk=vy.reducer,qk=e=>{var t=le(),r=h.useRef(null);return h.useLayoutEffect(()=>{r.current===null?t(Hk(e)):r.current!==e&&t(Yk({prev:r.current,next:e})),r.current=e},[t,e]),h.useLayoutEffect(()=>()=>{r.current&&(t(Vk(r.current)),r.current=null)},[t]),null},Xk=h.memo(qk),Zk=["points"];function hd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xo(e){for(var t=1;t{var g,w,x=xo(xo(xo({r:3},o),d),{},{index:y,cx:(g=m.x)!==null&&g!==void 0?g:void 0,cy:(w=m.y)!==null&&w!==void 0?w:void 0,dataKey:a,value:m.value,payload:m.payload,points:t});return h.createElement(nj,{key:"dot-".concat(y),option:r,dotProps:x,className:i})}),p={};return u&&l!=null&&(p.clipPath="url(#clipPath-".concat(f?"":"dots-").concat(l,")")),h.createElement(Rt,{zIndex:s},h.createElement(qe,Zi({className:n},p),v))}function pd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function md(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),bj=P([gj,Mt,Dt],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),Wl=()=>N(bj),wj=()=>N(E_);function yd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ao(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:a,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},l=Ao(Ao(Ao({},u),ia(i)),Su(i)),c;return h.isValidElement(i)?c=h.cloneElement(i,l):typeof i=="function"?c=i(l):c=h.createElement(uy,l),h.createElement(qe,{className:"recharts-active-dot",clipPath:o},c)};function gd(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,u=o===void 0?ke.activeDot:o,l=N(_n),c=wj();if(t==null||c==null)return null;var s=t.find(f=>c.includes(f.payload));return Oe(s)?null:h.createElement(Rt,{zIndex:u},h.createElement(Pj,{point:s,childIndex:Number(l),mainColor:r,dataKey:i,activeDot:n,clipPath:a}))}var Sj=e=>{var t=e.chartData,r=le(),n=$e();return h.useEffect(()=>n?()=>{}:(r(Bf(t)),()=>{r(Bf(void 0))}),[t,r,n]),null},bd={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},my=Ce({name:"brush",initialState:bd,reducers:{setBrushSettings(e,t){return t.payload==null?bd:t.payload}}});my.actions.setBrushSettings;var Ej=my.reducer;function _j(e){return(e%180+180)%180}var Ij=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=_j(i),o=a*Math.PI/180,u=Math.atan(n/r),l=o>u&&o{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Ye(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Ye(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=Ye(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Qr=yy.actions;Qr.addDot;Qr.removeDot;Qr.addArea;Qr.removeArea;Qr.addLine;Qr.removeLine;var kj=yy.reducer;function jj(e,t){return $j(e)||Dj(e,t)||Mj(e,t)||Tj()}function Tj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mj(e,t){if(e){if(typeof e=="string")return wd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wd(e,t):void 0}}function wd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=h.useState("".concat(yn("recharts"),"-clip")),n=jj(r,1),i=n[0],a=Wl();if(a==null)return null;var o=a.x,u=a.y,l=a.width,c=a.height;return h.createElement(Nj.Provider,{value:i},h.createElement("defs",null,h.createElement("clipPath",{id:i},h.createElement("rect",{x:o,y:u,height:c,width:l}))),t)};function gy(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-i)<=0}function Bj(e,t){return gy(e,t+1)}function Fj(e,t,r,n,i){for(var a=(n||[]).slice(),o=t.start,u=t.end,l=0,c=1,s=o,f=function(){var p=n==null?void 0:n[l];if(p===void 0)return{v:gy(n,c)};var m=l,y,g=()=>(y===void 0&&(y=r(p,m)),y),w=p.coordinate,x=l===0||Cn(e,w,g,s,u);x||(l=0,s=o,c+=1),x&&(s=w+e*(g()/2+i),l+=c)},d;c<=a.length;)if(d=f(),d)return d.v;return[]}function Wj(e,t,r,n,i){var a=(n||[]).slice(),o=a.length;if(o===0)return[];for(var u=t.start,l=t.end,c=1;c<=o;c++){for(var s=(o-1)%c,f=u,d=!0,v=function(){var A=n[m];if(A==null)return 0;var O=m,b,S=()=>(b===void 0&&(b=r(A,O)),b),_=A.coordinate,I=m===s||Cn(e,_,S,f,l);if(!I)return d=!1,1;I&&(f=_+e*(S()/2+i))},p,m=s;m(m===void 0&&(m=r(v,d)),m);if(d===o-1){var g=e*(p.coordinate+e*y()/2-l);a[d]=p=_e(_e({},p),{},{tickCoord:g>0?p.coordinate-g*e:p.coordinate})}else a[d]=p=_e(_e({},p),{},{tickCoord:p.coordinate});if(p.tickCoord!=null){var w=Cn(e,p.tickCoord,y,u,l);w&&(l=p.tickCoord-e*(y()/2+i),a[d]=_e(_e({},p),{},{isShow:!0}))}},s=o-1;s>=0;s--)c(s);return a}function Vj(e,t,r,n,i,a){var o=(n||[]).slice(),u=o.length,l=t.start,c=t.end;if(a){var s=n[u-1];if(s!=null){var f=r(s,u-1),d=e*(s.coordinate+e*f/2-c);if(o[u-1]=s=_e(_e({},s),{},{tickCoord:d>0?s.coordinate-d*e:s.coordinate}),s.tickCoord!=null){var v=Cn(e,s.tickCoord,()=>f,l,c);v&&(c=s.tickCoord-e*(f/2+i),o[u-1]=_e(_e({},s),{},{isShow:!0}))}}}for(var p=a?u-1:u,m=function(w){var x=o[w];if(x==null)return 1;var A=x,O,b=()=>(O===void 0&&(O=r(x,w)),O);if(w===0){var S=e*(A.coordinate-e*b()/2-l);o[w]=A=_e(_e({},A),{},{tickCoord:S<0?A.coordinate-S*e:A.coordinate})}else o[w]=A=_e(_e({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var _=Cn(e,A.tickCoord,b,l,c);_&&(l=A.tickCoord+e*(b()/2+i),o[w]=_e(_e({},A),{},{isShow:!0}))}},y=0;y{var S=typeof c=="function"?c(O.value,b):O.value;return p==="width"?Rj(pn(S,{fontSize:t,letterSpacing:r}),m,f):pn(S,{fontSize:t,letterSpacing:r})[p]},g=i[0],w=i[1],x=i.length>=2&&g!=null&&w!=null?He(w.coordinate-g.coordinate):1,A=zj(a,x,p);return l==="equidistantPreserveStart"?Fj(x,A,y,i,o):l==="equidistantPreserveEnd"?Wj(x,A,y,i,o):(l==="preserveStart"||l==="preserveStartEnd"?v=Vj(x,A,y,i,o,l==="preserveStartEnd"):v=Yj(x,A,y,i,o),v.filter(O=>O.isShow))}var Gj=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,a=e.tickSize,o=a===void 0?0:a,u=e.tickMargin,l=u===void 0?0:u,c=0;if(t){Array.from(t).forEach(v=>{if(v){var p=v.getBoundingClientRect();p.width>c&&(c=p.width)}});var s=r?r.getBoundingClientRect().width:0,f=o+l,d=c+f+s+(r?i:0);return Math.round(d)}return 0},qj={xAxis:{},yAxis:{}},by=Ce({name:"renderedTicks",initialState:qj,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,a=r.ticks;e[n][i]=a},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),wy=by.actions,Xj=wy.setRenderedTicks,Zj=wy.removeRenderedTicks,Qj=by.reducer,Jj=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function Ad(e,t){return nT(e)||rT(e,t)||tT(e,t)||eT()}function eT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tT(e,t){if(e){if(typeof e=="string")return Od(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Od(e,t):void 0}}function Od(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Fr;var a=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(Xj({ticks:a,axisId:n,axisType:r})),()=>{i(Zj({axisId:n,axisType:r}))}},[i,t,n,r]),null}var pT=h.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,a=e.tickLine,o=e.stroke,u=e.tickFormatter,l=e.unit,c=e.padding,s=e.tickTextProps,f=e.orientation,d=e.mirror,v=e.x,p=e.y,m=e.width,y=e.height,g=e.tickSize,w=e.tickMargin,x=e.fontSize,A=e.letterSpacing,O=e.getTicksConfig,b=e.events,S=e.axisType,_=e.axisId,I=Ul(ie(ie({},O),{},{ticks:n}),x,A),C=it(O),j=ia(i),E=Jm(C.textAnchor)?C.textAnchor:fT(f,d),R=dT(f,d),$={};typeof a=="object"&&($=a);var G=ie(ie({},C),{},{fill:"none"},$),H=I.map(q=>ie({entry:q},sT(q,v,p,m,y,f,g,d,w))),Y=H.map(q=>{var W=q.entry,Se=q.line;return h.createElement(qe,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(W.value,"-").concat(W.coordinate,"-").concat(W.tickCoord)},a&&h.createElement("line",mr({},G,Se,{className:ee("recharts-cartesian-axis-tick-line",yr(a,"className"))})))}),B=H.map((q,W)=>{var Se,ge,ae=q.entry,Ne=q.tick,Le=ie(ie(ie(ie({verticalAnchor:R},C),{},{textAnchor:E,stroke:"none",fill:o},Ne),{},{index:W,payload:ae,visibleTicksCount:I.length,tickFormatter:u,padding:c},s),{},{angle:(Se=(ge=s==null?void 0:s.angle)!==null&&ge!==void 0?ge:C.angle)!==null&&Se!==void 0?Se:0}),Je=ie(ie({},Le),j);return h.createElement(qe,mr({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ae.value,"-").concat(ae.coordinate,"-").concat(ae.tickCoord)},Bg(b,ae,W)),i&&h.createElement(vT,{option:i,tickProps:Je,value:"".concat(typeof u=="function"?u(ae.value,W):ae.value).concat(l||"")}))});return h.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(S,"-ticks")},h.createElement(hT,{ticks:I,axisId:_,axisType:S}),B.length>0&&h.createElement(Rt,{zIndex:ke.label},h.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(S,"-tick-labels"),ref:t},B)),Y.length>0&&h.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(S,"-tick-lines")},Y))}),mT=h.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,a=e.className,o=e.hide,u=e.ticks,l=e.axisType,c=e.axisId,s=iT(e,Jj),f=h.useState(""),d=Ad(f,2),v=d[0],p=d[1],m=h.useState(""),y=Ad(m,2),g=y[0],w=y[1],x=h.useRef(null);h.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var O;return Gj({ticks:x.current,label:(O=e.labelRef)===null||O===void 0?void 0:O.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var A=h.useCallback(O=>{if(O){var b=O.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=b;var S=b[0];if(S){var _=window.getComputedStyle(S),I=_.fontSize,C=_.letterSpacing;(I!==v||C!==g)&&(p(I),w(C))}}},[v,g]);return o||n!=null&&n<=0||i!=null&&i<=0?null:h.createElement(Rt,{zIndex:e.zIndex},h.createElement(qe,{className:ee("recharts-cartesian-axis",a)},h.createElement(cT,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:it(e)}),h.createElement(pT,{ref:A,axisType:l,events:s,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:g,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:c}),h.createElement(BC,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},h.createElement(XC,{label:e.label,labelRef:e.labelRef}),e.children)))}),Kl=h.forwardRef((e,t)=>{var r=Ze(e,_t);return h.createElement(mT,mr({},r,{ref:t}))});Kl.displayName="CartesianAxis";var yT=["x1","y1","x2","y2","key"],gT=["offset"],bT=["xAxisId","yAxisId"],wT=["xAxisId","yAxisId"];function Sd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ie(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,a=e.width,o=e.height,u=e.ry;return h.createElement("rect",{x:n,y:i,ry:u,width:a,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function xy(e){var t=e.option,r=e.lineItemProps,n;if(h.isValidElement(t))n=h.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,a=r.x1,o=r.y1,u=r.x2,l=r.y2,c=r.key,s=Qi(r,yT),f=(i=it(s))!==null&&i!==void 0?i:{};f.offset;var d=Qi(f,gT);n=h.createElement("line",or({},d,{x1:a,y1:o,x2:u,y2:l,fill:"none",key:c}))}return n}function ET(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=Qi(e,bT),u=a.map((l,c)=>{var s=Ie(Ie({},o),{},{x1:t,y1:l,x2:t+r,y2:l,key:"line-".concat(c),index:c});return h.createElement(xy,{key:"line-".concat(c),option:i,lineItemProps:s})});return h.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function _T(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=Qi(e,wT),u=a.map((l,c)=>{var s=Ie(Ie({},o),{},{x1:l,y1:t,x2:l,y2:t+r,key:"line-".concat(c),index:c});return h.createElement(xy,{option:i,lineItemProps:s,key:"line-".concat(c)})});return h.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function IT(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,a=e.width,o=e.height,u=e.horizontalPoints,l=e.horizontal,c=l===void 0?!0:l;if(!c||!t||!t.length||u==null)return null;var s=u.map(d=>Math.round(d+i-i)).sort((d,v)=>d-v);i!==s[0]&&s.unshift(0);var f=s.map((d,v)=>{var p=s[v+1],m=p==null,y=m?i+o-d:p-d;if(y<=0)return null;var g=v%t.length;return h.createElement("rect",{key:"react-".concat(v),y:d,x:n,height:y,width:a,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return h.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function CT(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,u=e.width,l=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var s=c.map(d=>Math.round(d+a-a)).sort((d,v)=>d-v);a!==s[0]&&s.unshift(0);var f=s.map((d,v)=>{var p=s[v+1],m=p==null,y=m?a+u-d:p-d;if(y<=0)return null;var g=v%n.length;return h.createElement("rect",{key:"react-".concat(v),x:d,y:o,width:y,height:l,stroke:"none",fill:n[g],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return h.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var kT=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,a=e.offset;return ih(Ul(Ie(Ie(Ie({},_t),r),{},{ticks:ah(r),viewBox:{x:0,y:0,width:n,height:i}})),a.left,a.left+a.width,t)},jT=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,a=e.offset;return ih(Ul(Ie(Ie(Ie({},_t),r),{},{ticks:ah(r),viewBox:{x:0,y:0,width:n,height:i}})),a.top,a.top+a.height,t)},TT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:ke.grid};function Ay(e){var t=vh(),r=hh(),n=dh(),i=Ie(Ie({},Ze(e,TT)),{},{x:D(e.x)?e.x:n.left,y:D(e.y)?e.y:n.top,width:D(e.width)?e.width:n.width,height:D(e.height)?e.height:n.height}),a=i.xAxisId,o=i.yAxisId,u=i.x,l=i.y,c=i.width,s=i.height,f=i.syncWithTicks,d=i.horizontalValues,v=i.verticalValues,p=$e(),m=N(I=>_f(I,"xAxis",a,p)),y=N(I=>_f(I,"yAxis",o,p));if(!mt(c)||!mt(s)||!D(u)||!D(l))return null;var g=i.verticalCoordinatesGenerator||kT,w=i.horizontalCoordinatesGenerator||jT,x=i.horizontalPoints,A=i.verticalPoints;if((!x||!x.length)&&typeof w=="function"){var O=d&&d.length,b=w({yAxis:y?Ie(Ie({},y),{},{ticks:O?d:y.ticks}):void 0,width:t??c,height:r??s,offset:n},O?!0:f);_i(Array.isArray(b),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof b,"]")),Array.isArray(b)&&(x=b)}if((!A||!A.length)&&typeof g=="function"){var S=v&&v.length,_=g({xAxis:m?Ie(Ie({},m),{},{ticks:S?v:m.ticks}):void 0,width:t??c,height:r??s,offset:n},S?!0:f);_i(Array.isArray(_),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof _,"]")),Array.isArray(_)&&(A=_)}return h.createElement(Rt,{zIndex:i.zIndex},h.createElement("g",{className:"recharts-cartesian-grid"},h.createElement(ST,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),h.createElement(IT,or({},i,{horizontalPoints:x})),h.createElement(CT,or({},i,{verticalPoints:A})),h.createElement(ET,or({},i,{offset:n,horizontalPoints:x,xAxis:m,yAxis:y})),h.createElement(_T,or({},i,{offset:n,verticalPoints:A,xAxis:m,yAxis:y}))))}Ay.displayName="CartesianGrid";var MT={},Oy=Ce({name:"errorBars",initialState:MT,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,a=r.next;e[n]&&(e[n]=e[n].map(o=>o.dataKey===i.dataKey&&o.direction===i.direction?a:o))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(a=>a.dataKey!==i.dataKey||a.direction!==i.direction))}}}),Hl=Oy.actions;Hl.addErrorBar;Hl.replaceErrorBar;Hl.removeErrorBar;var DT=Oy.reducer;function Py(e,t){var r,n,i=N(c=>$t(c,e)),a=N(c=>Nt(c,t)),o=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:ce.allowDataOverflow,u=(n=a==null?void 0:a.allowDataOverflow)!==null&&n!==void 0?n:se.allowDataOverflow,l=o||u;return{needClip:l,needClipX:o,needClipY:u}}function $T(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=Wl(),a=Py(t,r),o=a.needClipX,u=a.needClipY,l=a.needClip,c=N(x=>lm(x,t,!1)),s=N(x=>cm(x,r,!1));if(!l||!i)return null;var f=i.x,d=i.y,v=i.width,p=i.height,m=o&&c?Math.min(c[0],c[1]):f-v/2,y=u&&s?Math.min(s[0],s[1]):d-p/2,g=o&&c?Math.abs(c[1]-c[0]):v*2,w=u&&s?Math.abs(s[1]-s[0]):p*2;return h.createElement("clipPath",{id:"clipPath-".concat(n)},h.createElement("rect",{x:m,y,width:g,height:w}))}function NT(e){var t=ia(e),r=3,n=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),u=Number(a);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(u)||u<0)&&(u=n),{r:o,strokeWidth:u}}return{r,strokeWidth:n}}function Yl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:hy}function Vl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:hy}var Sy=(e,t,r)=>ym(e,"xAxis",Yl(e,t),r),Ey=(e,t,r)=>mm(e,"xAxis",Yl(e,t),r),_y=(e,t,r)=>ym(e,"yAxis",Vl(e,t),r),Iy=(e,t,r)=>mm(e,"yAxis",Vl(e,t),r),LT=P([re,Sy,_y,Ey,Iy],(e,t,r,n,i)=>bt(e,"xAxis")?Ei(t,n,!1):Ei(r,i,!1)),RT=(e,t)=>t,Cy=P([Np,RT],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),ky=e=>{var t=re(e),r=bt(t,"xAxis");return r?"yAxis":"xAxis"},zT=(e,t)=>{var r=ky(e);return r==="yAxis"?Vl(e,t):Yl(e,t)},BT=(e,t,r)=>Yp(e,ky(e),zT(e,t),r),FT=P([Cy,BT],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=Xu(e);if(!(n==null||i==null)){var a=(r=t[n])===null||r===void 0?void 0:r.stackedData,o=a==null?void 0:a.find(u=>u.key===i);if(o!=null)return o.map(u=>[u[0],u[1]])}}}),WT=P([re,Sy,_y,Ey,Iy,FT,MA,LT,Cy,XA],(e,t,r,n,i,a,o,u,l,c)=>{var s=o.chartData,f=o.dataStartIndex,d=o.dataEndIndex;if(!(l==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var v=l.data,p;if(v&&v.length>0?p=v:p=s==null?void 0:s.slice(f,d+1),p!=null)return hM({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:a,displayedData:p,chartBaseValue:c,bandSize:u})}}),UT=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],KT=["id","baseLine"];function mn(){return mn=Object.assign?Object.assign.bind():function(e){for(var t=1;tf.y||0));return D(i)?s=Math.max(i,s):i&&Array.isArray(i)&&i.length&&(s=Math.max(...i.map(f=>f.y||0),s)),D(s)?h.createElement("rect",{x:uf.x||0));return D(i)?s=Math.max(i,s):i&&Array.isArray(i)&&i.length&&(s=Math.max(...i.map(f=>f.x||0),s)),D(s)?h.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Br(Br({},r.next),{},{x:Ot(r.prev.x,r.next.x,t),y:Ot(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),Ty={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Bl,animationInterpolateFn:rM,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:qT,xAxisId:0,yAxisId:0,zIndex:ke.area};function ea(e,t){return e&&e!=="none"?e:t}var nM=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:ea(n,i),value:oh(r,t),payload:e}]},iM=h.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,u=e.hide,l=e.unit,c=e.tooltipType,s=e.id,f={dataDefinedOnItem:r,getPosition:Fr,settings:{stroke:n,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:oh(o,t),hide:u,type:c,color:ea(n,a),unit:l,graphicalItemId:s}};return h.createElement(mk,{tooltipEntrySettings:f})});function aM(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,a=n.dot,o=n.dataKey,u=it(n);return h.createElement(aj,{points:r,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function oM(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(a=>{var o,u,l={x:(o=a.x)!==null&&o!==void 0?o:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Br(Br({},l),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return h.createElement(tk,{value:t?i:void 0},r)}function uM(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,u=e.isAnimating,l=e.isEntrance,c=a.layout,s=a.type,f=a.stroke,d=a.connectNulls,v=a.isRange,p=a.shape,m=a.id,y=jy(a,XT),g=Ge(y),w=Br(Br({},g),{},{id:m,points:t,connectNulls:d,type:s,baseLine:r,layout:c,stroke:f,isRange:v,animationElapsedTime:o,isAnimating:u,isEntrance:l});return h.createElement(h.Fragment,null,(t==null?void 0:t.length)>1&&h.createElement(qe,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},h.createElement(pk,{option:p,DefaultShape:Ty.shape,shapeProps:w})),h.createElement(aM,{points:t,props:y,clipPathId:i}))}function lM(e,t,r){if(D(e)){var n=D(t)?t:void 0;return Ot(n,e,r)}if(Oe(e)||ht(e)){var i=D(t)?t:void 0;return Ot(i,0,r)}return e}function cM(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=n.points,u=n.baseLine,l=n.isAnimationActive,c=n.animationBegin,s=n.animationDuration,f=n.animationEasing,d=n.animationMatchBy,v=n.animationInterpolateFn,p=h.useMemo(()=>({points:o,baseLine:u}),[o,u]),m=fy(p,a),y=Nu(),g=Mk(n.onAnimationStart,n.onAnimationEnd),w=g.isAnimating,x=g.handleAnimationStart,A=g.handleAnimationEnd,O=m.startValue;if(y==null)return null;var b;return Array.isArray(u)&&Array.isArray(O)?b=fu(O,u,d):Array.isArray(u)?b=fu(null,u,d):b=null,h.createElement(Dk,{animationInput:p,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:c,animationDuration:s,animationEasing:f,onAnimationStart:x,onAnimationEnd:A,animationInterpolateFn:v,animationMatchBy:d,layout:y},(S,_,I)=>{var C;return _===1?C=u:Array.isArray(u)?C=v(b,_,y):C=I?u:lM(u,O,_),m.syncStepValue(C,_),h.createElement(oM,{showLabels:!w,points:o},n.children,h.createElement(uM,{points:S,baseLine:C,needClip:t,clipPathId:r,props:n,animationElapsedTime:_,isAnimating:w||_<1,isEntrance:I}),h.createElement(ik,{label:n.label}))})}function sM(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=h.useRef(null),a=h.useRef();return h.createElement(cM,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:a})}class fM extends h.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,a=t.className,o=t.top,u=t.left,l=t.needClip,c=t.xAxisId,s=t.yAxisId,f=t.width,d=t.height,v=t.id,p=t.baseLine,m=t.zIndex;if(r)return null;var y=ee("recharts-area",a),g=v,w=NT(n),x=w.r,A=w.strokeWidth,O=cy(n),b=x*2+A,S=l?"url(#clipPath-".concat(O?"":"dots-").concat(g,")"):void 0;return h.createElement(Rt,{zIndex:m},h.createElement(qe,{className:y},l&&h.createElement("defs",null,h.createElement($T,{clipPathId:g,xAxisId:c,yAxisId:s}),!O&&h.createElement("clipPath",{id:"clipPath-dots-".concat(g)},h.createElement("rect",{x:u-b/2,y:o-b/2,width:f+b,height:d+b}))),h.createElement(sM,{needClip:l,clipPathId:g,props:this.props})),h.createElement(gd,{points:i,mainColor:ea(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:S}),this.props.isRange&&Array.isArray(p)&&h.createElement(gd,{points:p,mainColor:ea(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:S}))}}function dM(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,a=e.animationEasing,o=e.connectNulls,u=e.dot,l=e.fill,c=e.fillOpacity,s=e.hide,f=e.isAnimationActive,d=e.legendType,v=e.stroke,p=e.xAxisId,m=e.yAxisId,y=jy(e,ZT),g=Wr(),w=Bm(),x=Py(p,m),A=x.needClip,O=$e(),b=(t=N(G=>WT(G,e.id,O)))!==null&&t!==void 0?t:{},S=b.points,_=b.isRange,I=b.baseLine,C=Wl();if(g!=="horizontal"&&g!=="vertical"||C==null||w!=="AreaChart"&&w!=="ComposedChart")return null;var j=C.height,E=C.width,R=C.x,$=C.y;return!S||!S.length?null:h.createElement(fM,Ji({},y,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:a,baseLine:I,connectNulls:o,dot:u,fill:l,fillOpacity:c,height:j,hide:s,layout:g,isAnimationActive:f,isRange:_,legendType:d,needClip:A,points:S,stroke:v,width:E,left:R,top:$,xAxisId:p,yAxisId:m}))}var vM=(e,t,r,n,i)=>{var a=r??t;if(D(a))return a;var o=e==="horizontal"?i:n,u=o.scale.domain();if(o.type==="number"){var l=Math.max(u[0],u[1]),c=Math.min(u[0],u[1]);return a==="dataMin"?c:a==="dataMax"||l<0?l:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function hM(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,u=e.chartBaseValue,l=e.xAxis,c=e.yAxis,s=e.displayedData,f=e.dataStartIndex,d=e.xAxisTicks,v=e.yAxisTicks,p=e.bandSize,m=a&&a.length,y=vM(o,u,n,l,c),g=o==="horizontal",w=!1,x=s.map((O,b)=>{var S,_,I,C;if(m)C=a[f+b];else{var j=he(O,i);Array.isArray(j)?(C=j,w=!0):C=[y,j]}var E=(S=(_=C)===null||_===void 0?void 0:_[1])!==null&&S!==void 0?S:null,R=E==null||m&&!r&&he(O,i)==null;if(g){var $;return{x:Dc({axis:l,ticks:d,bandSize:p,entry:O,index:b}),y:R?null:($=c.scale.map(E))!==null&&$!==void 0?$:null,value:C,payload:O}}return{x:R?null:(I=l.scale.map(E))!==null&&I!==void 0?I:null,y:Dc({axis:c,ticks:v,bandSize:p,entry:O,index:b}),value:C,payload:O}}),A;return m||w?A=x.map(O=>{var b,S=Array.isArray(O.value)?O.value[0]:null;if(g){var _;return{x:O.x,y:S!=null&&O.y!=null&&(_=c.scale.map(S))!==null&&_!==void 0?_:null,payload:O.payload}}return{x:S!=null&&(b=l.scale.map(S))!==null&&b!==void 0?b:null,y:O.y,payload:O.payload}}):A=g?c.scale.map(y):l.scale.map(y),{points:x,baseLine:A??0,isRange:w}}function pM(e){var t=Ze(e,Ty),r=$e();return h.createElement(Uk,{id:t.id,type:"area"},n=>h.createElement(h.Fragment,null,h.createElement(yk,{legendPayload:nM(t)}),h.createElement(iM,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),h.createElement(Xk,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:bw(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),h.createElement(dM,Ji({},t,{id:n}))))}var My=h.memo(pM,Ea);My.displayName="Area";var mM=["domain","range"],yM=["domain","range"];function Id(e,t){if(e==null)return{};var r,n,i=gM(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{if(o!=null)return jd(jd({},a),{},{type:o})},[a,o]);return h.useLayoutEffect(()=>{u!=null&&(r.current===null?t(sj(u)):r.current!==u&&t(fj({prev:r.current,next:u})),r.current=u)},[u,t]),h.useLayoutEffect(()=>()=>{r.current&&(t(dj(r.current)),r.current=null)},[t]),null}var _M=e=>{var t=e.xAxisId,r=e.className,n=N(lh),i=$e(),a="xAxis",o=N(d=>pm(d,a,t,i)),u=N(d=>uE(d,t)),l=N(d=>vE(d,t)),c=N(d=>Tp(d,t));if(u==null||l==null||c==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var s=vu(e,wM);c.id,c.scale;var f=vu(c,xM);return h.createElement(Kl,du({},s,f,{x:l.x,y:l.y,width:u.width,height:u.height,className:ee("recharts-".concat(a," ").concat(a),r),viewBox:n,ticks:o,axisType:a,axisId:t}))},IM={allowDataOverflow:ce.allowDataOverflow,allowDecimals:ce.allowDecimals,allowDuplicatedCategory:ce.allowDuplicatedCategory,angle:ce.angle,axisLine:_t.axisLine,height:ce.height,hide:!1,includeHidden:ce.includeHidden,interval:ce.interval,label:!1,minTickGap:ce.minTickGap,mirror:ce.mirror,orientation:ce.orientation,padding:ce.padding,reversed:ce.reversed,scale:ce.scale,tick:ce.tick,tickCount:ce.tickCount,tickLine:_t.tickLine,tickSize:_t.tickSize,type:ce.type,niceTicks:ce.niceTicks,xAxisId:0},CM=e=>{var t=Ze(e,IM);return h.createElement(h.Fragment,null,h.createElement(EM,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),h.createElement(_M,t))},hu=h.memo(CM,Dy);hu.displayName="XAxis";var kM=["type"],jM=["dangerouslySetInnerHTML","ticks","scale"],TM=["id","scale"];function pu(){return pu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return Md(Md({},a),{},{type:o})},[o,a]);return h.useLayoutEffect(()=>{u!=null&&(r.current===null?t(vj(u)):r.current!==u&&t(hj({prev:r.current,next:u})),r.current=u)},[u,t]),h.useLayoutEffect(()=>()=>{r.current&&(t(pj(r.current)),r.current=null)},[t]),null}function RM(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,a=h.useRef(null),o=h.useRef(null),u=N(lh),l=$e(),c=le(),s="yAxis",f=N(g=>mE(g,t)),d=N(g=>pE(g,t)),v=N(g=>pm(g,s,t,l)),p=N(g=>Mp(g,t));if(h.useLayoutEffect(()=>{if(!(n!=="auto"||!f||zl(i)||h.isValidElement(i)||p==null)){var g=a.current;if(g){var w=g.getCalculatedWidth();Math.round(f.width)!==Math.round(w)&&c(mj({id:t,width:w}))}}},[v,f,c,i,t,n,p]),f==null||d==null||p==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var m=mu(e,jM);p.id,p.scale;var y=mu(p,TM);return h.createElement(Kl,pu({},m,y,{ref:a,labelRef:o,x:d.x,y:d.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:f.width,height:f.height,className:ee("recharts-".concat(s," ").concat(s),r),viewBox:u,ticks:v,axisType:s,axisId:t}))}var zM={allowDataOverflow:se.allowDataOverflow,allowDecimals:se.allowDecimals,allowDuplicatedCategory:se.allowDuplicatedCategory,angle:se.angle,axisLine:_t.axisLine,hide:!1,includeHidden:se.includeHidden,interval:se.interval,label:!1,minTickGap:se.minTickGap,mirror:se.mirror,orientation:se.orientation,padding:se.padding,reversed:se.reversed,scale:se.scale,tick:se.tick,tickCount:se.tickCount,tickLine:_t.tickLine,tickSize:_t.tickSize,type:se.type,niceTicks:se.niceTicks,width:se.width,yAxisId:0},BM=e=>{var t=Ze(e,zM);return h.createElement(h.Fragment,null,h.createElement(LM,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),h.createElement(RM,t))},$y=h.memo(BM,Dy);$y.displayName="YAxis";var FM=(e,t)=>t,Gl=P([FM,re,Xh,me,Dm,Lt,R_,Pe],H_);function WM(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function ql(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(WM(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;r=a.offsetWidth>0?t.width/a.offsetWidth:1,n=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(u,l)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((l-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>o(u.clientX,u.clientY)):o(e.clientX,e.clientY)}var Ny=We("mouseClick"),Ly=jn();Ly.startListening({actionCreator:Ny,effect:(e,t)=>{var r=e.payload,n=Gl(t.getState(),ql(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(jE({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var yu=We("mouseMove"),Ry=jn(),Er=null,Zt=null,Oo=null;Ry.startListening({actionCreator:yu,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,a=i.throttleDelay,o=i.throttledEvents,u=o==="all"||(o==null?void 0:o.includes("mousemove"));Er!==null&&(cancelAnimationFrame(Er),Er=null),Zt!==null&&(typeof a!="number"||!u)&&(clearTimeout(Zt),Zt=null),Oo=ql(r);var l=()=>{var c=t.getState(),s=Un(c,c.tooltip.settings.shared);if(!Oo){Er=null,Zt=null;return}if(s==="axis"){var f=Gl(c,Oo);(f==null?void 0:f.activeIndex)!=null?t.dispatch(Pm({activeIndex:f.activeIndex,activeDataKey:void 0,activeCoordinate:f.activeCoordinate})):t.dispatch(Om())}Er=null,Zt=null};if(!u){l();return}a==="raf"?Er=requestAnimationFrame(l):typeof a=="number"&&Zt===null&&(Zt=setTimeout(l,a))}});function UM(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var Dd={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},zy=Ce({name:"rootProps",initialState:Dd,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:Dd.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),KM=zy.reducer,HM=zy.actions.updateOptions,YM=null,VM={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},By=Ce({name:"polarOptions",initialState:YM,reducers:VM});By.actions.updatePolarOptions;var GM=By.reducer,Fy=We("keyDown"),Wy=We("focus"),Uy=We("blur"),Ya=jn(),_r=null,Qt=null,ii=null;Ya.startListening({actionCreator:Fy,effect:(e,t)=>{ii=e.payload,_r!==null&&(cancelAnimationFrame(_r),_r=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,a=n.throttledEvents,o=a==="all"||a.includes("keydown");Qt!==null&&(typeof i!="number"||!o)&&(clearTimeout(Qt),Qt=null);var u=()=>{try{var l=t.getState(),c=l.rootProps.accessibilityLayer!==!1;if(!c)return;var s=l.tooltip.keyboardInteraction,f=ii;if(f!=="ArrowRight"&&f!=="ArrowLeft"&&f!=="Enter")return;var d=hn(s,pr(l),Rr(l),zr(l)),v=d==null?-1:Number(d),p=!Number.isFinite(v)||v<0,m=Lt(l),y=pr(l),g=Un(l,l.tooltip.settings.shared);if(f==="Enter"){if(p)return;var w=Gi(l,g,"hover",String(s.index));t.dispatch(Vi({active:!s.active,activeIndex:s.index,activeCoordinate:w}));return}var x=xE(l),A=x==="left-to-right"?1:-1,O=f==="ArrowRight"?1:-1,b;if(p){var S=Rr(l),_=zr(l),I=O*A,C=G=>({active:!1,index:String(G),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(b=-1,I>0){for(var j=0;j=0;E--)if(hn(C(E),y,S,_)!=null){b=E;break}if(b<0)return}else{b=v+O*A;var R=(m==null?void 0:m.length)||y.length;if(R===0||b>=R||b<0)return}var $=Gi(l,g,"hover",String(b));t.dispatch(Vi({active:!0,activeIndex:b.toString(),activeCoordinate:$}))}finally{_r=null,Qt=null}};if(!o){u();return}i==="raf"?_r=requestAnimationFrame(u):typeof i=="number"&&Qt===null&&(u(),ii=null,Qt=setTimeout(()=>{ii?u():(Qt=null,_r=null)},i))}});Ya.startListening({actionCreator:Wy,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var a="0",o=Un(r,r.tooltip.settings.shared),u=Gi(r,o,"hover",String(a));t.dispatch(Vi({active:!0,activeIndex:a,activeCoordinate:u}))}}}});Ya.startListening({actionCreator:Uy,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(Vi({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function Ky(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Ke=We("externalEvent"),Hy=jn(),ai=new Map,cn=new Map,Po=new Map;Hy.startListening({actionCreator:Ke,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var a=i.type,o=Ky(i);Po.set(a,{handler:n,reactEvent:o});var u=ai.get(a);u!==void 0&&(cancelAnimationFrame(u),ai.delete(a));var l=t.getState(),c=l.eventSettings,s=c.throttleDelay,f=c.throttledEvents,d=f,v=d==="all"||(d==null?void 0:d.includes(a)),p=cn.get(a);p!==void 0&&(typeof s!="number"||!v)&&(clearTimeout(p),cn.delete(a));var m=()=>{var w=Po.get(a);try{if(!w)return;var x=w.handler,A=w.reactEvent,O=t.getState(),b={activeCoordinate:O_(O),activeDataKey:w_(O),activeIndex:_n(O),activeLabel:Lm(O),activeTooltipIndex:_n(O),isTooltipActive:P_(O)};x&&x(b,A)}finally{ai.delete(a),cn.delete(a),Po.delete(a)}};if(!v){m();return}if(s==="raf"){var y=requestAnimationFrame(m);ai.set(a,y)}else if(typeof s=="number"){if(!cn.has(a)){m();var g=setTimeout(m,s);cn.set(a,g)}}else m()}}});var qM=P([Xr],e=>e.tooltipItemPayloads),XM=P([qM,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(a=>a.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),Yy=We("touchMove"),Vy=jn(),Jt=null,zt=null,$d=null,sn=null;Vy.startListening({actionCreator:Yy,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){sn=Ky(r);var n=t.getState(),i=n.eventSettings,a=i.throttleDelay,o=i.throttledEvents,u=o==="all"||o.includes("touchmove");Jt!==null&&(cancelAnimationFrame(Jt),Jt=null),zt!==null&&(typeof a!="number"||!u)&&(clearTimeout(zt),zt=null),$d=Array.from(r.touches).map(c=>ql({clientX:c.clientX,clientY:c.clientY,currentTarget:r.currentTarget}));var l=()=>{if(sn!=null){var c=t.getState(),s=Un(c,c.tooltip.settings.shared);if(s==="axis"){var f,d=(f=$d)===null||f===void 0?void 0:f[0];if(d==null){Jt=null,zt=null;return}var v=Gl(c,d);(v==null?void 0:v.activeIndex)!=null&&t.dispatch(Pm({activeIndex:v.activeIndex,activeDataKey:void 0,activeCoordinate:v.activeCoordinate}))}else if(s==="item"){var p,m=sn.touches[0];if(document.elementFromPoint==null||m==null)return;var y=document.elementFromPoint(m.clientX,m.clientY);if(!y||!y.getAttribute)return;var g=y.getAttribute(Ew),w=(p=y.getAttribute(_w))!==null&&p!==void 0?p:void 0,x=wr(c).find(b=>b.id===w);if(g==null||x==null||w==null)return;var A=x.dataKey,O=XM(c,g,w);t.dispatch(kE({activeDataKey:A,activeIndex:g,activeCoordinate:O,activeGraphicalItemId:w}))}Jt=null,zt=null}};if(!u){l();return}a==="raf"?Jt=requestAnimationFrame(l):typeof a=="number"&&zt===null&&(l(),sn=null,zt=setTimeout(()=>{sn?l():(zt=null,Jt=null)},a))}}});var Gy={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},qy=Ce({name:"eventSettings",initialState:Gy,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),ZM=qy.actions.setEventSettings,QM=qy.reducer,JM=Cv({brush:Ej,cartesianAxis:yj,chartData:AI,errorBars:DT,eventSettings:QM,graphicalItems:Gk,layout:sw,legend:Px,options:yI,polarAxis:ok,polarOptions:GM,referenceElements:kj,renderedTicks:Qj,rootProps:KM,tooltip:TE,zIndex:iI}),eD=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $b({reducer:JM,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([Ly.middleware,Ry.middleware,Ya.middleware,Hy.middleware,Vy.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(Kv({type:"raf"}))},devTools:{serialize:{replacer:UM},name:"recharts-".concat(r)}})};function tD(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=$e(),a=h.useRef(null);if(i)return r;a.current==null&&(a.current=eD(t,n));var o=_u;return h.createElement(Bx,{context:o,store:a.current},r)}function rD(e){var t=e.layout,r=e.margin,n=le(),i=$e();return h.useEffect(()=>{i||(n(uw(t)),n(ow(r)))},[n,i,t,r]),null}var nD=h.memo(rD,Ea);function iD(e){var t=le();return h.useEffect(()=>{t(HM(e))},[t,e]),null}var aD=e=>{var t=le();return h.useEffect(()=>{t(ZM(e))},[t,e]),null},oD=h.memo(aD,Ea);function Nd(e){var t=e.zIndex,r=e.isPanorama,n=h.useRef(null),i=le();return h.useLayoutEffect(()=>(n.current&&i(rI({zIndex:t,element:n.current,isPanorama:r})),()=>{i(nI({zIndex:t,isPanorama:r}))}),[i,t,r]),h.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function Ld(e){var t=e.children,r=e.isPanorama,n=N(V_);if(!n||n.length===0)return t;var i=n.filter(o=>o<0),a=n.filter(o=>o>0);return h.createElement(h.Fragment,null,i.map(o=>h.createElement(Nd,{key:o,zIndex:o,isPanorama:r})),t,a.map(o=>h.createElement(Nd,{key:o,zIndex:o,isPanorama:r})))}var uD=["children"];function lD(e,t){if(e==null)return{};var r,n,i=cD(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=vh(),n=hh(),i=Ph();if(!mt(r)||!mt(n))return null;var a=e.children,o=e.otherAttributes,u=e.title,l=e.desc,c,s;return o!=null&&(typeof o.tabIndex=="number"?c=o.tabIndex:c=i?0:void 0,typeof o.role=="string"?s=o.role:s=i?"application":void 0),h.createElement(Vd,ta({},o,{title:u,desc:l,role:s,tabIndex:c,width:r,height:n,style:sD,ref:t}),a)}),dD=e=>{var t=e.children,r=N(xa);if(!r)return null;var n=r.width,i=r.height,a=r.y,o=r.x;return h.createElement(Vd,{width:n,height:i,x:o,y:a},t)},Rd=h.forwardRef((e,t)=>{var r=e.children,n=lD(e,uD),i=$e();return i?h.createElement(dD,null,h.createElement(Ld,{isPanorama:!0},r)):h.createElement(fD,ta({ref:t},n),h.createElement(Ld,{isPanorama:!1},r))});function vD(e,t){return yD(e)||mD(e,t)||pD(e,t)||hD()}function hD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pD(e,t){if(e){if(typeof e=="string")return zd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zd(e,t):void 0}}function zd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var o=n.getBoundingClientRect(),u=o.width/n.offsetWidth;U(u)&&u!==a&&e(cw(u))}},[n,e,a]),i}function Bd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bD(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(jI(),null);function na(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ID=h.forwardRef((e,t)=>{var r,n,i=h.useRef(null),a=h.useState({containerWidth:na((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:na((n=e.style)===null||n===void 0?void 0:n.height)}),o=ra(a,2),u=o[0],l=o[1],c=h.useCallback((f,d)=>{l(v=>{var p=Math.round(f),m=Math.round(d);return v.containerWidth===p&&v.containerHeight===m?v:{containerWidth:p,containerHeight:m}})},[]),s=h.useCallback(f=>{if(typeof t=="function"&&t(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var d=f.getBoundingClientRect(),v=d.width,p=d.height;c(v,p);var m=g=>{var w=g[0];if(w!=null){var x=w.contentRect,A=x.width,O=x.height;c(A,O)}},y=new ResizeObserver(m);y.observe(f),i.current=y}},[t,c]);return h.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[c]),h.createElement(h.Fragment,null,h.createElement(Mn,{width:u.containerWidth,height:u.containerHeight}),h.createElement("div",Ht({ref:s},e)))}),CD=h.forwardRef((e,t)=>{var r=e.width,n=e.height,i=h.useState({containerWidth:na(r),containerHeight:na(n)}),a=ra(i,2),o=a[0],u=a[1],l=h.useCallback((s,f)=>{u(d=>{var v=Math.round(s),p=Math.round(f);return d.containerWidth===v&&d.containerHeight===p?d:{containerWidth:v,containerHeight:p}})},[]),c=h.useCallback(s=>{if(typeof t=="function"&&t(s),s!=null){var f=s.getBoundingClientRect(),d=f.width,v=f.height;l(d,v)}},[t,l]);return h.createElement(h.Fragment,null,h.createElement(Mn,{width:o.containerWidth,height:o.containerHeight}),h.createElement("div",Ht({ref:c},e)))}),kD=h.forwardRef((e,t)=>{var r=e.width,n=e.height;return h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement("div",Ht({ref:t},e)))}),jD=h.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?h.createElement(CD,Ht({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?h.createElement(kD,Ht({},e,{width:r,height:n,ref:t})):h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement("div",Ht({ref:t},e)))});function TD(e){return e?ID:jD}var MD=h.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,u=e.onDoubleClick,l=e.onMouseDown,c=e.onMouseEnter,s=e.onMouseLeave,f=e.onMouseMove,d=e.onMouseUp,v=e.onTouchEnd,p=e.onTouchMove,m=e.onTouchStart,y=e.style,g=e.width,w=e.responsive,x=e.dispatchTouchEvents,A=x===void 0?!0:x,O=h.useRef(null),b=le(),S=h.useState(null),_=ra(S,2),I=_[0],C=_[1],j=h.useState(null),E=ra(j,2),R=E[0],$=E[1],G=gD(),H=Du(),Y=(H==null?void 0:H.width)>0?H.width:g,B=(H==null?void 0:H.height)>0?H.height:i,q=h.useCallback(L=>{G(L),typeof t=="function"&&t(L),C(L),$(L),L!=null&&(O.current=L)},[G,t,C,$]),W=h.useCallback(L=>{b(Ny(L)),b(Ke({handler:a,reactEvent:L}))},[b,a]),Se=h.useCallback(L=>{b(yu(L)),b(Ke({handler:c,reactEvent:L}))},[b,c]),ge=h.useCallback(L=>{b(Om()),b(Ke({handler:s,reactEvent:L}))},[b,s]),ae=h.useCallback(L=>{b(yu(L)),b(Ke({handler:f,reactEvent:L}))},[b,f]),Ne=h.useCallback(()=>{b(Wy())},[b]),Le=h.useCallback(()=>{b(Uy())},[b]),Je=h.useCallback(L=>{b(Fy(L.key))},[b]),et=h.useCallback(L=>{b(Ke({handler:o,reactEvent:L}))},[b,o]),Jr=h.useCallback(L=>{b(Ke({handler:u,reactEvent:L}))},[b,u]),T=h.useCallback(L=>{b(Ke({handler:l,reactEvent:L}))},[b,l]),F=h.useCallback(L=>{b(Ke({handler:d,reactEvent:L}))},[b,d]),z=h.useCallback(L=>{b(Ke({handler:m,reactEvent:L}))},[b,m]),k=h.useCallback(L=>{A&&b(Yy(L)),b(Ke({handler:p,reactEvent:L}))},[b,A,p]),Ee=h.useCallback(L=>{b(Ke({handler:v,reactEvent:L}))},[b,v]),X=TD(w);return h.createElement(Hm.Provider,{value:I},h.createElement(hg.Provider,{value:R},h.createElement(X,{width:Y??(y==null?void 0:y.width),height:B??(y==null?void 0:y.height),className:ee("recharts-wrapper",n),style:bD({position:"relative",cursor:"default",width:Y,height:B},y),onClick:W,onContextMenu:et,onDoubleClick:Jr,onFocus:Ne,onBlur:Le,onKeyDown:Je,onMouseDown:T,onMouseEnter:Se,onMouseLeave:ge,onMouseMove:ae,onMouseUp:F,onTouchEnd:Ee,onTouchMove:k,onTouchStart:z,ref:q},h.createElement(_D,null),r)))}),DD=["width","height","responsive","children","className","style","compact","title","desc"];function $D(e,t){if(e==null)return{};var r,n,i=ND(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,a=e.children,o=e.className,u=e.style,l=e.compact,c=e.title,s=e.desc,f=$D(e,DD),d=it(f);return l?h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement(Rd,{otherAttributes:d,title:c,desc:s},a)):h.createElement(MD,{className:o,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},h.createElement(Rd,{otherAttributes:d,title:c,desc:s,ref:t},h.createElement(Lj,null,a)))});function gu(){return gu=Object.assign?Object.assign.bind():function(e){for(var t=1;th.createElement(KD,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:HD,tooltipPayloadSearcher:pI,categoricalChartProps:e,ref:t}));const VD="rgba(130,130,150,0.14)",So="rgba(130,130,150,0.85)";function GD(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function Xy(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function qD({active:e,payload:t,unit:r,label:n}){return!e||!(t!=null&&t.length)?null:oe.jsxs("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:[Number.isFinite(n)&&oe.jsx("div",{className:"mb-1 border-b border-border/40 pb-1 font-mono text-[10px] text-muted-foreground/80",children:new Date(n).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),oe.jsx("div",{className:"space-y-1",children:t.map(i=>oe.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[oe.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),oe.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:i.name}),oe.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:Xy(i.value,r)})]},i.dataKey))})]})}function e$({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176,showTime:a=!1}){var s,f;const o=e.reduce((d,v)=>t.reduce((p,m)=>Math.max(p,Number(v[m.key])||0),d),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(GD(o*1.15),10),l=e.length>1?Number((s=e[e.length-1])==null?void 0:s.t)-Number((f=e[0])==null?void 0:f.t):0,c=d=>new Date(d).toLocaleTimeString("de-DE",l<=10*6e4?{hour:"2-digit",minute:"2-digit",second:"2-digit"}:{hour:"2-digit",minute:"2-digit"});return oe.jsx("div",{style:{height:i},className:"w-full",children:oe.jsx(ox,{width:"100%",height:"100%",children:oe.jsxs(YD,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[oe.jsx("defs",{children:t.map(d=>oe.jsxs("linearGradient",{id:`grad-${d.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[oe.jsx("stop",{offset:"0%",stopColor:d.color,stopOpacity:.22}),oe.jsx("stop",{offset:"100%",stopColor:d.color,stopOpacity:0})]},d.key))}),oe.jsx(Ay,{vertical:!1,stroke:VD}),a?oe.jsx(hu,{dataKey:"t",type:"number",domain:["dataMin","dataMax"],tickFormatter:c,tickCount:5,minTickGap:40,interval:"preserveStartEnd",axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:So},height:18}):oe.jsx(hu,{dataKey:"t",hide:!0}),oe.jsx($y,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:d=>Xy(d,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:So}}),oe.jsx(KI,{content:oe.jsx(qD,{unit:r}),cursor:{stroke:So,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(d=>oe.jsx(My,{type:"monotone",dataKey:d.key,name:d.label,stroke:d.color,strokeWidth:2,fill:`url(#grad-${d.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},d.key))]})})})}export{e$ as default}; + `).concat(A.x,",").concat(A.y),b=Oe(e.id)?yn("recharts-radial-line-"):e.id;return h.createElement("text",At({},n,{dominantBaseline:"central",className:ee("recharts-radial-bar-label",o)}),h.createElement("defs",null,h.createElement("path",{id:b,d:O})),h.createElement("textPath",{xlinkHref:"#".concat(b)},r))},DC=(e,t,r)=>{var n=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,u=e.startAngle,l=e.endAngle,c=(u+l)/2;if(r==="outside"){var s=Ae(n,i,o+t,c),f=s.x,d=s.y;return{x:f,y:d,textAnchor:f>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:i,textAnchor:"middle",verticalAnchor:"end"};var v=(a+o)/2,p=Ae(n,i,v,c),m=p.x,y=p.y;return{x:m,y,textAnchor:"middle",verticalAnchor:"middle"}},fi=e=>e!=null&&"cx"in e&&D(e.cx),$C={angle:0,offset:5,zIndex:ke.label,position:"middle",textBreakAll:!1};function NC(e){if(!fi(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,i=n*2;return{x:t-n,y:r-n,width:i,upperWidth:i,lowerWidth:i,height:i}}function Ft(e){var t=Ze(e,$C),r=t.viewBox,n=t.parentViewBox,i=t.position,a=t.value,o=t.children,u=t.content,l=t.className,c=l===void 0?"":l,s=t.textBreakAll,f=t.labelRef,d=kC(),v=qm(),p=i==="center"?v:d??v,m,y,g;r==null?m=p:fi(r)?m=r:m=ku(r);var w=NC(m);if(!m||Oe(a)&&Oe(o)&&!h.isValidElement(u)&&typeof u!="function")return null;var x=vn(vn({},t),{},{viewBox:m});if(h.isValidElement(u)){x.labelRef;var A=Zf(x,AC);return h.cloneElement(u,A)}if(typeof u=="function"){x.content;var O=Zf(x,OC);if(y=h.createElement(u,O),h.isValidElement(y))return y}else y=jC(t);var b=Ve(t);if(fi(m)){if(i==="insideStart"||i==="insideEnd"||i==="end")return MC(t,i,y,b,m);g=DC(m,t.offset,t.position)}else{if(!w)return null;var S=xC({viewBox:w,position:i,offset:t.offset,parentViewBox:fi(n)?void 0:n});g=vn(vn({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width!==void 0?{width:S.width}:{}),S.height!==void 0?{height:S.height}:{})}return h.createElement(Rt,{zIndex:t.zIndex},h.createElement(Ml,At({ref:f,className:ee("recharts-label",c)},b,g,{textAnchor:Km(b.textAnchor)?b.textAnchor:g.textAnchor,breakAll:s}),y))}Ft.displayName="Label";var LC=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?h.createElement(Ft,At({key:"label-implicit"},n)):pt(e)?h.createElement(Ft,At({key:"label-implicit",value:e},n)):h.isValidElement(e)?e.type===Ft?h.cloneElement(e,vn({key:"label-implicit"},n)):h.createElement(Ft,At({key:"label-implicit",content:e},n)):Dl(e)?h.createElement(Ft,At({key:"label-implicit",content:e},n)):e&&typeof e=="object"?h.createElement(Ft,At({},e,{key:"label-implicit"},n)):null};function RC(e){var t=e.label,r=e.labelRef,n=qm();return LC(t,n,r)||null}var zC=["valueAccessor"],BC=["dataKey","clockWise","id","textBreakAll","zIndex"];function Xi(){return Xi=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(vC(t))return t},Xm=h.createContext(void 0),UC=Xm.Provider,Zm=h.createContext(void 0);Zm.Provider;function KC(){return h.useContext(Xm)}function HC(){return h.useContext(Zm)}function di(e){var t=e.valueAccessor,r=t===void 0?WC:t,n=Jf(e,zC),i=n.dataKey;n.clockWise;var a=n.id,o=n.textBreakAll,u=n.zIndex,l=Jf(n,BC),c=KC(),s=HC(),f=c||s;return!f||!f.length?null:h.createElement(Rt,{zIndex:u??ke.label},h.createElement(qe,{className:"recharts-label-list"},f.map((d,v)=>{var p,m=Oe(i)?r(d,v):he(d.payload,i),y=Oe(a)?{}:{id:"".concat(a,"-").concat(v)};return h.createElement(Ft,Xi({key:"label-".concat(v)},Ve(d),l,y,{fill:(p=n.fill)!==null&&p!==void 0?p:d.fill,parentViewBox:d.parentViewBox,value:m,textBreakAll:o,viewBox:d.viewBox,index:v,zIndex:0}))})))}di.displayName="LabelList";function YC(e){var t=e.label;return t?t===!0?h.createElement(di,{key:"labelList-implicit"}):h.isValidElement(t)||Dl(t)?h.createElement(di,{key:"labelList-implicit",content:t}):typeof t=="object"?h.createElement(di,Xi({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function ou(){return ou=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,i=e.className,a=ee("recharts-dot",i);return D(t)&&D(r)&&D(n)?h.createElement("circle",ou({},it(e),wu(e),{className:a,cx:t,cy:r,r:n})):null},GC={radiusAxis:{},angleAxis:{}},Jm=Ce({name:"polarAxis",initialState:GC,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Ha=Jm.actions;Ha.addRadiusAxis;Ha.removeRadiusAxis;Ha.addAngleAxis;Ha.removeAngleAxis;var VC=Jm.reducer;function qC(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var ey=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function ed(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function td(e){for(var t=1;t{n||(i.current===null?r(hE(t)):i.current!==t&&r(pE({prev:i.current,next:t})),i.current=t)},[t,r,n]),h.useLayoutEffect(()=>()=>{i.current&&(r(mE(i.current)),i.current=null)},[r]),null}function ak(e){var t=e.legendPayload,r=le(),n=$e(),i=h.useRef(null);return h.useLayoutEffect(()=>{n||(i.current===null?r(cx(t)):i.current!==t&&r(sx({prev:i.current,next:t})),i.current=t)},[r,n,t]),h.useLayoutEffect(()=>()=>{i.current&&(r(fx(i.current)),i.current=null)},[r]),null}function ok(e,t){return sk(e)||ck(e,t)||lk(e,t)||uk()}function uk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lk(e,t){if(e){if(typeof e=="string")return rd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rd(e,t):void 0}}function rd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var i of r)n.push({status:"removed",prev:i});for(var a=0;ae[Math.floor(a*r)]);return Nl(n,t)}function vk(e,t){var r=t.map((n,i)=>e[i]);return Nl(r,t)}function hk(e,t){for(var r=new Map,n=0;n{var v=r(f,d);if(v!=null){var p=n.get(v);if(p!==void 0)return i.add(v),p}}),o=[];for(var u of n){var l=ok(u,2),c=l[0],s=l[1];i.has(c)||o.push(s)}return Nl(a,t,o)}function uu(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===$l?dk(e,t):r===fk?vk(e,t):pk(e,t,r)}function ry(e,t){var r=h.useRef(e),n=h.useRef(t.current),i=h.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,i.current=!1);var a=h.useCallback(function(o,u){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(u===0){i.current=!0;return}u===1&&(n.current=o),u>0&&i.current&&l&&(t.current=o)},[t]);return{startValue:n.current,syncStepValue:a}}function mk(e,t){return wk(e)||bk(e,t)||gk(e,t)||yk()}function yk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gk(e,t){if(e){if(typeof e=="string")return nd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nd(e,t):void 0}}function nd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),a(!0)},[e]),u=h.useCallback(()=>{typeof t=="function"&&t(),a(!1)},[t]);return{isAnimating:i,handleAnimationStart:o,handleAnimationEnd:u}}function Ak(e){var t,r=e.animationInput,n=e.animationIdPrefix,i=e.items,a=e.previousItemsRef,o=e.isAnimationActive,u=e.animationBegin,l=e.animationDuration,c=e.animationEasing,s=e.onAnimationStart,f=e.onAnimationEnd,d=e.animationInterpolateFn,v=e.animationMatchBy,p=e.shouldUpdatePreviousRef,m=e.children,y=e.layout,g=wh(r,n),w=ry(g,a),x=(t=w.startValue)!==null&&t!==void 0?t:null,A=uu(x,i,v??$l);return h.createElement(bh,{animationId:g,begin:u,duration:l,isActive:o,easing:c,onAnimationEnd:f,onAnimationStart:s,key:g},O=>{var b=x==null,S=i==null?i:d(A,O,y),_=p?p(O):O>0;return w.syncStepValue(S,O,_),S==null?null:m(S,O,b)})}var mo;function Ok(e,t){return _k(e)||Ek(e,t)||Sk(e,t)||Pk()}function Pk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sk(e,t){if(e){if(typeof e=="string")return id(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?id(e,t):void 0}}function id(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=h.useState(()=>yn("uid-")),t=Ok(e,1),r=t[0];return r},ny=(mo=Gy.useId)!==null&&mo!==void 0?mo:Ik;function Ck(e,t){var r=ny();return t||(e?"".concat(e,"-").concat(r):r)}var kk=h.createContext(void 0),jk=e=>{var t=e.id,r=e.type,n=e.children,i=Ck("recharts-".concat(r),t);return h.createElement(kk.Provider,{value:i},n(i))},Tk={cartesianItems:[],polarItems:[]},iy=Ce({name:"graphicalItems",initialState:Tk,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:Q()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).cartesianItems.indexOf(n);a>-1&&(e.cartesianItems[a]=i)},prepare:Q()},removeCartesianGraphicalItem:{reducer(e,t){var r=Ye(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:Q()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:Q()},removePolarGraphicalItem:{reducer(e,t){var r=Ye(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:Q()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,i=r.next,a=Ye(e).polarItems.indexOf(n);a>-1&&(e.polarItems[a]=i)},prepare:Q()}}}),Zr=iy.actions,Mk=Zr.addCartesianGraphicalItem,Dk=Zr.replaceCartesianGraphicalItem,$k=Zr.removeCartesianGraphicalItem;Zr.addPolarGraphicalItem;Zr.removePolarGraphicalItem;Zr.replacePolarGraphicalItem;var Nk=iy.reducer,Lk=e=>{var t=le(),r=h.useRef(null);return h.useLayoutEffect(()=>{r.current===null?t(Mk(e)):r.current!==e&&t(Dk({prev:r.current,next:e})),r.current=e},[t,e]),h.useLayoutEffect(()=>()=>{r.current&&(t($k(r.current)),r.current=null)},[t]),null},Rk=h.memo(Lk),zk=["points"];function ad(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function yo(e){for(var t=1;t{var g,w,x=yo(yo(yo({r:3},o),d),{},{index:y,cx:(g=m.x)!==null&&g!==void 0?g:void 0,cy:(w=m.y)!==null&&w!==void 0?w:void 0,dataKey:a,value:m.value,payload:m.payload,points:t});return h.createElement(Hk,{key:"dot-".concat(y),option:r,dotProps:x,className:i})}),p={};return u&&l!=null&&(p.clipPath="url(#clipPath-".concat(f?"":"dots-").concat(l,")")),h.createElement(Rt,{zIndex:s},h.createElement(qe,Zi({className:n},p),v))}function od(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ud(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),uj=P([oj,Mt,Dt],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),Ll=()=>N(uj),lj=()=>N(h_);function ld(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function go(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var u={index:r,dataKey:a,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},l=go(go(go({},u),ia(i)),wu(i)),c;return h.isValidElement(i)?c=h.cloneElement(i,l):typeof i=="function"?c=i(l):c=h.createElement(Qm,l),h.createElement(qe,{className:"recharts-active-dot",clipPath:o},c)};function cd(e){var t=e.points,r=e.mainColor,n=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,u=o===void 0?ke.activeDot:o,l=N(_n),c=lj();if(t==null||c==null)return null;var s=t.find(f=>c.includes(f.payload));return Oe(s)?null:h.createElement(Rt,{zIndex:u},h.createElement(dj,{point:s,childIndex:Number(l),mainColor:r,dataKey:i,activeDot:n,clipPath:a}))}var vj=e=>{var t=e.chartData,r=le(),n=$e();return h.useEffect(()=>n?()=>{}:(r(jf(t)),()=>{r(jf(void 0))}),[t,r,n]),null},sd={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},uy=Ce({name:"brush",initialState:sd,reducers:{setBrushSettings(e,t){return t.payload==null?sd:t.payload}}});uy.actions.setBrushSettings;var hj=uy.reducer;function pj(e){return(e%180+180)%180}var mj=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=pj(i),o=a*Math.PI/180,u=Math.atan(n/r),l=o>u&&o{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Ye(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Ye(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=Ye(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Qr=ly.actions;Qr.addDot;Qr.removeDot;Qr.addArea;Qr.removeArea;Qr.addLine;Qr.removeLine;var gj=ly.reducer;function bj(e,t){return Oj(e)||Aj(e,t)||xj(e,t)||wj()}function wj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xj(e,t){if(e){if(typeof e=="string")return fd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fd(e,t):void 0}}function fd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=h.useState("".concat(yn("recharts"),"-clip")),n=bj(r,1),i=n[0],a=Ll();if(a==null)return null;var o=a.x,u=a.y,l=a.width,c=a.height;return h.createElement(Pj.Provider,{value:i},h.createElement("defs",null,h.createElement("clipPath",{id:i},h.createElement("rect",{x:o,y:u,height:c,width:l}))),t)};function cy(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*i)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-i)<=0}function Ij(e,t){return cy(e,t+1)}function Cj(e,t,r,n,i){for(var a=(n||[]).slice(),o=t.start,u=t.end,l=0,c=1,s=o,f=function(){var p=n==null?void 0:n[l];if(p===void 0)return{v:cy(n,c)};var m=l,y,g=()=>(y===void 0&&(y=r(p,m)),y),w=p.coordinate,x=l===0||Cn(e,w,g,s,u);x||(l=0,s=o,c+=1),x&&(s=w+e*(g()/2+i),l+=c)},d;c<=a.length;)if(d=f(),d)return d.v;return[]}function kj(e,t,r,n,i){var a=(n||[]).slice(),o=a.length;if(o===0)return[];for(var u=t.start,l=t.end,c=1;c<=o;c++){for(var s=(o-1)%c,f=u,d=!0,v=function(){var A=n[m];if(A==null)return 0;var O=m,b,S=()=>(b===void 0&&(b=r(A,O)),b),_=A.coordinate,I=m===s||Cn(e,_,S,f,l);if(!I)return d=!1,1;I&&(f=_+e*(S()/2+i))},p,m=s;m(m===void 0&&(m=r(v,d)),m);if(d===o-1){var g=e*(p.coordinate+e*y()/2-l);a[d]=p=_e(_e({},p),{},{tickCoord:g>0?p.coordinate-g*e:p.coordinate})}else a[d]=p=_e(_e({},p),{},{tickCoord:p.coordinate});if(p.tickCoord!=null){var w=Cn(e,p.tickCoord,y,u,l);w&&(l=p.tickCoord-e*(y()/2+i),a[d]=_e(_e({},p),{},{isShow:!0}))}},s=o-1;s>=0;s--)c(s);return a}function $j(e,t,r,n,i,a){var o=(n||[]).slice(),u=o.length,l=t.start,c=t.end;if(a){var s=n[u-1];if(s!=null){var f=r(s,u-1),d=e*(s.coordinate+e*f/2-c);if(o[u-1]=s=_e(_e({},s),{},{tickCoord:d>0?s.coordinate-d*e:s.coordinate}),s.tickCoord!=null){var v=Cn(e,s.tickCoord,()=>f,l,c);v&&(c=s.tickCoord-e*(f/2+i),o[u-1]=_e(_e({},s),{},{isShow:!0}))}}}for(var p=a?u-1:u,m=function(w){var x=o[w];if(x==null)return 1;var A=x,O,b=()=>(O===void 0&&(O=r(x,w)),O);if(w===0){var S=e*(A.coordinate-e*b()/2-l);o[w]=A=_e(_e({},A),{},{tickCoord:S<0?A.coordinate-S*e:A.coordinate})}else o[w]=A=_e(_e({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var _=Cn(e,A.tickCoord,b,l,c);_&&(l=A.tickCoord+e*(b()/2+i),o[w]=_e(_e({},A),{},{isShow:!0}))}},y=0;y{var S=typeof c=="function"?c(O.value,b):O.value;return p==="width"?Ej(pn(S,{fontSize:t,letterSpacing:r}),m,f):pn(S,{fontSize:t,letterSpacing:r})[p]},g=i[0],w=i[1],x=i.length>=2&&g!=null&&w!=null?He(w.coordinate-g.coordinate):1,A=_j(a,x,p);return l==="equidistantPreserveStart"?Cj(x,A,y,i,o):l==="equidistantPreserveEnd"?kj(x,A,y,i,o):(l==="preserveStart"||l==="preserveStartEnd"?v=$j(x,A,y,i,o,l==="preserveStartEnd"):v=Dj(x,A,y,i,o),v.filter(O=>O.isShow))}var Nj=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,i=n,a=e.tickSize,o=a===void 0?0:a,u=e.tickMargin,l=u===void 0?0:u,c=0;if(t){Array.from(t).forEach(v=>{if(v){var p=v.getBoundingClientRect();p.width>c&&(c=p.width)}});var s=r?r.getBoundingClientRect().width:0,f=o+l,d=c+f+s+(r?i:0);return Math.round(d)}return 0},Lj={xAxis:{},yAxis:{}},sy=Ce({name:"renderedTicks",initialState:Lj,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId,a=r.ticks;e[n][i]=a},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,i=r.axisId;delete e[n][i]}}}),fy=sy.actions,Rj=fy.setRenderedTicks,zj=fy.removeRenderedTicks,Bj=sy.reducer,Fj=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function vd(e,t){return Hj(e)||Kj(e,t)||Uj(e,t)||Wj()}function Wj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Uj(e,t){if(e){if(typeof e=="string")return hd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hd(e,t):void 0}}function hd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Fr;var a=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(Rj({ticks:a,axisId:n,axisType:r})),()=>{i(zj({axisId:n,axisType:r}))}},[i,t,n,r]),null}var nT=h.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,i=e.tick,a=e.tickLine,o=e.stroke,u=e.tickFormatter,l=e.unit,c=e.padding,s=e.tickTextProps,f=e.orientation,d=e.mirror,v=e.x,p=e.y,m=e.width,y=e.height,g=e.tickSize,w=e.tickMargin,x=e.fontSize,A=e.letterSpacing,O=e.getTicksConfig,b=e.events,S=e.axisType,_=e.axisId,I=Rl(ie(ie({},O),{},{ticks:n}),x,A),C=it(O),j=ia(i),E=Km(C.textAnchor)?C.textAnchor:Jj(f,d),R=eT(f,d),$={};typeof a=="object"&&($=a);var V=ie(ie({},C),{},{fill:"none"},$),H=I.map(q=>ie({entry:q},Qj(q,v,p,m,y,f,g,d,w))),Y=H.map(q=>{var W=q.entry,Se=q.line;return h.createElement(qe,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(W.value,"-").concat(W.coordinate,"-").concat(W.tickCoord)},a&&h.createElement("line",mr({},V,Se,{className:ee("recharts-cartesian-axis-tick-line",yr(a,"className"))})))}),B=H.map((q,W)=>{var Se,ge,ae=q.entry,Ne=q.tick,Le=ie(ie(ie(ie({verticalAnchor:R},C),{},{textAnchor:E,stroke:"none",fill:o},Ne),{},{index:W,payload:ae,visibleTicksCount:I.length,tickFormatter:u,padding:c},s),{},{angle:(Se=(ge=s==null?void 0:s.angle)!==null&&ge!==void 0?ge:C.angle)!==null&&Se!==void 0?Se:0}),Je=ie(ie({},Le),j);return h.createElement(qe,mr({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ae.value,"-").concat(ae.coordinate,"-").concat(ae.tickCoord)},Mg(b,ae,W)),i&&h.createElement(tT,{option:i,tickProps:Je,value:"".concat(typeof u=="function"?u(ae.value,W):ae.value).concat(l||"")}))});return h.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(S,"-ticks")},h.createElement(rT,{ticks:I,axisId:_,axisType:S}),B.length>0&&h.createElement(Rt,{zIndex:ke.label},h.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(S,"-tick-labels"),ref:t},B)),Y.length>0&&h.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(S,"-tick-lines")},Y))}),iT=h.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,i=e.height,a=e.className,o=e.hide,u=e.ticks,l=e.axisType,c=e.axisId,s=Yj(e,Fj),f=h.useState(""),d=vd(f,2),v=d[0],p=d[1],m=h.useState(""),y=vd(m,2),g=y[0],w=y[1],x=h.useRef(null);h.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var O;return Nj({ticks:x.current,label:(O=e.labelRef)===null||O===void 0?void 0:O.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var A=h.useCallback(O=>{if(O){var b=O.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=b;var S=b[0];if(S){var _=window.getComputedStyle(S),I=_.fontSize,C=_.letterSpacing;(I!==v||C!==g)&&(p(I),w(C))}}},[v,g]);return o||n!=null&&n<=0||i!=null&&i<=0?null:h.createElement(Rt,{zIndex:e.zIndex},h.createElement(qe,{className:ee("recharts-cartesian-axis",a)},h.createElement(Zj,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:it(e)}),h.createElement(nT,{ref:A,axisType:l,events:s,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:g,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:c}),h.createElement(IC,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},h.createElement(RC,{label:e.label,labelRef:e.labelRef}),e.children)))}),zl=h.forwardRef((e,t)=>{var r=Ze(e,_t);return h.createElement(iT,mr({},r,{ref:t}))});zl.displayName="CartesianAxis";var aT=["x1","y1","x2","y2","key"],oT=["offset"],uT=["xAxisId","yAxisId"],lT=["xAxisId","yAxisId"];function md(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ie(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,i=e.y,a=e.width,o=e.height,u=e.ry;return h.createElement("rect",{x:n,y:i,ry:u,width:a,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function dy(e){var t=e.option,r=e.lineItemProps,n;if(h.isValidElement(t))n=h.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,a=r.x1,o=r.y1,u=r.x2,l=r.y2,c=r.key,s=Qi(r,aT),f=(i=it(s))!==null&&i!==void 0?i:{};f.offset;var d=Qi(f,oT);n=h.createElement("line",or({},d,{x1:a,y1:o,x2:u,y2:l,fill:"none",key:c}))}return n}function hT(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=Qi(e,uT),u=a.map((l,c)=>{var s=Ie(Ie({},o),{},{x1:t,y1:l,x2:t+r,y2:l,key:"line-".concat(c),index:c});return h.createElement(dy,{key:"line-".concat(c),option:i,lineItemProps:s})});return h.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function pT(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=Qi(e,lT),u=a.map((l,c)=>{var s=Ie(Ie({},o),{},{x1:l,y1:t,x2:l,y2:t+r,key:"line-".concat(c),index:c});return h.createElement(dy,{option:i,lineItemProps:s,key:"line-".concat(c)})});return h.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function mT(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,a=e.width,o=e.height,u=e.horizontalPoints,l=e.horizontal,c=l===void 0?!0:l;if(!c||!t||!t.length||u==null)return null;var s=u.map(d=>Math.round(d+i-i)).sort((d,v)=>d-v);i!==s[0]&&s.unshift(0);var f=s.map((d,v)=>{var p=s[v+1],m=p==null,y=m?i+o-d:p-d;if(y<=0)return null;var g=v%t.length;return h.createElement("rect",{key:"react-".concat(v),y:d,x:n,height:y,width:a,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return h.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function yT(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,u=e.width,l=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var s=c.map(d=>Math.round(d+a-a)).sort((d,v)=>d-v);a!==s[0]&&s.unshift(0);var f=s.map((d,v)=>{var p=s[v+1],m=p==null,y=m?a+u-d:p-d;if(y<=0)return null;var g=v%n.length;return h.createElement("rect",{key:"react-".concat(v),x:d,y:o,width:y,height:l,stroke:"none",fill:n[g],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return h.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var gT=(e,t)=>{var r=e.xAxis,n=e.width,i=e.height,a=e.offset;return qv(Rl(Ie(Ie(Ie({},_t),r),{},{ticks:Xv(r),viewBox:{x:0,y:0,width:n,height:i}})),a.left,a.left+a.width,t)},bT=(e,t)=>{var r=e.yAxis,n=e.width,i=e.height,a=e.offset;return qv(Rl(Ie(Ie(Ie({},_t),r),{},{ticks:Xv(r),viewBox:{x:0,y:0,width:n,height:i}})),a.top,a.top+a.height,t)},wT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:ke.grid};function vy(e){var t=ih(),r=ah(),n=nh(),i=Ie(Ie({},Ze(e,wT)),{},{x:D(e.x)?e.x:n.left,y:D(e.y)?e.y:n.top,width:D(e.width)?e.width:n.width,height:D(e.height)?e.height:n.height}),a=i.xAxisId,o=i.yAxisId,u=i.x,l=i.y,c=i.width,s=i.height,f=i.syncWithTicks,d=i.horizontalValues,v=i.verticalValues,p=$e(),m=N(I=>gf(I,"xAxis",a,p)),y=N(I=>gf(I,"yAxis",o,p));if(!mt(c)||!mt(s)||!D(u)||!D(l))return null;var g=i.verticalCoordinatesGenerator||gT,w=i.horizontalCoordinatesGenerator||bT,x=i.horizontalPoints,A=i.verticalPoints;if((!x||!x.length)&&typeof w=="function"){var O=d&&d.length,b=w({yAxis:y?Ie(Ie({},y),{},{ticks:O?d:y.ticks}):void 0,width:t??c,height:r??s,offset:n},O?!0:f);_i(Array.isArray(b),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof b,"]")),Array.isArray(b)&&(x=b)}if((!A||!A.length)&&typeof g=="function"){var S=v&&v.length,_=g({xAxis:m?Ie(Ie({},m),{},{ticks:S?v:m.ticks}):void 0,width:t??c,height:r??s,offset:n},S?!0:f);_i(Array.isArray(_),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof _,"]")),Array.isArray(_)&&(A=_)}return h.createElement(Rt,{zIndex:i.zIndex},h.createElement("g",{className:"recharts-cartesian-grid"},h.createElement(vT,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),h.createElement(mT,or({},i,{horizontalPoints:x})),h.createElement(yT,or({},i,{verticalPoints:A})),h.createElement(hT,or({},i,{offset:n,horizontalPoints:x,xAxis:m,yAxis:y})),h.createElement(pT,or({},i,{offset:n,verticalPoints:A,xAxis:m,yAxis:y}))))}vy.displayName="CartesianGrid";var xT={},hy=Ce({name:"errorBars",initialState:xT,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]||(e[n]=[]),e[n].push(i)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.prev,a=r.next;e[n]&&(e[n]=e[n].map(o=>o.dataKey===i.dataKey&&o.direction===i.direction?a:o))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,i=r.errorBar;e[n]&&(e[n]=e[n].filter(a=>a.dataKey!==i.dataKey||a.direction!==i.direction))}}}),Bl=hy.actions;Bl.addErrorBar;Bl.replaceErrorBar;Bl.removeErrorBar;var AT=hy.reducer;function py(e,t){var r,n,i=N(c=>$t(c,e)),a=N(c=>Nt(c,t)),o=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:ce.allowDataOverflow,u=(n=a==null?void 0:a.allowDataOverflow)!==null&&n!==void 0?n:se.allowDataOverflow,l=o||u;return{needClip:l,needClipX:o,needClipY:u}}function OT(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,i=Ll(),a=py(t,r),o=a.needClipX,u=a.needClipY,l=a.needClip,c=N(x=>Jp(x,t,!1)),s=N(x=>em(x,r,!1));if(!l||!i)return null;var f=i.x,d=i.y,v=i.width,p=i.height,m=o&&c?Math.min(c[0],c[1]):f-v/2,y=u&&s?Math.min(s[0],s[1]):d-p/2,g=o&&c?Math.abs(c[1]-c[0]):v*2,w=u&&s?Math.abs(s[1]-s[0]):p*2;return h.createElement("clipPath",{id:"clipPath-".concat(n)},h.createElement("rect",{x:m,y,width:g,height:w}))}function PT(e){var t=ia(e),r=3,n=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),u=Number(a);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(u)||u<0)&&(u=n),{r:o,strokeWidth:u}}return{r,strokeWidth:n}}function Fl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:ay}function Wl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:ay}var my=(e,t,r)=>lm(e,"xAxis",Fl(e,t),r),yy=(e,t,r)=>um(e,"xAxis",Fl(e,t),r),gy=(e,t,r)=>lm(e,"yAxis",Wl(e,t),r),by=(e,t,r)=>um(e,"yAxis",Wl(e,t),r),ST=P([re,my,gy,yy,by],(e,t,r,n,i)=>bt(e,"xAxis")?Ei(t,n,!1):Ei(r,i,!1)),ET=(e,t)=>t,wy=P([_p,ET],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),xy=e=>{var t=re(e),r=bt(t,"xAxis");return r?"yAxis":"xAxis"},_T=(e,t)=>{var r=xy(e);return r==="yAxis"?Wl(e,t):Fl(e,t)},IT=(e,t,r)=>Lp(e,xy(e),_T(e,t),r),CT=P([wy,IT],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,i=Hu(e);if(!(n==null||i==null)){var a=(r=t[n])===null||r===void 0?void 0:r.stackedData,o=a==null?void 0:a.find(u=>u.key===i);if(o!=null)return o.map(u=>[u[0],u[1]])}}}),kT=P([re,my,gy,yy,by,CT,x1,ST,wy,R1],(e,t,r,n,i,a,o,u,l,c)=>{var s=o.chartData,f=o.dataStartIndex,d=o.dataEndIndex;if(!(l==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var v=l.data,p;if(v&&v.length>0?p=v:p=s==null?void 0:s.slice(f,d+1),p!=null)return rM({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:a,displayedData:p,chartBaseValue:c,bandSize:u})}}),jT=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],TT=["id","baseLine"];function mn(){return mn=Object.assign?Object.assign.bind():function(e){for(var t=1;tf.y||0));return D(i)?s=Math.max(i,s):i&&Array.isArray(i)&&i.length&&(s=Math.max(...i.map(f=>f.y||0),s)),D(s)?h.createElement("rect",{x:uf.x||0));return D(i)?s=Math.max(i,s):i&&Array.isArray(i)&&i.length&&(s=Math.max(...i.map(f=>f.x||0),s)),D(s)?h.createElement("rect",{x:0,y:ue==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Br(Br({},r.next),{},{x:Ot(r.prev.x,r.next.x,t),y:Ot(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),Oy={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:$l,animationInterpolateFn:KT,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:LT,xAxisId:0,yAxisId:0,zIndex:ke.area};function ea(e,t){return e&&e!=="none"?e:t}var HT=e=>{var t=e.dataKey,r=e.name,n=e.stroke,i=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:ea(n,i),value:Zv(r,t),payload:e}]},YT=h.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,u=e.hide,l=e.unit,c=e.tooltipType,s=e.id,f={dataDefinedOnItem:r,getPosition:Fr,settings:{stroke:n,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:Zv(o,t),hide:u,type:c,color:ea(n,a),unit:l,graphicalItemId:s}};return h.createElement(ik,{tooltipEntrySettings:f})});function GT(e){var t=e.clipPathId,r=e.points,n=e.props,i=n.needClip,a=n.dot,o=n.dataKey,u=it(n);return h.createElement(Gk,{points:r,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function VT(e){var t=e.showLabels,r=e.children,n=e.points,i=n.map(a=>{var o,u,l={x:(o=a.x)!==null&&o!==void 0?o:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Br(Br({},l),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return h.createElement(UC,{value:t?i:void 0},r)}function qT(e){var t=e.points,r=e.baseLine,n=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,u=e.isAnimating,l=e.isEntrance,c=a.layout,s=a.type,f=a.stroke,d=a.connectNulls,v=a.isRange,p=a.shape,m=a.id,y=Ay(a,RT),g=Ve(y),w=Br(Br({},g),{},{id:m,points:t,connectNulls:d,type:s,baseLine:r,layout:c,stroke:f,isRange:v,animationElapsedTime:o,isAnimating:u,isEntrance:l});return h.createElement(h.Fragment,null,(t==null?void 0:t.length)>1&&h.createElement(qe,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},h.createElement(nk,{option:p,DefaultShape:Oy.shape,shapeProps:w})),h.createElement(GT,{points:t,props:y,clipPathId:i}))}function XT(e,t,r){if(D(e)){var n=D(t)?t:void 0;return Ot(n,e,r)}if(Oe(e)||ht(e)){var i=D(t)?t:void 0;return Ot(i,0,r)}return e}function ZT(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=n.points,u=n.baseLine,l=n.isAnimationActive,c=n.animationBegin,s=n.animationDuration,f=n.animationEasing,d=n.animationMatchBy,v=n.animationInterpolateFn,p=h.useMemo(()=>({points:o,baseLine:u}),[o,u]),m=ry(p,a),y=ju(),g=xk(n.onAnimationStart,n.onAnimationEnd),w=g.isAnimating,x=g.handleAnimationStart,A=g.handleAnimationEnd,O=m.startValue;if(y==null)return null;var b;return Array.isArray(u)&&Array.isArray(O)?b=uu(O,u,d):Array.isArray(u)?b=uu(null,u,d):b=null,h.createElement(Ak,{animationInput:p,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:c,animationDuration:s,animationEasing:f,onAnimationStart:x,onAnimationEnd:A,animationInterpolateFn:v,animationMatchBy:d,layout:y},(S,_,I)=>{var C;return _===1?C=u:Array.isArray(u)?C=v(b,_,y):C=I?u:XT(u,O,_),m.syncStepValue(C,_),h.createElement(VT,{showLabels:!w,points:o},n.children,h.createElement(qT,{points:S,baseLine:C,needClip:t,clipPathId:r,props:n,animationElapsedTime:_,isAnimating:w||_<1,isEntrance:I}),h.createElement(YC,{label:n.label}))})}function QT(e){var t=e.needClip,r=e.clipPathId,n=e.props,i=h.useRef(null),a=h.useRef();return h.createElement(ZT,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:a})}class JT extends h.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,i=t.points,a=t.className,o=t.top,u=t.left,l=t.needClip,c=t.xAxisId,s=t.yAxisId,f=t.width,d=t.height,v=t.id,p=t.baseLine,m=t.zIndex;if(r)return null;var y=ee("recharts-area",a),g=v,w=PT(n),x=w.r,A=w.strokeWidth,O=ey(n),b=x*2+A,S=l?"url(#clipPath-".concat(O?"":"dots-").concat(g,")"):void 0;return h.createElement(Rt,{zIndex:m},h.createElement(qe,{className:y},l&&h.createElement("defs",null,h.createElement(OT,{clipPathId:g,xAxisId:c,yAxisId:s}),!O&&h.createElement("clipPath",{id:"clipPath-dots-".concat(g)},h.createElement("rect",{x:u-b/2,y:o-b/2,width:f+b,height:d+b}))),h.createElement(QT,{needClip:l,clipPathId:g,props:this.props})),h.createElement(cd,{points:i,mainColor:ea(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:S}),this.props.isRange&&Array.isArray(p)&&h.createElement(cd,{points:p,mainColor:ea(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:S}))}}function eM(e){var t,r=e.activeDot,n=e.animationBegin,i=e.animationDuration,a=e.animationEasing,o=e.connectNulls,u=e.dot,l=e.fill,c=e.fillOpacity,s=e.hide,f=e.isAnimationActive,d=e.legendType,v=e.stroke,p=e.xAxisId,m=e.yAxisId,y=Ay(e,zT),g=Wr(),w=jm(),x=py(p,m),A=x.needClip,O=$e(),b=(t=N(V=>kT(V,e.id,O)))!==null&&t!==void 0?t:{},S=b.points,_=b.isRange,I=b.baseLine,C=Ll();if(g!=="horizontal"&&g!=="vertical"||C==null||w!=="AreaChart"&&w!=="ComposedChart")return null;var j=C.height,E=C.width,R=C.x,$=C.y;return!S||!S.length?null:h.createElement(JT,Ji({},y,{activeDot:r,animationBegin:n,animationDuration:i,animationEasing:a,baseLine:I,connectNulls:o,dot:u,fill:l,fillOpacity:c,height:j,hide:s,layout:g,isAnimationActive:f,isRange:_,legendType:d,needClip:A,points:S,stroke:v,width:E,left:R,top:$,xAxisId:p,yAxisId:m}))}var tM=(e,t,r,n,i)=>{var a=r??t;if(D(a))return a;var o=e==="horizontal"?i:n,u=o.scale.domain();if(o.type==="number"){var l=Math.max(u[0],u[1]),c=Math.min(u[0],u[1]);return a==="dataMin"?c:a==="dataMax"||l<0?l:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function rM(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,u=e.chartBaseValue,l=e.xAxis,c=e.yAxis,s=e.displayedData,f=e.dataStartIndex,d=e.xAxisTicks,v=e.yAxisTicks,p=e.bandSize,m=a&&a.length,y=tM(o,u,n,l,c),g=o==="horizontal",w=!1,x=s.map((O,b)=>{var S,_,I,C;if(m)C=a[f+b];else{var j=he(O,i);Array.isArray(j)?(C=j,w=!0):C=[y,j]}var E=(S=(_=C)===null||_===void 0?void 0:_[1])!==null&&S!==void 0?S:null,R=E==null||m&&!r&&he(O,i)==null;if(g){var $;return{x:Sc({axis:l,ticks:d,bandSize:p,entry:O,index:b}),y:R?null:($=c.scale.map(E))!==null&&$!==void 0?$:null,value:C,payload:O}}return{x:R?null:(I=l.scale.map(E))!==null&&I!==void 0?I:null,y:Sc({axis:c,ticks:v,bandSize:p,entry:O,index:b}),value:C,payload:O}}),A;return m||w?A=x.map(O=>{var b,S=Array.isArray(O.value)?O.value[0]:null;if(g){var _;return{x:O.x,y:S!=null&&O.y!=null&&(_=c.scale.map(S))!==null&&_!==void 0?_:null,payload:O.payload}}return{x:S!=null&&(b=l.scale.map(S))!==null&&b!==void 0?b:null,y:O.y,payload:O.payload}}):A=g?c.scale.map(y):l.scale.map(y),{points:x,baseLine:A??0,isRange:w}}function nM(e){var t=Ze(e,Oy),r=$e();return h.createElement(jk,{id:t.id,type:"area"},n=>h.createElement(h.Fragment,null,h.createElement(ak,{legendPayload:HT(t)}),h.createElement(YT,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),h.createElement(Rk,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:uw(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),h.createElement(eM,Ji({},t,{id:n}))))}var Py=h.memo(nM,Ea);Py.displayName="Area";var iM=["domain","range"],aM=["domain","range"];function bd(e,t){if(e==null)return{};var r,n,i=oM(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{if(o!=null)return Ad(Ad({},a),{},{type:o})},[a,o]);return h.useLayoutEffect(()=>{u!=null&&(r.current===null?t(Qk(u)):r.current!==u&&t(Jk({prev:r.current,next:u})),r.current=u)},[u,t]),h.useLayoutEffect(()=>()=>{r.current&&(t(ej(r.current)),r.current=null)},[t]),null}var pM=e=>{var t=e.xAxisId,r=e.className,n=N(Jv),i=$e(),a="xAxis",o=N(d=>om(d,a,t,i)),u=N(d=>qS(d,t)),l=N(d=>tE(d,t)),c=N(d=>Op(d,t));if(u==null||l==null||c==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var s=cu(e,lM);c.id,c.scale;var f=cu(c,cM);return h.createElement(zl,lu({},s,f,{x:l.x,y:l.y,width:u.width,height:u.height,className:ee("recharts-".concat(a," ").concat(a),r),viewBox:n,ticks:o,axisType:a,axisId:t}))},mM={allowDataOverflow:ce.allowDataOverflow,allowDecimals:ce.allowDecimals,allowDuplicatedCategory:ce.allowDuplicatedCategory,angle:ce.angle,axisLine:_t.axisLine,height:ce.height,hide:!1,includeHidden:ce.includeHidden,interval:ce.interval,label:!1,minTickGap:ce.minTickGap,mirror:ce.mirror,orientation:ce.orientation,padding:ce.padding,reversed:ce.reversed,scale:ce.scale,tick:ce.tick,tickCount:ce.tickCount,tickLine:_t.tickLine,tickSize:_t.tickSize,type:ce.type,niceTicks:ce.niceTicks,xAxisId:0},yM=e=>{var t=Ze(e,mM);return h.createElement(h.Fragment,null,h.createElement(hM,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),h.createElement(pM,t))},su=h.memo(yM,Sy);su.displayName="XAxis";var gM=["type"],bM=["dangerouslySetInnerHTML","ticks","scale"],wM=["id","scale"];function fu(){return fu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return Pd(Pd({},a),{},{type:o})},[o,a]);return h.useLayoutEffect(()=>{u!=null&&(r.current===null?t(tj(u)):r.current!==u&&t(rj({prev:r.current,next:u})),r.current=u)},[u,t]),h.useLayoutEffect(()=>()=>{r.current&&(t(nj(r.current)),r.current=null)},[t]),null}function EM(e){var t=e.yAxisId,r=e.className,n=e.width,i=e.label,a=h.useRef(null),o=h.useRef(null),u=N(Jv),l=$e(),c=le(),s="yAxis",f=N(g=>iE(g,t)),d=N(g=>nE(g,t)),v=N(g=>om(g,s,t,l)),p=N(g=>Pp(g,t));if(h.useLayoutEffect(()=>{if(!(n!=="auto"||!f||Dl(i)||h.isValidElement(i)||p==null)){var g=a.current;if(g){var w=g.getCalculatedWidth();Math.round(f.width)!==Math.round(w)&&c(ij({id:t,width:w}))}}},[v,f,c,i,t,n,p]),f==null||d==null||p==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var m=du(e,bM);p.id,p.scale;var y=du(p,wM);return h.createElement(zl,fu({},m,y,{ref:a,labelRef:o,x:d.x,y:d.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:f.width,height:f.height,className:ee("recharts-".concat(s," ").concat(s),r),viewBox:u,ticks:v,axisType:s,axisId:t}))}var _M={allowDataOverflow:se.allowDataOverflow,allowDecimals:se.allowDecimals,allowDuplicatedCategory:se.allowDuplicatedCategory,angle:se.angle,axisLine:_t.axisLine,hide:!1,includeHidden:se.includeHidden,interval:se.interval,label:!1,minTickGap:se.minTickGap,mirror:se.mirror,orientation:se.orientation,padding:se.padding,reversed:se.reversed,scale:se.scale,tick:se.tick,tickCount:se.tickCount,tickLine:_t.tickLine,tickSize:_t.tickSize,type:se.type,niceTicks:se.niceTicks,width:se.width,yAxisId:0},IM=e=>{var t=Ze(e,_M);return h.createElement(h.Fragment,null,h.createElement(SM,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),h.createElement(EM,t))},Ey=h.memo(IM,Sy);Ey.displayName="YAxis";var CM=(e,t)=>t,Ul=P([CM,re,Fh,me,Sm,Lt,E_,Pe],M_);function kM(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Kl(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(kM(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;r=a.offsetWidth>0?t.width/a.offsetWidth:1,n=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(u,l)=>({relativeX:Math.round((u-t.left)/r),relativeY:Math.round((l-t.top)/n)});return"touches"in e?Array.from(e.touches).map(u=>o(u.clientX,u.clientY)):o(e.clientX,e.clientY)}var _y=We("mouseClick"),Iy=jn();Iy.startListening({actionCreator:_y,effect:(e,t)=>{var r=e.payload,n=Ul(t.getState(),Kl(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(bE({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var vu=We("mouseMove"),Cy=jn(),Er=null,Zt=null,bo=null;Cy.startListening({actionCreator:vu,effect:(e,t)=>{var r=e.payload,n=t.getState(),i=n.eventSettings,a=i.throttleDelay,o=i.throttledEvents,u=o==="all"||(o==null?void 0:o.includes("mousemove"));Er!==null&&(cancelAnimationFrame(Er),Er=null),Zt!==null&&(typeof a!="number"||!u)&&(clearTimeout(Zt),Zt=null),bo=Kl(r);var l=()=>{var c=t.getState(),s=Un(c,c.tooltip.settings.shared);if(!bo){Er=null,Zt=null;return}if(s==="axis"){var f=Ul(c,bo);(f==null?void 0:f.activeIndex)!=null?t.dispatch(pm({activeIndex:f.activeIndex,activeDataKey:void 0,activeCoordinate:f.activeCoordinate})):t.dispatch(hm())}Er=null,Zt=null};if(!u){l();return}a==="raf"?Er=requestAnimationFrame(l):typeof a=="number"&&Zt===null&&(Zt=setTimeout(l,a))}});function jM(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var Sd={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},ky=Ce({name:"rootProps",initialState:Sd,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:Sd.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),TM=ky.reducer,MM=ky.actions.updateOptions,DM=null,$M={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},jy=Ce({name:"polarOptions",initialState:DM,reducers:$M});jy.actions.updatePolarOptions;var NM=jy.reducer,Ty=We("keyDown"),My=We("focus"),Dy=We("blur"),Ya=jn(),_r=null,Qt=null,ii=null;Ya.startListening({actionCreator:Ty,effect:(e,t)=>{ii=e.payload,_r!==null&&(cancelAnimationFrame(_r),_r=null);var r=t.getState(),n=r.eventSettings,i=n.throttleDelay,a=n.throttledEvents,o=a==="all"||a.includes("keydown");Qt!==null&&(typeof i!="number"||!o)&&(clearTimeout(Qt),Qt=null);var u=()=>{try{var l=t.getState(),c=l.rootProps.accessibilityLayer!==!1;if(!c)return;var s=l.tooltip.keyboardInteraction,f=ii;if(f!=="ArrowRight"&&f!=="ArrowLeft"&&f!=="Enter")return;var d=hn(s,pr(l),Rr(l),zr(l)),v=d==null?-1:Number(d),p=!Number.isFinite(v)||v<0,m=Lt(l),y=pr(l),g=Un(l,l.tooltip.settings.shared);if(f==="Enter"){if(p)return;var w=Vi(l,g,"hover",String(s.index));t.dispatch(Gi({active:!s.active,activeIndex:s.index,activeCoordinate:w}));return}var x=cE(l),A=x==="left-to-right"?1:-1,O=f==="ArrowRight"?1:-1,b;if(p){var S=Rr(l),_=zr(l),I=O*A,C=V=>({active:!1,index:String(V),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(b=-1,I>0){for(var j=0;j=0;E--)if(hn(C(E),y,S,_)!=null){b=E;break}if(b<0)return}else{b=v+O*A;var R=(m==null?void 0:m.length)||y.length;if(R===0||b>=R||b<0)return}var $=Vi(l,g,"hover",String(b));t.dispatch(Gi({active:!0,activeIndex:b.toString(),activeCoordinate:$}))}finally{_r=null,Qt=null}};if(!o){u();return}i==="raf"?_r=requestAnimationFrame(u):typeof i=="number"&&Qt===null&&(u(),ii=null,Qt=setTimeout(()=>{ii?u():(Qt=null,_r=null)},i))}});Ya.startListening({actionCreator:My,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var a="0",o=Un(r,r.tooltip.settings.shared),u=Vi(r,o,"hover",String(a));t.dispatch(Gi({active:!0,activeIndex:a,activeCoordinate:u}))}}}});Ya.startListening({actionCreator:Dy,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var i=r.tooltip.keyboardInteraction;i.active&&t.dispatch(Gi({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function $y(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var Ke=We("externalEvent"),Ny=jn(),ai=new Map,cn=new Map,wo=new Map;Ny.startListening({actionCreator:Ke,effect:(e,t)=>{var r=e.payload,n=r.handler,i=r.reactEvent;if(n!=null){var a=i.type,o=$y(i);wo.set(a,{handler:n,reactEvent:o});var u=ai.get(a);u!==void 0&&(cancelAnimationFrame(u),ai.delete(a));var l=t.getState(),c=l.eventSettings,s=c.throttleDelay,f=c.throttledEvents,d=f,v=d==="all"||(d==null?void 0:d.includes(a)),p=cn.get(a);p!==void 0&&(typeof s!="number"||!v)&&(clearTimeout(p),cn.delete(a));var m=()=>{var w=wo.get(a);try{if(!w)return;var x=w.handler,A=w.reactEvent,O=t.getState(),b={activeCoordinate:f_(O),activeDataKey:l_(O),activeIndex:_n(O),activeLabel:Im(O),activeTooltipIndex:_n(O),isTooltipActive:d_(O)};x&&x(b,A)}finally{ai.delete(a),cn.delete(a),wo.delete(a)}};if(!v){m();return}if(s==="raf"){var y=requestAnimationFrame(m);ai.set(a,y)}else if(typeof s=="number"){if(!cn.has(a)){m();var g=setTimeout(m,s);cn.set(a,g)}}else m()}}});var LM=P([Xr],e=>e.tooltipItemPayloads),RM=P([LM,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(a=>a.settings.graphicalItemId===r);if(n!=null){var i=n.getPosition;if(i!=null)return i(t)}}}),Ly=We("touchMove"),Ry=jn(),Jt=null,zt=null,Ed=null,sn=null;Ry.startListening({actionCreator:Ly,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){sn=$y(r);var n=t.getState(),i=n.eventSettings,a=i.throttleDelay,o=i.throttledEvents,u=o==="all"||o.includes("touchmove");Jt!==null&&(cancelAnimationFrame(Jt),Jt=null),zt!==null&&(typeof a!="number"||!u)&&(clearTimeout(zt),zt=null),Ed=Array.from(r.touches).map(c=>Kl({clientX:c.clientX,clientY:c.clientY,currentTarget:r.currentTarget}));var l=()=>{if(sn!=null){var c=t.getState(),s=Un(c,c.tooltip.settings.shared);if(s==="axis"){var f,d=(f=Ed)===null||f===void 0?void 0:f[0];if(d==null){Jt=null,zt=null;return}var v=Ul(c,d);(v==null?void 0:v.activeIndex)!=null&&t.dispatch(pm({activeIndex:v.activeIndex,activeDataKey:void 0,activeCoordinate:v.activeCoordinate}))}else if(s==="item"){var p,m=sn.touches[0];if(document.elementFromPoint==null||m==null)return;var y=document.elementFromPoint(m.clientX,m.clientY);if(!y||!y.getAttribute)return;var g=y.getAttribute(hw),w=(p=y.getAttribute(pw))!==null&&p!==void 0?p:void 0,x=wr(c).find(b=>b.id===w);if(g==null||x==null||w==null)return;var A=x.dataKey,O=RM(c,g,w);t.dispatch(gE({activeDataKey:A,activeIndex:g,activeCoordinate:O,activeGraphicalItemId:w}))}Jt=null,zt=null}};if(!u){l();return}a==="raf"?Jt=requestAnimationFrame(l):typeof a=="number"&&zt===null&&(l(),sn=null,zt=setTimeout(()=>{sn?l():(zt=null,Jt=null)},a))}}});var zy={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},By=Ce({name:"eventSettings",initialState:zy,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),zM=By.actions.setEventSettings,BM=By.reducer,FM=wv({brush:hj,cartesianAxis:aj,chartData:sI,errorBars:AT,eventSettings:BM,graphicalItems:Nk,layout:Qb,legend:dx,options:aI,polarAxis:VC,polarOptions:NM,referenceElements:gj,renderedTicks:Bj,rootProps:TM,tooltip:wE,zIndex:Y_}),WM=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return Ob({reducer:FM,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([Iy.middleware,Cy.middleware,Ya.middleware,Ny.middleware,Ry.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat($v({type:"raf"}))},devTools:{serialize:{replacer:jM},name:"recharts-".concat(r)}})};function UM(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,i=$e(),a=h.useRef(null);if(i)return r;a.current==null&&(a.current=WM(t,n));var o=Au;return h.createElement(Ix,{context:o,store:a.current},r)}function KM(e){var t=e.layout,r=e.margin,n=le(),i=$e();return h.useEffect(()=>{i||(n(qb(t)),n(Vb(r)))},[n,i,t,r]),null}var HM=h.memo(KM,Ea);function YM(e){var t=le();return h.useEffect(()=>{t(MM(e))},[t,e]),null}var GM=e=>{var t=le();return h.useEffect(()=>{t(zM(e))},[t,e]),null},VM=h.memo(GM,Ea);function _d(e){var t=e.zIndex,r=e.isPanorama,n=h.useRef(null),i=le();return h.useLayoutEffect(()=>(n.current&&i(K_({zIndex:t,element:n.current,isPanorama:r})),()=>{i(H_({zIndex:t,isPanorama:r}))}),[i,t,r]),h.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function Id(e){var t=e.children,r=e.isPanorama,n=N($_);if(!n||n.length===0)return t;var i=n.filter(o=>o<0),a=n.filter(o=>o>0);return h.createElement(h.Fragment,null,i.map(o=>h.createElement(_d,{key:o,zIndex:o,isPanorama:r})),t,a.map(o=>h.createElement(_d,{key:o,zIndex:o,isPanorama:r})))}var qM=["children"];function XM(e,t){if(e==null)return{};var r,n,i=ZM(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=ih(),n=ah(),i=ph();if(!mt(r)||!mt(n))return null;var a=e.children,o=e.otherAttributes,u=e.title,l=e.desc,c,s;return o!=null&&(typeof o.tabIndex=="number"?c=o.tabIndex:c=i?0:void 0,typeof o.role=="string"?s=o.role:s=i?"application":void 0),h.createElement(Rd,ta({},o,{title:u,desc:l,role:s,tabIndex:c,width:r,height:n,style:QM,ref:t}),a)}),eD=e=>{var t=e.children,r=N(xa);if(!r)return null;var n=r.width,i=r.height,a=r.y,o=r.x;return h.createElement(Rd,{width:n,height:i,x:o,y:a},t)},Cd=h.forwardRef((e,t)=>{var r=e.children,n=XM(e,qM),i=$e();return i?h.createElement(eD,null,h.createElement(Id,{isPanorama:!0},r)):h.createElement(JM,ta({ref:t},n),h.createElement(Id,{isPanorama:!1},r))});function tD(e,t){return aD(e)||iD(e,t)||nD(e,t)||rD()}function rD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nD(e,t){if(e){if(typeof e=="string")return kd(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kd(e,t):void 0}}function kd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var o=n.getBoundingClientRect(),u=o.width/n.offsetWidth;U(u)&&u!==a&&e(Zb(u))}},[n,e,a]),i}function jd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uD(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(bI(),null);function na(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var mD=h.forwardRef((e,t)=>{var r,n,i=h.useRef(null),a=h.useState({containerWidth:na((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:na((n=e.style)===null||n===void 0?void 0:n.height)}),o=ra(a,2),u=o[0],l=o[1],c=h.useCallback((f,d)=>{l(v=>{var p=Math.round(f),m=Math.round(d);return v.containerWidth===p&&v.containerHeight===m?v:{containerWidth:p,containerHeight:m}})},[]),s=h.useCallback(f=>{if(typeof t=="function"&&t(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var d=f.getBoundingClientRect(),v=d.width,p=d.height;c(v,p);var m=g=>{var w=g[0];if(w!=null){var x=w.contentRect,A=x.width,O=x.height;c(A,O)}},y=new ResizeObserver(m);y.observe(f),i.current=y}},[t,c]);return h.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[c]),h.createElement(h.Fragment,null,h.createElement(Mn,{width:u.containerWidth,height:u.containerHeight}),h.createElement("div",Ht({ref:s},e)))}),yD=h.forwardRef((e,t)=>{var r=e.width,n=e.height,i=h.useState({containerWidth:na(r),containerHeight:na(n)}),a=ra(i,2),o=a[0],u=a[1],l=h.useCallback((s,f)=>{u(d=>{var v=Math.round(s),p=Math.round(f);return d.containerWidth===v&&d.containerHeight===p?d:{containerWidth:v,containerHeight:p}})},[]),c=h.useCallback(s=>{if(typeof t=="function"&&t(s),s!=null){var f=s.getBoundingClientRect(),d=f.width,v=f.height;l(d,v)}},[t,l]);return h.createElement(h.Fragment,null,h.createElement(Mn,{width:o.containerWidth,height:o.containerHeight}),h.createElement("div",Ht({ref:c},e)))}),gD=h.forwardRef((e,t)=>{var r=e.width,n=e.height;return h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement("div",Ht({ref:t},e)))}),bD=h.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?h.createElement(yD,Ht({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?h.createElement(gD,Ht({},e,{width:r,height:n,ref:t})):h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement("div",Ht({ref:t},e)))});function wD(e){return e?mD:bD}var xD=h.forwardRef((e,t)=>{var r=e.children,n=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,u=e.onDoubleClick,l=e.onMouseDown,c=e.onMouseEnter,s=e.onMouseLeave,f=e.onMouseMove,d=e.onMouseUp,v=e.onTouchEnd,p=e.onTouchMove,m=e.onTouchStart,y=e.style,g=e.width,w=e.responsive,x=e.dispatchTouchEvents,A=x===void 0?!0:x,O=h.useRef(null),b=le(),S=h.useState(null),_=ra(S,2),I=_[0],C=_[1],j=h.useState(null),E=ra(j,2),R=E[0],$=E[1],V=oD(),H=Cu(),Y=(H==null?void 0:H.width)>0?H.width:g,B=(H==null?void 0:H.height)>0?H.height:i,q=h.useCallback(L=>{V(L),typeof t=="function"&&t(L),C(L),$(L),L!=null&&(O.current=L)},[V,t,C,$]),W=h.useCallback(L=>{b(_y(L)),b(Ke({handler:a,reactEvent:L}))},[b,a]),Se=h.useCallback(L=>{b(vu(L)),b(Ke({handler:c,reactEvent:L}))},[b,c]),ge=h.useCallback(L=>{b(hm()),b(Ke({handler:s,reactEvent:L}))},[b,s]),ae=h.useCallback(L=>{b(vu(L)),b(Ke({handler:f,reactEvent:L}))},[b,f]),Ne=h.useCallback(()=>{b(My())},[b]),Le=h.useCallback(()=>{b(Dy())},[b]),Je=h.useCallback(L=>{b(Ty(L.key))},[b]),et=h.useCallback(L=>{b(Ke({handler:o,reactEvent:L}))},[b,o]),Jr=h.useCallback(L=>{b(Ke({handler:u,reactEvent:L}))},[b,u]),T=h.useCallback(L=>{b(Ke({handler:l,reactEvent:L}))},[b,l]),F=h.useCallback(L=>{b(Ke({handler:d,reactEvent:L}))},[b,d]),z=h.useCallback(L=>{b(Ke({handler:m,reactEvent:L}))},[b,m]),k=h.useCallback(L=>{A&&b(Ly(L)),b(Ke({handler:p,reactEvent:L}))},[b,A,p]),Ee=h.useCallback(L=>{b(Ke({handler:v,reactEvent:L}))},[b,v]),X=wD(w);return h.createElement(Nm.Provider,{value:I},h.createElement(ug.Provider,{value:R},h.createElement(X,{width:Y??(y==null?void 0:y.width),height:B??(y==null?void 0:y.height),className:ee("recharts-wrapper",n),style:uD({position:"relative",cursor:"default",width:Y,height:B},y),onClick:W,onContextMenu:et,onDoubleClick:Jr,onFocus:Ne,onBlur:Le,onKeyDown:Je,onMouseDown:T,onMouseEnter:Se,onMouseLeave:ge,onMouseMove:ae,onMouseUp:F,onTouchEnd:Ee,onTouchMove:k,onTouchStart:z,ref:q},h.createElement(pD,null),r)))}),AD=["width","height","responsive","children","className","style","compact","title","desc"];function OD(e,t){if(e==null)return{};var r,n,i=PD(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,i=e.responsive,a=e.children,o=e.className,u=e.style,l=e.compact,c=e.title,s=e.desc,f=OD(e,AD),d=it(f);return l?h.createElement(h.Fragment,null,h.createElement(Mn,{width:r,height:n}),h.createElement(Cd,{otherAttributes:d,title:c,desc:s},a)):h.createElement(xD,{className:o,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},h.createElement(Cd,{otherAttributes:d,title:c,desc:s,ref:t},h.createElement(Sj,null,a)))});function hu(){return hu=Object.assign?Object.assign.bind():function(e){for(var t=1;th.createElement(TD,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:MD,tooltipPayloadSearcher:nI,categoricalChartProps:e,ref:t}));const $D="rgba(130,130,150,0.14)",xo="rgba(130,130,150,0.85)";function ND(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function Fy(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function LD({active:e,payload:t,unit:r,label:n}){return!e||!(t!=null&&t.length)?null:oe.jsxs("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:[Number.isFinite(n)&&oe.jsx("div",{className:"mb-1 border-b border-border/40 pb-1 font-mono text-[10px] text-muted-foreground/80",children:new Date(n).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),oe.jsx("div",{className:"space-y-1",children:t.map(i=>oe.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[oe.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),oe.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:i.name}),oe.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:Fy(i.value,r)})]},i.dataKey))})]})}function UD({data:e,series:t,unit:r="%",yMode:n="percent",height:i=176,showTime:a=!1}){var s,f;const o=e.reduce((d,v)=>t.reduce((p,m)=>Math.max(p,Number(v[m.key])||0),d),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(ND(o*1.15),10),l=e.length>1?Number((s=e[e.length-1])==null?void 0:s.t)-Number((f=e[0])==null?void 0:f.t):0,c=d=>new Date(d).toLocaleTimeString("de-DE",l<=10*6e4?{hour:"2-digit",minute:"2-digit",second:"2-digit"}:{hour:"2-digit",minute:"2-digit"});return oe.jsx("div",{style:{height:i},className:"w-full",children:oe.jsx(Vw,{width:"100%",height:"100%",children:oe.jsxs(DD,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[oe.jsx("defs",{children:t.map(d=>oe.jsxs("linearGradient",{id:`grad-${d.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[oe.jsx("stop",{offset:"0%",stopColor:d.color,stopOpacity:.22}),oe.jsx("stop",{offset:"100%",stopColor:d.color,stopOpacity:0})]},d.key))}),oe.jsx(vy,{vertical:!1,stroke:$D}),a?oe.jsx(su,{dataKey:"t",type:"number",domain:["dataMin","dataMax"],tickFormatter:c,tickCount:5,minTickGap:40,interval:"preserveStartEnd",axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:xo},height:18}):oe.jsx(su,{dataKey:"t",hide:!0}),oe.jsx(Ey,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:d=>Fy(d,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:xo}}),oe.jsx(TI,{content:oe.jsx(LD,{unit:r}),cursor:{stroke:xo,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(d=>oe.jsx(Py,{type:"monotone",dataKey:d.key,name:d.label,stroke:d.color,strokeWidth:2,fill:`url(#grad-${d.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},d.key))]})})})}export{UD as default}; diff --git a/frontend/dist/assets/ModelsView-BYDzvdzC.js b/frontend/dist/assets/ModelsView-BM7QJHLl.js similarity index 76% rename from frontend/dist/assets/ModelsView-BYDzvdzC.js rename to frontend/dist/assets/ModelsView-BM7QJHLl.js index eba6c66..fbc4a77 100644 --- a/frontend/dist/assets/ModelsView-BYDzvdzC.js +++ b/frontend/dist/assets/ModelsView-BM7QJHLl.js @@ -1,14 +1,14 @@ -import{c as E,u as he,a as qe,r as j,j as e,C as Y,L as Fe,b as k,d as Re,q as V,B as re,e as Ie,E as ze,f as le,g as Be,h as Ae,i as Pe,k as Ge,l as ee,X as xe,H as be,T as se,s as Oe,m as Te,n as q,o as U,p as He,S as ge,t as Qe,P as Ue,v as Ve,w as We,x as Ze,y as Je}from"./index-BYlMs6Dj.js";import{J as Xe}from"./JobsBar-B1nmMx5i.js";import{C as Ye}from"./code-xml-DZ6lLr-w.js";import{R as et}from"./rotate-ccw-Dx0bZ_kA.js";import{C as ue,Z as ie,L as tt,a as rt}from"./zap-B_VSdjfC.js";import{C as $e}from"./chevron-down-D5zhK_UQ.js";import{L as st}from"./layers-DCwnbkXd.js";/** +import{c as E,u as he,a as qe,r as v,j as e,C as Y,L as Fe,b as k,d as Re,q as V,R as Ie,B as re,e as Pe,E as ze,f as le,g as Be,h as Ae,i as Oe,k as Ge,l as ee,X as xe,H as be,T as se,s as Te,m as He,n as q,o as U,p as Qe,t as Ue,v as Ve,w as We,x as Ze,y as Je,z as Xe,A as Ye}from"./index-Bb8GyPHo.js";import{J as et}from"./JobsBar-D2vfhT2b.js";import{C as tt}from"./code-xml-D7ACEH7O.js";import{C as ue,Z as ie,L as rt,a as st}from"./zap-CsukfbMs.js";import{S as ge}from"./search-CKPXZNvI.js";import{P as nt}from"./power-BF5yiJ4i.js";import{C as $e}from"./chevron-down-BGRm8kVZ.js";import{L as at}from"./layers-y2iqT_Gl.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nt=E("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/** + */const ot=E("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const at=E("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/** + */const lt=E("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -23,37 +23,37 @@ import{c as E,u as he,a as qe,r as j,j as e,C as Y,L as Fe,b as k,d as Re,q as V * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ot=E("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/** + */const it=E("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lt=E("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** + */const dt=E("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const it=E("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** + */const ct=E("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dt=E("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** + */const mt=E("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ct=E("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** + */const xt=E("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mt=E("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const ut=E("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const xt=E("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const pt=E("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -63,21 +63,21 @@ import{c as E,u as he,a as qe,r as j,j as e,C as Y,L as Fe,b as k,d as Re,q as V * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ut=E("SlidersVertical",[["line",{x1:"4",x2:"4",y1:"21",y2:"14",key:"1p332r"}],["line",{x1:"4",x2:"4",y1:"10",y2:"3",key:"gb41h5"}],["line",{x1:"12",x2:"12",y1:"21",y2:"12",key:"hf2csr"}],["line",{x1:"12",x2:"12",y1:"8",y2:"3",key:"1kfi7u"}],["line",{x1:"20",x2:"20",y1:"21",y2:"16",key:"1lhrwl"}],["line",{x1:"20",x2:"20",y1:"12",y2:"3",key:"16vvfq"}],["line",{x1:"2",x2:"6",y1:"14",y2:"14",key:"1uebub"}],["line",{x1:"10",x2:"14",y1:"8",y2:"8",key:"1yglbp"}],["line",{x1:"18",x2:"22",y1:"16",y2:"16",key:"1jxqpz"}]]);/** + */const ht=E("SlidersVertical",[["line",{x1:"4",x2:"4",y1:"21",y2:"14",key:"1p332r"}],["line",{x1:"4",x2:"4",y1:"10",y2:"3",key:"gb41h5"}],["line",{x1:"12",x2:"12",y1:"21",y2:"12",key:"hf2csr"}],["line",{x1:"12",x2:"12",y1:"8",y2:"3",key:"1kfi7u"}],["line",{x1:"20",x2:"20",y1:"21",y2:"16",key:"1lhrwl"}],["line",{x1:"20",x2:"20",y1:"12",y2:"3",key:"16vvfq"}],["line",{x1:"2",x2:"6",y1:"14",y2:"14",key:"1uebub"}],["line",{x1:"10",x2:"14",y1:"8",y2:"8",key:"1yglbp"}],["line",{x1:"18",x2:"22",y1:"16",y2:"16",key:"1jxqpz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pt=E("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/** + */const bt=E("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ht=E("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/** + */const gt=E("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bt=E("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),gt=["fast","heavy","heavy_chars"],ft=["coder_lite","coder","coding_escalate_chars"];function yt(){const t=he(),{data:r,isLoading:b}=qe(),[a,c]=j.useState(null),[M,w]=j.useState(!1),[N,S]=j.useState(""),[g,z]=j.useState(0);if(j.useEffect(()=>{r!=null&&r.policy&&!a&&c({...r.policy})},[r,a]),b||!r||!a)return e.jsx("div",{className:"mc-card p-5 text-xs text-muted-foreground",children:"Lade Routing-Policy…"});const m=s=>r.fields.find(o=>o.key===s),f=Object.keys(a).some(s=>a[s]!==r.policy[s]),p=(s,o)=>{c(i=>i&&{...i,[s]:o}),S("")},d=s=>p(s,r.defaults[s]);async function L(){if(!a)return;const s={};for(const o of Object.keys(a))a[o]!==r.policy[o]&&(s[o]=a[o]);if(Object.keys(s).length!==0){w(!0),S("");try{const{policy:o}=await Re(s);c({...o}),t.invalidateQueries({queryKey:V.routingPolicy}),t.invalidateQueries({queryKey:V.routing}),z(Date.now()),setTimeout(()=>z(0),2e3)}catch(o){S(o.message||String(o))}finally{w(!1)}}}function A({k:s}){const o=m(s),i=a[s],G=a[s]===r.defaults[s];return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("label",{className:"text-[10px] font-semibold text-muted-foreground",children:o.label}),!G&&e.jsxs("button",{onClick:()=>d(s),className:"flex items-center gap-0.5 text-[9px] text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",title:`Auf Default zurücksetzen (${String(r.defaults[s])||"leer"})`,children:[e.jsx(et,{className:"h-2.5 w-2.5"})," Default"]})]}),o.type==="bool"?e.jsxs("button",{onClick:()=>p(s,!i),className:k("flex h-8 w-full items-center justify-between rounded-lg border px-3 text-[11px] font-semibold transition-all cursor-pointer",i?"border-emerald-500/40 bg-emerald-500/10 text-emerald-300":"border-border/40 bg-background/40 text-muted-foreground"),children:[e.jsx("span",{children:i?"An":"Aus"}),e.jsx("span",{className:k("h-3.5 w-3.5 rounded-full transition-colors",i?"bg-emerald-400":"bg-muted-foreground/40")})]}):o.type==="int"?e.jsx("input",{type:"number",value:i,min:o.min,max:o.max,"aria-label":o.label,onChange:B=>p(s,Number(B.target.value)),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"}):e.jsx("input",{type:"text",value:i,"aria-label":o.label,spellCheck:!1,placeholder:s==="coder_lite"?"(leer = aus)":"",onChange:B=>p(s,B.target.value),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"})]})}return e.jsxs("div",{className:"mc-card p-5 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ut,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lane-Routing & Policy"}),e.jsx("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-300 border border-emerald-500/20",children:"hot-reload"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[N&&e.jsx("span",{className:"text-[10px] text-red-400 max-w-[280px] truncate",title:N,children:N}),g>0&&e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-emerald-400",children:[e.jsx(Y,{className:"h-3.5 w-3.5"})," gespeichert"]}),e.jsxs("button",{onClick:L,disabled:!f||M,className:k("h-8 px-4 rounded-lg text-[10px] font-bold uppercase tracking-wide transition-all flex items-center gap-1.5",f&&!M?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer shadow-md shadow-primary/10":"bg-background/40 text-muted-foreground/50 border border-border/40 cursor-not-allowed"),children:[M?e.jsx(Fe,{className:"h-3.5 w-3.5 animate-spin"}):null,"Speichern"]})]})]}),e.jsxs("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed -mt-1",children:["Welches echte Modell hinter den virtuellen Lanes ",e.jsx("code",{className:"text-cyan-300",children:"chat"})," und"," ",e.jsx("code",{className:"text-cyan-300",children:"coding"})," steckt. Änderungen greifen sofort (kein Neustart). Die Keyword-Heuristiken bleiben im Code."]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[e.jsx(dt,{className:"h-4 w-4 text-teal-400"}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"chat"}),e.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(= auto)"})]}),gt.map(s=>e.jsx(A,{k:s},s))]}),e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[e.jsx(Ye,{className:"h-4 w-4 text-indigo-400"}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"coding"}),e.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(agentisch → immer Coder)"})]}),ft.map(s=>e.jsx(A,{k:s},s))]})]}),e.jsx("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4",children:e.jsx("div",{className:"max-w-xs",children:e.jsx(A,{k:"fast_no_think"})})})]})}const fe=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:re,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:Ie,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"reranker",label:"Gedächtnis-Sortierer",short:"Sortierer",icon:it,desc:"Ordnet gefundene Erinnerungen nach echter Relevanz — die Feinsortierung hinter dem Gedächtnis.",tone:"bg-lime-500/15 text-lime-400 border-lime-500/25"},{role:"vision",label:"Lucys Augen",short:"Augen",icon:ze,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:at,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:ue,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer",short:"Code",icon:ue,desc:"Baut und plant. Der Kopf der Coding-Mannschaft — er hält den Faden und verteilt Zuarbeit.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25",protected:!0},{role:"scout",label:"Späher",short:"Späher",icon:ht,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"},{role:"kritiker",label:"Kritiker",short:"Kritiker",icon:Ee,desc:"Liest dem Programmierer nach jeder Etappe gegen — bewusst aus einer FREMDEN Modellfamilie (Mistral statt Qwen), damit er andere blinde Flecken hat.",tone:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25"}];fe.map(t=>t.role);const je=Object.fromEntries(fe.map(t=>[t.role,t])),ve=t=>({role:t||"?",label:t||"unbekannt",short:t||"?",icon:re,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),jt={fast:"hermes",coder_lite:"coder-lite"};function F(t){return t&&(je[t]||je[jt[t]])||ve(t)}function pe({role:t,dense:r=!1,className:b}){const a=F(t),c=a.icon;return e.jsxs("span",{className:k("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",a.tone,b),title:`${a.desc} (${a.role})`,children:[e.jsx(c,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),r?a.short:a.label]})}function vt({fit:t}){const r={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[t.level];return e.jsxs("span",{className:k("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",r),children:[t.text," • ",t.req_gb," GB RAM"]})}function Ke(t){const r=t.toLowerCase();return r.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:r.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:r.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:r.includes("mistral")||r.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:r.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:r.includes("hermes")||r.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:r.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function Nt(){var te,T,$;const t=he(),{data:r}=le(),{data:b}=Be(),{data:a}=Ae(),{data:c}=Pe(),{showAlert:M,dialogElement:w}=Ge(),[N,S]=j.useState(!1),[g,z]=j.useState(!1),m=(r==null?void 0:r.models)??[],f=(r==null?void 0:r.running)??[],p=(te=b==null?void 0:b.groups)==null?void 0:te.brains,d=(p==null?void 0:p.members)??[],L=u=>m.find(_=>_.name===u),A=u=>{var _;return((_=u.split("/").pop())==null?void 0:_.replace(/\.gguf$/i,""))||u},s=d.map(L).filter(Boolean),o=1024**3,i=c==null?void 0:c.budget,G=s.reduce((u,_)=>u+(_.size_bytes||0),0)/o,B=((T=a==null?void 0:a.gpu)==null?void 0:T.gtt_total)||(($=a==null?void 0:a.gpu)==null?void 0:$.vram_total)||0,C=(i==null?void 0:i.gtt_gb)||(B?B/o:0),v=(i==null?void 0:i.warm_projected_gb)??G,R=C>0?Math.min(100,v/C*100):0,K=m.filter(u=>!d.includes(u.name)&&!u.incomplete);async function I(u){z(!0);try{await Oe("brains",u,(p==null?void 0:p.swap)??!1,(p==null?void 0:p.persist)??!0),t.invalidateQueries({queryKey:V.groups}),t.invalidateQueries({queryKey:V.models}),t.invalidateQueries({queryKey:V.hermesBrain})}catch(_){M("Fehler",`Immer-bereit-Set konnte nicht geändert werden: ${(_==null?void 0:_.message)||_}`)}finally{z(!1)}}function O(u){const _=L(u);if(_&&F(_.role).protected){M("Geschützt",`„${F(_.role).label}" ist lebenswichtig und bleibt immer bereit.`);return}I(d.filter(H=>H!==u))}function W(u){S(!1),I([...d,u])}return p?e.jsxs("div",{className:"mc-card p-5 space-y-4",children:[e.jsx(Ne,{}),e.jsxs("div",{className:"space-y-1.5",children:[s.length===0&&e.jsx("div",{className:"text-xs text-muted-foreground",children:"Noch keine Modelle im Set."}),s.map(u=>{const _=f.includes(u.name),H=F(u.role).protected;return e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[e.jsx("span",{className:k("h-2 w-2 shrink-0 rounded-full ring-2 ring-black/40",_?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40"),title:_?"Gerade warm (bereit)":"Reserviert — lädt bei Bedarf sofort"}),u.role&&e.jsx(pe,{role:u.role,dense:!0,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",title:u.name,children:A(u.name)}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:ee(u.size_bytes)})]}),H?e.jsx("span",{className:"shrink-0 text-[10px] font-semibold text-muted-foreground",title:"Lebenswichtig — bleibt immer im Set.",children:"🔒"}):e.jsx("button",{onClick:()=>O(u.name),disabled:g,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:bg-red-500/5 hover:text-red-400 cursor-pointer disabled:opacity-50",title:"Aus dem Immer-bereit-Set nehmen (lädt dann nur noch bei Bedarf)",children:e.jsx(xe,{className:"h-3.5 w-3.5"})})]},u.name)})]}),e.jsxs("button",{onClick:()=>S(!0),disabled:g||K.length===0,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border/50 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:border-primary/40 hover:text-primary cursor-pointer disabled:opacity-50",children:[e.jsx(mt,{className:"h-3.5 w-3.5"})," Modell dauerhaft bereithalten"]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",title:"Modellgewichte + KV-Cache, berechnet aus den echten Architektur-Daten jedes Modells (Layer × KV-Köpfe × Kontext) und seiner KV-Quantisierung. So viel legt llama.cpp beim Laden wirklich für den eingestellten Kontext an — kein Aufschlag mehr.",children:[e.jsx(be,{className:"h-3.5 w-3.5"})," Reserviert fürs Set"]}),e.jsxs("span",{className:"font-mono font-bold text-foreground",children:[v.toFixed(1),C>0?` / ${C.toFixed(0)}`:""," GB"]})]}),e.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:e.jsx("div",{className:k("h-full rounded-full transition-all duration-500",R>=85?"bg-red-500":R>=65?"bg-amber-500":"bg-teal-500"),style:{width:`${R}%`}})}),i&&!i.fits&&e.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[11px] text-amber-400",children:[e.jsx(se,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),e.jsxs("span",{children:["Zusammen mit dem größten Gelegenheits-Modell (~",i.largest_ondemand_gb," GB) wird der Speicher knapp. Das Set bleibt dabei immer geladen — wird es wirklich eng, schlägt das Laden des großen Modells fehl (es wartet dann, statt das Set zu verdrängen)."]})]}),i&&i.fits&&e.jsxs("p",{className:"mt-2 flex items-center gap-1.5 text-[11px] text-emerald-400",children:[e.jsx(Y,{className:"h-3.5 w-3.5 shrink-0"})," Passt auch neben dem größten Gelegenheits-Modell — nichts wird verdrängt."]})]}),N&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",role:"dialog","aria-modal":"true","aria-label":"Modell zum Immer-bereit-Set hinzufügen",children:e.jsxs("div",{className:"w-full max-w-md space-y-3 rounded-2xl border border-border/80 bg-card p-6 shadow-2xl animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:"Dauerhaft bereithalten"}),e.jsx("button",{onClick:()=>S(!1),className:"rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer",children:e.jsx(xe,{className:"h-4 w-4"})})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Wähle ein Modell, das ohne Ladezeit bereitstehen soll:"}),e.jsx("div",{className:"max-h-60 space-y-1.5 overflow-y-auto pr-1",children:K.map(u=>e.jsxs("button",{onClick:()=>W(u.name),className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border/30 bg-background/20 px-3 py-2.5 text-left transition-colors hover:bg-accent cursor-pointer",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.role&&e.jsx(pe,{role:u.role,dense:!0,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",children:A(u.name)})]}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:ee(u.size_bytes)})]},u.name))})]})}),w]}):e.jsxs("div",{className:"mc-card p-5",children:[e.jsx(Ne,{}),e.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Es gibt noch kein Immer-bereit-Set. Es entsteht automatisch, sobald Lucys Hirn zugewiesen ist."}),w]})}function Ne(){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ie,{className:"h-4.5 w-4.5 text-primary"}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-bold uppercase tracking-wide text-foreground",children:"Immer-bereit-Set"}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Diese Modelle hält Lucy immer bereit — sie antworten ohne Ladezeit."})]})]})}function J({children:t,tone:r="muted"}){const b={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return e.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${b[r]}`,children:t})}function kt({caps:t}){return t?e.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[t.coder&&e.jsx(J,{children:"💻 Code"}),t.vision&&e.jsx(J,{children:"👁 Bild"}),t.reasoning&&e.jsx(J,{children:"🧠 Reason"}),t.moe&&e.jsxs(J,{tone:"primary",children:["🧩 MoE",t.active_b?`·${t.active_b}b`:""]}),t.tools==="yes"&&e.jsx(J,{tone:"primary",children:"🛠 Tools"}),t.tools==="likely"&&e.jsx(J,{tone:"warn",children:"🛠 Tools?"}),t.embedding&&e.jsx(J,{children:"🔢 Embed"})]}):null}function wt({model:t,onClose:r,onChanged:b}){var L,A;const{data:a,isLoading:c}=Te(t.gguf_path),[M,w]=j.useState(null),[N,S]=j.useState(""),g=a==null?void 0:a.target_vocab,z=(a==null?void 0:a.drafts)??[],m=z.filter(s=>s.compatible===!0),f=t.spec_draft_model;async function p(s){w(s??"__clear__"),S("");try{await q(`/api/models/${encodeURIComponent(t.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:s})}),b(),r()}catch(o){S(String((o==null?void 0:o.message)||o)),w(null)}}const d=s=>{var o;return s?`${s.pre??"?"} · ${((o=s.n_vocab)==null?void 0:o.toLocaleString())??"?"} Tokens`:"—"};return e.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[e.jsx(ie,{className:"h-4 w-4"})," Speculative Draft"]}),e.jsx("button",{onClick:r,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:e.jsx(xe,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',e.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),e.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:(L=t.name.split("/").pop())==null?void 0:L.replace(/\.gguf$/i,"")}),e.jsxs("span",{className:"text-foreground",children:["Vocab: ",d(g)]})]}),t.spec_active&&f&&e.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[e.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[e.jsx(Y,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",f]}),e.jsx("button",{onClick:()=>p(null),disabled:M!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(a!=null&&a.target_exists)&&e.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[e.jsx(se,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),e.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:c?e.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):z.length===0?e.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",e.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):z.map(s=>{var G,B;const o=s.filename===f,i=s.compatible===!0;return e.jsxs("div",{className:k("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",i?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",o&&"border-primary/40 bg-primary/10"),children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[s.filename,s.mtp&&e.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),e.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[ee(s.size_bytes)," · Vocab: ",d(s.vocab)]})]}),i?o?e.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[e.jsx(Y,{className:"h-3.5 w-3.5"})," Aktiv"]}):e.jsx("button",{onClick:()=>p(s.path),disabled:M!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):e.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:s.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(G=s.vocab)==null?void 0:G.pre}/${(B=s.vocab)==null?void 0:B.n_vocab} ≠ Modell ${g==null?void 0:g.pre}/${g==null?void 0:g.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[e.jsx(se,{className:"h-3.5 w-3.5"})," ",s.compatible===!1?"Vocab ≠":"n/a"]})]},s.path)})}),!c&&(a==null?void 0:a.target_exists)&&z.length>0&&m.length===0&&e.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",e.jsx("span",{className:"font-mono",children:g==null?void 0:g.pre}),", n_vocab=",e.jsx("span",{className:"font-mono",children:(A=g==null?void 0:g.n_vocab)==null?void 0:A.toLocaleString()}),")."]}),N&&e.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:N})]})})}const ke={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"},kritiker:{bar:"bg-cyan-500",dot:"bg-cyan-500",text:"text-cyan-400"},reranker:{bar:"bg-lime-500",dot:"bg-lime-500",text:"text-lime-400"}},Mt={fast:"hermes",coder_lite:"coder-lite"},we={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function oe(t){return t&&(ke[t]||ke[Mt[t]])||we}const Me=1024**3,Se=t=>{var r;return((r=t.split("/").pop())==null?void 0:r.replace(/\.gguf$/i,""))??t};function St({running:t,capacityBytes:r,realUsedBytes:b,selected:a,onSelect:c}){const M=r>2*Me?r:124*Me,w=t.reduce((m,f)=>m+(f.size_bytes||0),0),N=Math.max(0,b-w),S=Math.max(0,M-Math.max(w,b)),g=S/M*100,z=N/M*100;return e.jsxs("div",{className:"mc-card p-5",children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Modell-Speicher (GPU-Pool)"}),e.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[U(M)," GB ",e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),e.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"font-bold text-foreground",children:[U(w)," GB"]})," Modell-Gewichte"]}),N>0&&e.jsxs("div",{children:[U(N)," GB KV-Cache & Betrieb"]}),e.jsxs("div",{className:"text-emerald-400",children:[U(S)," GB frei"]})]})]}),e.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:t.length===0?e.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):e.jsxs(e.Fragment,{children:[t.map(m=>{const f=(m.size_bytes||0)/M*100,p=oe(m.role),d=a===m.name;return e.jsxs("button",{onClick:()=>c==null?void 0:c(m.name),style:{width:`${f}%`},title:`${F(m.role).label} · ${Se(m.name)} · ${ee(m.size_bytes)}`,className:k("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",p.bar,d?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[e.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:F(m.role).short}),e.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:ee(m.size_bytes)})]},m.name)}),z>1.5&&e.jsx("div",{style:{width:`${z}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg border border-dashed border-border/60 bg-background/40 text-[9px] font-mono text-muted-foreground/70",title:`${U(N)} GB KV-Cache & Betrieb (reale Belegung über den Modell-Gewichten)`,children:"KV"}),g>1.5&&e.jsx("div",{style:{width:`${g}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${U(S)} GB frei`,children:"frei"})]})}),t.length>0&&e.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[t.map(m=>{const f=oe(m.role);return e.jsxs("button",{onClick:()=>c==null?void 0:c(m.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[e.jsx("span",{className:k("h-2.5 w-2.5 rounded-sm",f.dot)}),e.jsx("span",{className:k("font-semibold",f.text),children:F(m.role).short}),e.jsx("span",{className:"font-mono text-muted-foreground/70",children:Se(m.name)})]},m.name)}),N>0&&e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",title:"Reale Belegung über den Modell-Gewichten (Kontext-Speicher der laufenden Modelle)",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-dashed border-border/60 bg-background/40"})," KV-Cache & Betrieb · ",U(N)," GB"]}),e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",U(S)," GB"]})]})]})}const Ce=1024**3,X=t=>{var r;return((r=t.split("/").pop())==null?void 0:r.replace(/\.gguf$/i,""))??t};function Ct(){var n,h,D,Q;const t=he(),{data:r,isLoading:b,error:a}=le(),{data:c}=Ae(),{data:M}=Be(),{showAlert:w,showConfirm:N,showPrompt:S,dialogElement:g}=Ge(),z=He(),m=(r==null?void 0:r.models)??[],f=(r==null?void 0:r.running)??[],p=l=>!!F(l).protected,d=(n=M==null?void 0:M.groups)==null?void 0:n.brains,L=(d==null?void 0:d.members)??[],A=l=>L.includes(l),[s,o]=j.useState(null),[i,G]=j.useState(""),[B,C]=j.useState("all"),[v,R]=j.useState(null),K=()=>{t.invalidateQueries({queryKey:V.models}),t.invalidateQueries({queryKey:V.routing}),t.invalidateQueries({queryKey:V.groups})},I=m.filter(l=>f.includes(l.name)),O=((h=c==null?void 0:c.gpu)==null?void 0:h.gtt_total)||((D=c==null?void 0:c.gpu)==null?void 0:D.vram_total)||0,W=((Q=c==null?void 0:c.gpu)==null?void 0:Q.gtt_used)||0,te=O>2*Ce?O:124*Ce,T=j.useMemo(()=>{const l=i.trim().toLowerCase();return m.filter(x=>B==="in_use"?!!x.role||f.includes(x.name):!0).filter(x=>l?x.name.toLowerCase().includes(l):!0).sort((x,y)=>{const P=f.includes(x.name)?0:1,Z=f.includes(y.name)?0:1;return P!==Z?P-Z:X(x.name).localeCompare(X(y.name))})},[m,f,B,i]),$=m.find(l=>l.name===s)??null;async function u(l){try{await q(`/api/models/${encodeURIComponent(l)}/load`,{method:"POST"}),K()}catch(x){w("Fehler",`Laden fehlgeschlagen: ${x.message||x}`)}}async function _(l){const x=L.some(y=>f.includes(y));if(d&&x&&!A(l)){const y=L.filter(P=>f.includes(P)).map(X).join(", ");N("Verdrängt das Hirn?",`„${X(l)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${y}) raus — Lucy verliert Hirn bzw. Augen. + */const ft=E("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),yt=["fast","heavy","heavy_chars"],jt=["coder_lite","coder","coding_escalate_chars"];function vt(){const t=he(),{data:r,isLoading:b}=qe(),[n,i]=v.useState(null),[M,w]=v.useState(!1),[N,S]=v.useState(""),[g,z]=v.useState(0);if(v.useEffect(()=>{r!=null&&r.policy&&!n&&i({...r.policy})},[r,n]),b||!r||!n)return e.jsx("div",{className:"mc-card p-5 text-xs text-muted-foreground",children:"Lade Routing-Policy…"});const m=s=>r.fields.find(o=>o.key===s),f=Object.keys(n).some(s=>n[s]!==r.policy[s]),p=(s,o)=>{i(d=>d&&{...d,[s]:o}),S("")},c=s=>p(s,r.defaults[s]);async function L(){if(!n)return;const s={};for(const o of Object.keys(n))n[o]!==r.policy[o]&&(s[o]=n[o]);if(Object.keys(s).length!==0){w(!0),S("");try{const{policy:o}=await Re(s);i({...o}),t.invalidateQueries({queryKey:V.routingPolicy}),t.invalidateQueries({queryKey:V.routing}),z(Date.now()),setTimeout(()=>z(0),2e3)}catch(o){S(o.message||String(o))}finally{w(!1)}}}function A({k:s}){const o=m(s),d=n[s],G=n[s]===r.defaults[s];return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("label",{className:"text-[10px] font-semibold text-muted-foreground",children:o.label}),!G&&e.jsxs("button",{onClick:()=>c(s),className:"flex items-center gap-0.5 text-[9px] text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",title:`Auf Default zurücksetzen (${String(r.defaults[s])||"leer"})`,children:[e.jsx(Ie,{className:"h-2.5 w-2.5"})," Default"]})]}),o.type==="bool"?e.jsxs("button",{onClick:()=>p(s,!d),className:k("flex h-8 w-full items-center justify-between rounded-lg border px-3 text-[11px] font-semibold transition-all cursor-pointer",d?"border-emerald-500/40 bg-emerald-500/10 text-emerald-300":"border-border/40 bg-background/40 text-muted-foreground"),children:[e.jsx("span",{children:d?"An":"Aus"}),e.jsx("span",{className:k("h-3.5 w-3.5 rounded-full transition-colors",d?"bg-emerald-400":"bg-muted-foreground/40")})]}):o.type==="int"?e.jsx("input",{type:"number",value:d,min:o.min,max:o.max,"aria-label":o.label,onChange:B=>p(s,Number(B.target.value)),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"}):e.jsx("input",{type:"text",value:d,"aria-label":o.label,spellCheck:!1,placeholder:s==="coder_lite"?"(leer = aus)":"",onChange:B=>p(s,B.target.value),className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 px-3 font-mono text-[11px] text-foreground outline-none focus:border-primary/50"})]})}return e.jsxs("div",{className:"mc-card p-5 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ht,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lane-Routing & Policy"}),e.jsx("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-300 border border-emerald-500/20",children:"hot-reload"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[N&&e.jsx("span",{className:"text-[10px] text-red-400 max-w-[280px] truncate",title:N,children:N}),g>0&&e.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-emerald-400",children:[e.jsx(Y,{className:"h-3.5 w-3.5"})," gespeichert"]}),e.jsxs("button",{onClick:L,disabled:!f||M,className:k("h-8 px-4 rounded-lg text-[10px] font-bold uppercase tracking-wide transition-all flex items-center gap-1.5",f&&!M?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer shadow-md shadow-primary/10":"bg-background/40 text-muted-foreground/50 border border-border/40 cursor-not-allowed"),children:[M?e.jsx(Fe,{className:"h-3.5 w-3.5 animate-spin"}):null,"Speichern"]})]})]}),e.jsxs("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed -mt-1",children:["Welches echte Modell hinter den virtuellen Lanes ",e.jsx("code",{className:"text-cyan-300",children:"chat"})," und"," ",e.jsx("code",{className:"text-cyan-300",children:"coding"})," steckt. Änderungen greifen sofort (kein Neustart). Die Keyword-Heuristiken bleiben im Code."]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[e.jsx(mt,{className:"h-4 w-4 text-teal-400"}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"chat"}),e.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(= auto)"})]}),yt.map(s=>e.jsx(A,{k:s},s))]}),e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 pb-2",children:[e.jsx(tt,{className:"h-4 w-4 text-indigo-400"}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-foreground",children:"coding"}),e.jsx("span",{className:"text-[9px] text-muted-foreground/60 font-mono",children:"(agentisch → immer Coder)"})]}),jt.map(s=>e.jsx(A,{k:s},s))]})]}),e.jsx("div",{className:"rounded-xl border border-border/40 bg-background/25 p-4",children:e.jsx("div",{className:"max-w-xs",children:e.jsx(A,{k:"fast_no_think"})})})]})}const fe=[{role:"hermes",label:"Lucys Hirn",short:"Hirn",icon:re,desc:"Lucys Alltags-Verstand — denkt und redet mit dir. Immer bereit.",tone:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25",protected:!0},{role:"embed",label:"Lucys Gedächtnis",short:"Gedächtnis",icon:Pe,desc:"Merkt sich Wichtiges und findet es später wieder.",tone:"bg-emerald-500/15 text-emerald-400 border-emerald-500/25",protected:!0},{role:"reranker",label:"Gedächtnis-Sortierer",short:"Sortierer",icon:ct,desc:"Ordnet gefundene Erinnerungen nach echter Relevanz — die Feinsortierung hinter dem Gedächtnis.",tone:"bg-lime-500/15 text-lime-400 border-lime-500/25"},{role:"vision",label:"Lucys Augen",short:"Augen",icon:ze,desc:"Sieht Bilder und Screenshots und beschreibt, was drauf ist.",tone:"bg-pink-500/15 text-pink-400 border-pink-500/25"},{role:"heavy",label:"Großes Hirn",short:"Groß",icon:lt,desc:"Das schwere Geschütz — wird für besonders knifflige Fragen dazugeholt.",tone:"bg-amber-500/15 text-amber-400 border-amber-500/25"},{role:"coder-lite",label:"Programmierer (schnell)",short:"Code schnell",icon:ue,desc:"Schnelles Programmieren im Alltag.",tone:"bg-violet-500/15 text-violet-400 border-violet-500/25"},{role:"coder",label:"Programmierer",short:"Code",icon:ue,desc:"Baut und plant. Der Kopf der Coding-Mannschaft — er hält den Faden und verteilt Zuarbeit.",tone:"bg-fuchsia-500/15 text-fuchsia-400 border-fuchsia-500/25",protected:!0},{role:"scout",label:"Späher",short:"Späher",icon:gt,desc:"Schneller erster Blick und grobe Einschätzung.",tone:"bg-teal-500/15 text-teal-400 border-teal-500/25"},{role:"kritiker",label:"Kritiker",short:"Kritiker",icon:Ee,desc:"Liest dem Programmierer nach jeder Etappe gegen — bewusst aus einer FREMDEN Modellfamilie (Mistral statt Qwen), damit er andere blinde Flecken hat.",tone:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25"}];fe.map(t=>t.role);const je=Object.fromEntries(fe.map(t=>[t.role,t])),ve=t=>({role:t||"?",label:t||"unbekannt",short:t||"?",icon:re,desc:"Rolle ohne hinterlegten Klartext-Namen.",tone:"bg-slate-500/15 text-slate-300 border-slate-500/25"}),Nt={fast:"hermes",coder_lite:"coder-lite"};function F(t){return t&&(je[t]||je[Nt[t]])||ve(t)}function pe({role:t,dense:r=!1,className:b}){const n=F(t),i=n.icon;return e.jsxs("span",{className:k("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-semibold border tracking-wide",n.tone,b),title:`${n.desc} (${n.role})`,children:[e.jsx(i,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),r?n.short:n.label]})}function kt({fit:t}){const r={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[t.level];return e.jsxs("span",{className:k("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",r),children:[t.text," • ",t.req_gb," GB RAM"]})}function Ke(t){const r=t.toLowerCase();return r.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:r.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:r.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:r.includes("mistral")||r.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:r.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:r.includes("hermes")||r.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:r.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function wt(){var te,T,$;const t=he(),{data:r}=le(),{data:b}=Be(),{data:n}=Ae(),{data:i}=Oe(),{showAlert:M,dialogElement:w}=Ge(),[N,S]=v.useState(!1),[g,z]=v.useState(!1),m=(r==null?void 0:r.models)??[],f=(r==null?void 0:r.running)??[],p=(te=b==null?void 0:b.groups)==null?void 0:te.brains,c=(p==null?void 0:p.members)??[],L=u=>m.find(_=>_.name===u),A=u=>{var _;return((_=u.split("/").pop())==null?void 0:_.replace(/\.gguf$/i,""))||u},s=c.map(L).filter(Boolean),o=1024**3,d=i==null?void 0:i.budget,G=s.reduce((u,_)=>u+(_.size_bytes||0),0)/o,B=((T=n==null?void 0:n.gpu)==null?void 0:T.gtt_total)||(($=n==null?void 0:n.gpu)==null?void 0:$.vram_total)||0,C=(d==null?void 0:d.gtt_gb)||(B?B/o:0),j=(d==null?void 0:d.warm_projected_gb)??G,R=C>0?Math.min(100,j/C*100):0,K=m.filter(u=>!c.includes(u.name)&&!u.incomplete);async function I(u){z(!0);try{await Te("brains",u,(p==null?void 0:p.swap)??!1,(p==null?void 0:p.persist)??!0),t.invalidateQueries({queryKey:V.groups}),t.invalidateQueries({queryKey:V.models}),t.invalidateQueries({queryKey:V.hermesBrain})}catch(_){M("Fehler",`Immer-bereit-Set konnte nicht geändert werden: ${(_==null?void 0:_.message)||_}`)}finally{z(!1)}}function O(u){const _=L(u);if(_&&F(_.role).protected){M("Geschützt",`„${F(_.role).label}" ist lebenswichtig und bleibt immer bereit.`);return}I(c.filter(H=>H!==u))}function W(u){S(!1),I([...c,u])}return p?e.jsxs("div",{className:"mc-card p-5 space-y-4",children:[e.jsx(Ne,{}),e.jsxs("div",{className:"space-y-1.5",children:[s.length===0&&e.jsx("div",{className:"text-xs text-muted-foreground",children:"Noch keine Modelle im Set."}),s.map(u=>{const _=f.includes(u.name),H=F(u.role).protected;return e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[e.jsx("span",{className:k("h-2 w-2 shrink-0 rounded-full ring-2 ring-black/40",_?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40"),title:_?"Gerade warm (bereit)":"Reserviert — lädt bei Bedarf sofort"}),u.role&&e.jsx(pe,{role:u.role,dense:!0,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",title:u.name,children:A(u.name)}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:ee(u.size_bytes)})]}),H?e.jsx("span",{className:"shrink-0 text-[10px] font-semibold text-muted-foreground",title:"Lebenswichtig — bleibt immer im Set.",children:"🔒"}):e.jsx("button",{onClick:()=>O(u.name),disabled:g,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:bg-red-500/5 hover:text-red-400 cursor-pointer disabled:opacity-50",title:"Aus dem Immer-bereit-Set nehmen (lädt dann nur noch bei Bedarf)",children:e.jsx(xe,{className:"h-3.5 w-3.5"})})]},u.name)})]}),e.jsxs("button",{onClick:()=>S(!0),disabled:g||K.length===0,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border/50 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground transition-colors hover:border-primary/40 hover:text-primary cursor-pointer disabled:opacity-50",children:[e.jsx(ut,{className:"h-3.5 w-3.5"})," Modell dauerhaft bereithalten"]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",title:"Modellgewichte + KV-Cache, berechnet aus den echten Architektur-Daten jedes Modells (Layer × KV-Köpfe × Kontext) und seiner KV-Quantisierung. So viel legt llama.cpp beim Laden wirklich für den eingestellten Kontext an — kein Aufschlag mehr.",children:[e.jsx(be,{className:"h-3.5 w-3.5"})," Reserviert fürs Set"]}),e.jsxs("span",{className:"font-mono font-bold text-foreground",children:[j.toFixed(1),C>0?` / ${C.toFixed(0)}`:""," GB"]})]}),e.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:e.jsx("div",{className:k("h-full rounded-full transition-all duration-500",R>=85?"bg-red-500":R>=65?"bg-amber-500":"bg-teal-500"),style:{width:`${R}%`}})}),d&&!d.fits&&e.jsxs("p",{className:"mt-2 flex items-start gap-1.5 text-[11px] text-amber-400",children:[e.jsx(se,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),e.jsxs("span",{children:["Zusammen mit dem größten Gelegenheits-Modell (~",d.largest_ondemand_gb," GB) wird der Speicher knapp. Das Set bleibt dabei immer geladen — wird es wirklich eng, schlägt das Laden des großen Modells fehl (es wartet dann, statt das Set zu verdrängen)."]})]}),d&&d.fits&&e.jsxs("p",{className:"mt-2 flex items-center gap-1.5 text-[11px] text-emerald-400",children:[e.jsx(Y,{className:"h-3.5 w-3.5 shrink-0"})," Passt auch neben dem größten Gelegenheits-Modell — nichts wird verdrängt."]})]}),N&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",role:"dialog","aria-modal":"true","aria-label":"Modell zum Immer-bereit-Set hinzufügen",children:e.jsxs("div",{className:"w-full max-w-md space-y-3 rounded-2xl border border-border/80 bg-card p-6 shadow-2xl animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:"Dauerhaft bereithalten"}),e.jsx("button",{onClick:()=>S(!1),className:"rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer",children:e.jsx(xe,{className:"h-4 w-4"})})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Wähle ein Modell, das ohne Ladezeit bereitstehen soll:"}),e.jsx("div",{className:"max-h-60 space-y-1.5 overflow-y-auto pr-1",children:K.map(u=>e.jsxs("button",{onClick:()=>W(u.name),className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border/30 bg-background/20 px-3 py-2.5 text-left transition-colors hover:bg-accent cursor-pointer",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.role&&e.jsx(pe,{role:u.role,dense:!0,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",children:A(u.name)})]}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:ee(u.size_bytes)})]},u.name))})]})}),w]}):e.jsxs("div",{className:"mc-card p-5",children:[e.jsx(Ne,{}),e.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Es gibt noch kein Immer-bereit-Set. Es entsteht automatisch, sobald Lucys Hirn zugewiesen ist."}),w]})}function Ne(){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ie,{className:"h-4.5 w-4.5 text-primary"}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-bold uppercase tracking-wide text-foreground",children:"Immer-bereit-Set"}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Diese Modelle hält Lucy immer bereit — sie antworten ohne Ladezeit."})]})]})}function J({children:t,tone:r="muted"}){const b={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return e.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${b[r]}`,children:t})}function Mt({caps:t}){return t?e.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[t.coder&&e.jsx(J,{children:"💻 Code"}),t.vision&&e.jsx(J,{children:"👁 Bild"}),t.reasoning&&e.jsx(J,{children:"🧠 Reason"}),t.moe&&e.jsxs(J,{tone:"primary",children:["🧩 MoE",t.active_b?`·${t.active_b}b`:""]}),t.tools==="yes"&&e.jsx(J,{tone:"primary",children:"🛠 Tools"}),t.tools==="likely"&&e.jsx(J,{tone:"warn",children:"🛠 Tools?"}),t.embedding&&e.jsx(J,{children:"🔢 Embed"})]}):null}function St({model:t,onClose:r,onChanged:b}){var L,A;const{data:n,isLoading:i}=He(t.gguf_path),[M,w]=v.useState(null),[N,S]=v.useState(""),g=n==null?void 0:n.target_vocab,z=(n==null?void 0:n.drafts)??[],m=z.filter(s=>s.compatible===!0),f=t.spec_draft_model;async function p(s){w(s??"__clear__"),S("");try{await q(`/api/models/${encodeURIComponent(t.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:s})}),b(),r()}catch(o){S(String((o==null?void 0:o.message)||o)),w(null)}}const c=s=>{var o;return s?`${s.pre??"?"} · ${((o=s.n_vocab)==null?void 0:o.toLocaleString())??"?"} Tokens`:"—"};return e.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[e.jsx(ie,{className:"h-4 w-4"})," Speculative Draft"]}),e.jsx("button",{onClick:r,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:e.jsx(xe,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',e.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),e.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:(L=t.name.split("/").pop())==null?void 0:L.replace(/\.gguf$/i,"")}),e.jsxs("span",{className:"text-foreground",children:["Vocab: ",c(g)]})]}),t.spec_active&&f&&e.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[e.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[e.jsx(Y,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",f]}),e.jsx("button",{onClick:()=>p(null),disabled:M!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&e.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[e.jsx(se,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),e.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?e.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):z.length===0?e.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",e.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):z.map(s=>{var G,B;const o=s.filename===f,d=s.compatible===!0;return e.jsxs("div",{className:k("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",d?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",o&&"border-primary/40 bg-primary/10"),children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate flex items-center gap-1.5",children:[s.filename,s.mtp&&e.jsx("span",{className:"shrink-0 rounded bg-indigo-500/15 px-1.5 py-0.5 text-[8px] font-bold uppercase tracking-wider text-indigo-400 border border-indigo-500/25",title:"MTP-Kopf (Multi-Token-Prediction) — by-construction vocab-identisch, höchste Akzeptanzrate",children:"MTP"})]}),e.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[ee(s.size_bytes)," · Vocab: ",c(s.vocab)]})]}),d?o?e.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[e.jsx(Y,{className:"h-3.5 w-3.5"})," Aktiv"]}):e.jsx("button",{onClick:()=>p(s.path),disabled:M!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):e.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:s.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(G=s.vocab)==null?void 0:G.pre}/${(B=s.vocab)==null?void 0:B.n_vocab} ≠ Modell ${g==null?void 0:g.pre}/${g==null?void 0:g.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[e.jsx(se,{className:"h-3.5 w-3.5"})," ",s.compatible===!1?"Vocab ≠":"n/a"]})]},s.path)})}),!i&&(n==null?void 0:n.target_exists)&&z.length>0&&m.length===0&&e.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",e.jsx("span",{className:"font-mono",children:g==null?void 0:g.pre}),", n_vocab=",e.jsx("span",{className:"font-mono",children:(A=g==null?void 0:g.n_vocab)==null?void 0:A.toLocaleString()}),")."]}),N&&e.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:N})]})})}const ke={hermes:{bar:"bg-indigo-500",dot:"bg-indigo-500",text:"text-indigo-400"},embed:{bar:"bg-emerald-500",dot:"bg-emerald-500",text:"text-emerald-400"},vision:{bar:"bg-pink-500",dot:"bg-pink-500",text:"text-pink-400"},heavy:{bar:"bg-amber-500",dot:"bg-amber-500",text:"text-amber-400"},"coder-lite":{bar:"bg-violet-500",dot:"bg-violet-500",text:"text-violet-400"},coder:{bar:"bg-fuchsia-500",dot:"bg-fuchsia-500",text:"text-fuchsia-400"},scout:{bar:"bg-teal-500",dot:"bg-teal-500",text:"text-teal-400"},kritiker:{bar:"bg-cyan-500",dot:"bg-cyan-500",text:"text-cyan-400"},reranker:{bar:"bg-lime-500",dot:"bg-lime-500",text:"text-lime-400"}},Ct={fast:"hermes",coder_lite:"coder-lite"},we={bar:"bg-slate-400",dot:"bg-slate-400",text:"text-slate-300"};function oe(t){return t&&(ke[t]||ke[Ct[t]])||we}const Me=1024**3,Se=t=>{var r;return((r=t.split("/").pop())==null?void 0:r.replace(/\.gguf$/i,""))??t};function _t({running:t,capacityBytes:r,realUsedBytes:b,selected:n,onSelect:i}){const M=r>2*Me?r:124*Me,w=t.reduce((m,f)=>m+(f.size_bytes||0),0),N=Math.max(0,b-w),S=Math.max(0,M-Math.max(w,b)),g=S/M*100,z=N/M*100;return e.jsxs("div",{className:"mc-card p-5",children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Modell-Speicher (GPU-Pool)"}),e.jsxs("div",{className:"font-space text-xl font-bold tracking-tight text-foreground",children:[U(M)," GB ",e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"gesamt"})]})]})]}),e.jsxs("div",{className:"text-right text-[11px] font-mono text-muted-foreground",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"font-bold text-foreground",children:[U(w)," GB"]})," Modell-Gewichte"]}),N>0&&e.jsxs("div",{children:[U(N)," GB KV-Cache & Betrieb"]}),e.jsxs("div",{className:"text-emerald-400",children:[U(S)," GB frei"]})]})]}),e.jsx("div",{className:"flex h-12 w-full overflow-hidden rounded-xl border border-border/40 bg-background/50 p-1",children:t.length===0?e.jsx("div",{className:"flex w-full items-center justify-center text-[11px] italic text-muted-foreground/60",children:"Kein Modell geladen — Auto-Swap holt bei Anfrage automatisch das passende."}):e.jsxs(e.Fragment,{children:[t.map(m=>{const f=(m.size_bytes||0)/M*100,p=oe(m.role),c=n===m.name;return e.jsxs("button",{onClick:()=>i==null?void 0:i(m.name),style:{width:`${f}%`},title:`${F(m.role).label} · ${Se(m.name)} · ${ee(m.size_bytes)}`,className:k("group flex h-full min-w-[2.5rem] shrink-0 flex-col justify-center gap-0.5 rounded-lg px-2 text-left text-white transition-all",p.bar,c?"ring-2 ring-white/70":"opacity-90 hover:opacity-100"),children:[e.jsx("span",{className:"truncate font-space text-[10px] font-bold leading-tight tracking-wide",children:F(m.role).short}),e.jsx("span",{className:"truncate font-mono text-[9px] leading-tight opacity-85",children:ee(m.size_bytes)})]},m.name)}),z>1.5&&e.jsx("div",{style:{width:`${z}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg border border-dashed border-border/60 bg-background/40 text-[9px] font-mono text-muted-foreground/70",title:`${U(N)} GB KV-Cache & Betrieb (reale Belegung über den Modell-Gewichten)`,children:"KV"}),g>1.5&&e.jsx("div",{style:{width:`${g}%`},className:"flex h-full min-w-[2rem] items-center justify-center rounded-lg text-[9px] font-mono text-muted-foreground/50",title:`${U(S)} GB frei`,children:"frei"})]})}),t.length>0&&e.jsxs("div",{className:"mt-3 flex flex-wrap gap-x-4 gap-y-1.5",children:[t.map(m=>{const f=oe(m.role);return e.jsxs("button",{onClick:()=>i==null?void 0:i(m.name),className:"flex items-center gap-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[e.jsx("span",{className:k("h-2.5 w-2.5 rounded-sm",f.dot)}),e.jsx("span",{className:k("font-semibold",f.text),children:F(m.role).short}),e.jsx("span",{className:"font-mono text-muted-foreground/70",children:Se(m.name)})]},m.name)}),N>0&&e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",title:"Reale Belegung über den Modell-Gewichten (Kontext-Speicher der laufenden Modelle)",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-dashed border-border/60 bg-background/40"})," KV-Cache & Betrieb · ",U(N)," GB"]}),e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground/60",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-sm border border-border/50 bg-background/50"})," frei · ",U(S)," GB"]})]})]})}const Ce=1024**3,X=t=>{var r;return((r=t.split("/").pop())==null?void 0:r.replace(/\.gguf$/i,""))??t};function Lt(){var a,h,D,Q;const t=he(),{data:r,isLoading:b,error:n}=le(),{data:i}=Ae(),{data:M}=Be(),{showAlert:w,showConfirm:N,showPrompt:S,dialogElement:g}=Ge(),z=Qe(),m=(r==null?void 0:r.models)??[],f=(r==null?void 0:r.running)??[],p=l=>!!F(l).protected,c=(a=M==null?void 0:M.groups)==null?void 0:a.brains,L=(c==null?void 0:c.members)??[],A=l=>L.includes(l),[s,o]=v.useState(null),[d,G]=v.useState(""),[B,C]=v.useState("all"),[j,R]=v.useState(null),K=()=>{t.invalidateQueries({queryKey:V.models}),t.invalidateQueries({queryKey:V.routing}),t.invalidateQueries({queryKey:V.groups})},I=m.filter(l=>f.includes(l.name)),O=((h=i==null?void 0:i.gpu)==null?void 0:h.gtt_total)||((D=i==null?void 0:i.gpu)==null?void 0:D.vram_total)||0,W=((Q=i==null?void 0:i.gpu)==null?void 0:Q.gtt_used)||0,te=O>2*Ce?O:124*Ce,T=v.useMemo(()=>{const l=d.trim().toLowerCase();return m.filter(x=>B==="in_use"?!!x.role||f.includes(x.name):!0).filter(x=>l?x.name.toLowerCase().includes(l):!0).sort((x,y)=>{const P=f.includes(x.name)?0:1,Z=f.includes(y.name)?0:1;return P!==Z?P-Z:X(x.name).localeCompare(X(y.name))})},[m,f,B,d]),$=m.find(l=>l.name===s)??null;async function u(l){try{await q(`/api/models/${encodeURIComponent(l)}/load`,{method:"POST"}),K()}catch(x){w("Fehler",`Laden fehlgeschlagen: ${x.message||x}`)}}async function _(l){const x=L.some(y=>f.includes(y));if(c&&x&&!A(l)){const y=L.filter(P=>f.includes(P)).map(X).join(", ");N("Verdrängt das Hirn?",`„${X(l)}" ist nicht ko-resident. Beim Laden wirft es das warme Hirn (${y}) raus — Lucy verliert Hirn bzw. Augen. -Trotzdem exklusiv laden?`,()=>u(l));return}u(l)}async function H(l){const x=m.find(y=>y.name===l);if(x&&p(x.role)){w("Geschützt",`„${F(x.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await q(`/api/models/${encodeURIComponent(l)}/unload`,{method:"POST"}),K()}catch(y){w("Fehler",`Entladen fehlgeschlagen: ${y.message||y}`)}}async function de(l,x){try{const y=await q(`/api/models/${encodeURIComponent(x)}/role`,{method:"POST",body:JSON.stringify({role:l||null})});K(),y!=null&&y.warning&&w("Rolle gesetzt — Hinweis",y.warning)}catch(y){w("Fehler",`Rolle zuweisen fehlgeschlagen: ${y.message||y}`)}}async function ce(l,x){let y=null;try{y=await q(`/api/models/${encodeURIComponent(l)}/ctx/auto`)}catch{}const P=y?`Optimal für dein Setup: ${(y.ctx/1024).toFixed(0)}k (${y.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";S("Kontextlänge anpassen",P,String(x||32768),async Z=>{if(Z)try{await q(`/api/models/${encodeURIComponent(l)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Z,10)})}),K()}catch(ye){w("Fehler",`Kontext setzen fehlgeschlagen: ${ye.message||ye}`)}},void 0,y?{autoValue:String(y.ctx),autoLabel:`Auto (${(y.ctx/1024).toFixed(0)}k)`}:void 0)}async function me(l){const x=m.find(y=>y.name===l);if(x&&p(x.role)){w("Geschützt",`„${F(x.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}N("Modell löschen?",`„${X(l)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await q(`/api/models/${encodeURIComponent(l)}`,{method:"DELETE"}),s===l&&o(null),K()}catch(y){w("Fehler",`Löschen fehlgeschlagen: ${y.message||y}`)}})}return b?e.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):a?e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(a),")."]}):e.jsxs("div",{className:"space-y-5",children:[e.jsx(St,{running:I,capacityBytes:te,realUsedBytes:W,selected:s,onSelect:o}),e.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[e.jsxs("div",{className:"mc-card p-4",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ge,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),e.jsx("input",{value:i,onChange:l=>G(l.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),e.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(l=>e.jsx("button",{onClick:()=>C(l),className:k("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",B===l?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:l==="all"?"Alle":"In Benutzung"},l))})]}),e.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:T.length===0?e.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):T.map(l=>{const x=f.includes(l.name),y=s===l.name,P=Ke(l.name),Z=oe(l.role);return e.jsxs("button",{onClick:()=>o(l.name),className:k("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",y?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[e.jsx("span",{className:k("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",P.color),children:P.initial}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:X(l.name)}),e.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[l.role&&e.jsx("span",{className:k("h-2 w-2 rounded-sm",Z.dot)}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:l.role?F(l.role).short:"keine Rolle"}),e.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",ee(l.size_bytes)]})]})]}),x?e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):l.incomplete?e.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):e.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},l.name)})})]}),e.jsx("div",{className:"mc-card p-5",children:$?e.jsx(_t,{m:$,warm:f.includes($.name),expert:z,protectedRole:p($.role),coresident:A($.name),onLoad:()=>_($.name),onUnload:()=>H($.name),onRole:l=>de(l,$.name),onCtx:()=>ce($.name,$.ctx),onSpec:()=>R($),onDelete:()=>me($.name)}):e.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[e.jsx(Qe,{className:"h-8 w-8 opacity-40"}),e.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),e.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),v&&e.jsx(wt,{model:v,onClose:()=>R(null),onChanged:K}),g]})}function _t({m:t,warm:r,expert:b,protectedRole:a,coresident:c,onLoad:M,onUnload:w,onRole:N,onCtx:S,onSpec:g,onDelete:z}){const m=Ke(t.name),f=r&&a;return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:k("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",m.color),children:m.initial}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:X(t.name)}),e.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[t.role?e.jsx(pe,{role:t.role}):e.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),a&&e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[e.jsx(tt,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),c&&e.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[e.jsx(re,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),r&&e.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),e.jsxs("button",{onClick:r?w:M,disabled:t.incomplete&&!r||f,className:k("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",r?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:f?`„${F(t.role).label}" bleibt geladen (geschützt).`:void 0,children:[r?e.jsx(xt,{className:"h-4 w-4"}):e.jsx(Ue,{className:"h-4 w-4"}),f?"🔒 bleibt geladen":r?"Entladen":"Ins Warm-Set laden"]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:[e.jsx("span",{children:"Rolle"}),a&&e.jsx("span",{className:"normal-case font-medium tracking-normal text-muted-foreground/70",children:"🔒 lebenswichtig — zum Tausch die Rolle woanders zuweisen"})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsx(_e,{active:!t.role,onClick:()=>N(""),dot:"bg-slate-400",label:"keine",disabled:a}),fe.map(p=>e.jsx(_e,{active:t.role===p.role,onClick:()=>N(p.role),dot:oe(p.role).dot,label:p.short,disabled:a&&t.role!==p.role},p.role))]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsx(Lt,{icon:be,label:"Größe",value:ee(t.size_bytes)}),e.jsxs("button",{onClick:S,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[e.jsx(ct,{className:"h-4 w-4 text-primary/80"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),e.jsx("div",{className:"font-semibold text-foreground",children:Ve(t.ctx)})]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),b&&e.jsxs("button",{onClick:g,className:k("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",t.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":t.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[e.jsx(ie,{className:"h-3 w-3"})," Spec"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[t.spec_active&&e.jsx(ne,{tone:"emerald",label:"Spec-Decoding aktiv"}),!t.spec_active&&t.spec_draft_model&&e.jsx(ne,{tone:"amber",label:"Spec inaktiv"}),t.prompt_cache&&e.jsx(ne,{tone:"cyan",label:"Prompt-Cache"}),t.parallel_slots>1&&e.jsx(ne,{tone:"violet",label:`${t.parallel_slots} Slots`}),!t.spec_active&&!t.spec_draft_model&&!t.prompt_cache&&t.parallel_slots<=1&&e.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(kt,{caps:t.capabilities})}),e.jsxs("button",{onClick:z,disabled:a,className:k("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",a?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[e.jsx(bt,{className:"h-3.5 w-3.5"})," ",a?"geschützt — nicht löschbar":"Modell löschen"]})]})}function _e({active:t,onClick:r,dot:b,label:a,disabled:c}){return e.jsxs("button",{onClick:r,disabled:c,title:c?"Gesperrt: dieses Modell hält eine lebenswichtige Rolle.":void 0,className:k("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all",c?"cursor-not-allowed opacity-40 border-border/40 bg-background/20 text-muted-foreground":t?"cursor-pointer border-primary/60 bg-primary/15 text-foreground":"cursor-pointer border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[e.jsx("span",{className:k("h-2 w-2 rounded-sm",b)}),a,t&&e.jsx(Y,{className:"h-3 w-3 text-primary"})]})}function Lt({icon:t,label:r,value:b}){return e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[e.jsx(t,{className:"h-4 w-4 text-primary/80"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:r}),e.jsx("div",{className:"font-semibold text-foreground",children:b})]})]})}function ne({tone:t,label:r}){const b={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[t];return e.jsx("span",{className:k("rounded border px-1.5 py-0.5 text-[10px] font-semibold",b),children:r})}const zt=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],Bt=["fast","heavy","coder","vision","hermes","scout"],At=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function Le(t){return At.format(t)}function Gt(){const{data:t}=le(),r=(t==null?void 0:t.models)??[],[b,a]=j.useState(""),[c,M]=j.useState([]),[w,N]=j.useState(!1),[S,g]=j.useState(""),[z,m]=j.useState("popular"),[f,p]=j.useState(""),[d,L]=j.useState(null),[A,s]=j.useState([]),[o,i]=j.useState("Q4_K_M"),[G,B]=j.useState(""),[C,v]=j.useState(null),[R,K]=j.useState(!1),[I,O]=j.useState({});async function W(n){N(!0),g("");try{const h=await q(`/api/hf/search?q=${encodeURIComponent(n)}`);M(h.results),h.results.length||g("Keine Ergebnisse.")}catch(h){g(`Suche fehlgeschlagen: ${h}`)}finally{N(!1)}}j.useEffect(()=>{W("")},[]);function te(n){m(n.key),a(""),W(n.q)}function T(){m(""),W(b)}async function $(n,h,D){K(!1);try{const Q=await q(`/api/fit?params_b=0&quant=${encodeURIComponent(h)}&ctx=8192&name=${encodeURIComponent(n)}&role=${encodeURIComponent(D)}`);v(Q)}catch{v(null)}}async function u(n){if(d===n){L(null);return}L(n),s([]),v(null),B(""),K(!1),g("Analysiere Repository…");try{const h=await q(`/api/hf/quants?repo=${encodeURIComponent(n)}`);s(h.quants);const D=h.quants.includes("Q4_K_M")?"Q4_K_M":h.quants[0]||"Q4_K_M";i(D),g(h.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),h.quants.length&&$(h.repo,D,"")}catch(h){g(`Fehler: ${h}`)}}function _(){const n=f.trim();n&&(M(h=>h.some(D=>D.repo===n)?h:[{repo:n,downloads:0,likes:0},...h]),p(""),u(n))}const H=G?r.find(n=>(n.role||"").toLowerCase()===G):void 0;async function de(n){if((C==null?void 0:C.fit.level)==="too_tight"&&!R){K(!0);return}O(h=>({...h,[n]:"Starte…"}));try{await q("/api/models/install",{method:"POST",body:JSON.stringify({repo:n,quant:o,role:G||void 0,jinja:!0})}),O(h=>({...h,[n]:"Download läuft"})),K(!1)}catch(h){O(D=>({...D,[n]:`Fehler: ${h instanceof Error?h.message:String(h)}`}))}}const ce=n=>{var D;const h=((D=n.split("/").pop())==null?void 0:D.toLowerCase().replace(/-gguf$/i,""))||"";return h.length>3&&r.some(Q=>Q.name.toLowerCase().includes(h))},me=n=>n==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":n==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ge,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx("input",{value:b,onChange:n=>a(n.target.value),onKeyDown:n=>n.key==="Enter"&&T(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),e.jsx("button",{onClick:T,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:zt.map(n=>e.jsxs("button",{onClick:()=>te(n),className:k("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",z===n.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[n.key==="popular"&&e.jsx(ot,{className:"h-3 w-3"}),n.label]},n.key))}),w?e.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):e.jsxs("div",{className:"space-y-2",children:[c.map(n=>{const h=d===n.repo,D=ce(n.repo),Q=n.repo.includes("/")?n.repo.split("/")[0]:"—",l=n.repo.split("/").pop();return e.jsxs("div",{className:k("mc-card-sm",h?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[e.jsxs("button",{onClick:()=>u(n.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:n.repo,children:l}),D&&e.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[e.jsx(Y,{className:"h-2.5 w-2.5"})," installiert"]})]}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[e.jsx("span",{children:Q}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ae,{className:"h-3 w-3"})," ",Le(n.downloads)]}),n.likes>0&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(lt,{className:"h-3 w-3"})," ",Le(n.likes)]})]})]}),h?e.jsx(De,{className:"h-4 w-4 text-muted-foreground shrink-0"}):e.jsx($e,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),h&&e.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:A.length===0?e.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:S||"Lade Quants…"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),e.jsx("select",{value:o,onChange:x=>{i(x.target.value),$(n.repo,x.target.value,G)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:A.map(x=>e.jsx("option",{value:x,className:"bg-popover text-foreground",children:x},x))}),e.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),e.jsxs("select",{value:G,onChange:x=>{B(x.target.value),$(n.repo,o,x.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[e.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),Bt.map(x=>e.jsx("option",{value:x,className:"bg-popover text-foreground",children:x},x))]}),e.jsx("button",{onClick:()=>de(n.repo),disabled:!!I[n.repo]&&I[n.repo]==="Download läuft",className:k("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",R?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:I[n.repo]?I[n.repo]:R?e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):e.jsxs(e.Fragment,{children:[e.jsx(ae,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),C&&e.jsxs("div",{className:k("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",me(C.fit.level)),children:[e.jsx("span",{className:"font-bold uppercase tracking-wide",children:C.fit.text}),e.jsxs("span",{className:"font-mono opacity-90",children:["~",C.params_b,"B · ~",C.fit.req_gb," GB / ",C.sys_ram_gb," GB · ~",C.fit.tps," t/s"]}),C.fit.level!=="too_tight"?e.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(C.assigned_ctx/1024).toFixed(0),"k"]}):e.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),H&&e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[e.jsx(se,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),e.jsxs("span",{children:["Rolle ",e.jsxs("strong",{children:["„",G,'"']})," hält aktuell ",e.jsx("strong",{children:H.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},n.repo)}),!c.length&&!w&&e.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:S||"Keine Ergebnisse."})]}),e.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),e.jsx("input",{value:f,onChange:n=>p(n.target.value),onKeyDown:n=>n.key==="Enter"&&_(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),e.jsx("button",{onClick:_,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const $t={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ie},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:re},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:ue},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:ze},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:nt},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:rt},kritiker:{title:"Kritisches Prüf-Hirn",desc:"Schärfer Blick für Fehler, Schwachstellen und Sicherheitslücken — denkt skeptisch, bevor du deployst.",icon:Ee},reranker:{title:"Gedächtnis-Sortierer",desc:"Sortiert und gewichtet gespeicherte Fakten nach Relevanz — damit die richtige Info sofort da ist.",icon:ge},debugger:{title:"Debugger & Selbstheiler",desc:"Agentisches Debugging, multimodale Fehleranalyse und Selbstreparatur (z.B. Muse-Glimmer).",icon:re}};function Dt(){const{data:t,isLoading:r,error:b}=We(),{data:a}=le(),{data:c}=Ze(),M=(a==null?void 0:a.models)??[],w=b?String(b):"",[N,S]=j.useState({}),[g,z]=j.useState({}),[m,f]=j.useState("recommended");async function p(d,L,A,s){S(o=>({...o,[d]:"Starte..."}));try{await q("/api/models/install",{method:"POST",body:JSON.stringify({repo:d,role:L,quant:A,jinja:s})}),S(o=>({...o,[d]:"Download läuft"}))}catch(o){S(i=>({...i,[d]:`Fehler: ${o instanceof Error?o.message:String(o)}`}))}}return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"flex mc-card-sm p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([d,L])=>e.jsx("button",{onClick:()=>f(d),className:k("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",m===d?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:L},d))}),m==="browse"?e.jsx(Gt,{}):r?e.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):w||!t?e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",w,")."]}):e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[e.jsxs("div",{children:["Modell-Registry geladen für ",e.jsxs("span",{className:"text-foreground font-bold",children:[t.sys_ram_gb," GB"]})," System-RAM."]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(pt,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),e.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:t.categories.map(d=>{const L=$t[d.role]||{title:d.title||d.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:st},A=L.icon,s=M.find(v=>v.role===d.role||(v.aliases||[]).includes(d.role)),o=c==null?void 0:c.model_list.find(v=>v.role===d.role),i=d.models.find(v=>v.repo===d.recommended)||d.models[0];if(!i)return null;const G=N[i.repo],B=d.models.filter(v=>v.repo!==d.recommended),C=!!g[d.role];return e.jsxs("div",{className:k("mc-card p-5 flex flex-col justify-between gap-5",s?"border-border/60":"border-primary/20 shadow-primary/5"),children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:e.jsx(A,{className:"h-5.5 w-5.5"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:L.title}),e.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",d.role]})]})]}),s?e.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):e.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),e.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:L.desc}),e.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:s?e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),e.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:s.name,children:s.name.split("/").pop()}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[e.jsxs("span",{children:["Größe: ",Je(s.size_bytes||0)]}),e.jsx("span",{children:"•"}),e.jsxs("span",{children:["Quant: ",s.quant||"GGUF"]})]})]}):e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),e.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:i.name,children:i.name}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[e.jsxs("span",{children:["Ersteller: ",i.author]}),e.jsx("span",{children:"•"}),e.jsxs("span",{children:["Quant: ",i.quant]})]}),e.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:e.jsx(vt,{fit:i.fit})})]})}),e.jsx("div",{className:"pt-1",children:s?o?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),e.jsxs("span",{children:["Bessere Version in der Registry: ",o.repo.split("/").pop()]})]}),e.jsxs("button",{onClick:()=>p(o.repo,d.role,o.repo===i.repo&&i.quant||"Q4_K_M",i.caps.tools!=="no"),disabled:!!N[o.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[e.jsx(ae,{className:"h-3.5 w-3.5"}),N[o.repo]||"Auf neue Version aktualisieren"]})]}):e.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[e.jsx(Y,{className:"h-4 w-4"})," Auf neuestem Stand"]}):e.jsxs("button",{onClick:()=>p(i.repo,d.role,i.quant||"Q4_K_M",i.caps.tools!=="no"),disabled:!!G,className:k("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",G?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[e.jsx(ae,{className:"h-3.5 w-3.5"}),G||"Optimales Modell einsetzen"]})})]}),B.length>0&&e.jsxs("div",{className:"border-t border-border/20 pt-3",children:[e.jsxs("button",{onClick:()=>z(v=>({...v,[d.role]:!C})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[C?e.jsx(De,{className:"h-3 w-3"}):e.jsx($e,{className:"h-3 w-3"}),e.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",B.length,")"]})]}),C&&e.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:B.map(v=>e.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:v.name,children:v.name}),e.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[e.jsxs("span",{children:["Quant: ",v.quant]}),e.jsx("span",{children:"•"}),e.jsx("span",{children:v.fit.text})]})]}),e.jsx("button",{onClick:()=>p(v.repo,d.role,v.quant||"Q4_K_M",v.caps.tools!=="no"),disabled:!!N[v.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:N[v.repo]||"Installieren"})]},v.repo))})]})]},d.role)})})]})]})}const Et=[{id:"werkbank",label:"Werkbank"},{id:"routing",label:"Routing & Warm-Set"},{id:"discover",label:"Modelle finden"}];function Tt(){const[t,r]=j.useState("werkbank");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Modelle verwalten, das Lane-Routing einstellen und Neues von HuggingFace holen."})]}),e.jsx("div",{className:"flex mc-card-sm p-1 self-start",children:Et.map(b=>e.jsx("button",{onClick:()=>r(b.id),className:k("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",t===b.id?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:b.label},b.id))})]}),e.jsx(Xe,{}),e.jsxs("div",{className:"transition-all duration-300",children:[t==="werkbank"&&e.jsx(Ct,{}),t==="routing"&&e.jsxs("div",{className:"space-y-5",children:[e.jsx(yt,{}),e.jsx(Nt,{})]}),t==="discover"&&e.jsx(Dt,{})]})]})}export{Tt as ModelsView}; +Trotzdem exklusiv laden?`,()=>u(l));return}u(l)}async function H(l){const x=m.find(y=>y.name===l);if(x&&p(x.role)){w("Geschützt",`„${F(x.role).label}" ist lebenswichtig und bleibt geladen.`);return}try{await q(`/api/models/${encodeURIComponent(l)}/unload`,{method:"POST"}),K()}catch(y){w("Fehler",`Entladen fehlgeschlagen: ${y.message||y}`)}}async function de(l,x){try{const y=await q(`/api/models/${encodeURIComponent(x)}/role`,{method:"POST",body:JSON.stringify({role:l||null})});K(),y!=null&&y.warning&&w("Rolle gesetzt — Hinweis",y.warning)}catch(y){w("Fehler",`Rolle zuweisen fehlgeschlagen: ${y.message||y}`)}}async function ce(l,x){let y=null;try{y=await q(`/api/models/${encodeURIComponent(l)}/ctx/auto`)}catch{}const P=y?`Optimal für dein Setup: ${(y.ctx/1024).toFixed(0)}k (${y.ctx}). »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";S("Kontextlänge anpassen",P,String(x||32768),async Z=>{if(Z)try{await q(`/api/models/${encodeURIComponent(l)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Z,10)})}),K()}catch(ye){w("Fehler",`Kontext setzen fehlgeschlagen: ${ye.message||ye}`)}},void 0,y?{autoValue:String(y.ctx),autoLabel:`Auto (${(y.ctx/1024).toFixed(0)}k)`}:void 0)}async function me(l){const x=m.find(y=>y.name===l);if(x&&p(x.role)){w("Geschützt",`„${F(x.role).label}" kann nicht gelöscht werden. Weise die Rolle zuerst einem anderen Modell zu.`);return}N("Modell löschen?",`„${X(l)}" und alle GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await q(`/api/models/${encodeURIComponent(l)}`,{method:"DELETE"}),s===l&&o(null),K()}catch(y){w("Fehler",`Löschen fehlgeschlagen: ${y.message||y}`)}})}return b?e.jsx("div",{className:"py-16 text-center text-xs text-muted-foreground",children:"Werkbank wird geladen …"}):n?e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",String(n),")."]}):e.jsxs("div",{className:"space-y-5",children:[e.jsx(_t,{running:I,capacityBytes:te,realUsedBytes:W,selected:s,onSelect:o}),e.jsxs("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]",children:[e.jsxs("div",{className:"mc-card p-4",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ge,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground/60"}),e.jsx("input",{value:d,onChange:l=>G(l.target.value),placeholder:"Modell suchen …",className:"h-8 w-full rounded-lg border border-border/40 bg-background/40 pl-8 pr-2 text-xs text-foreground placeholder:text-muted-foreground/50 focus:border-primary/50 focus:outline-none"})]}),e.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:["all","in_use"].map(l=>e.jsx("button",{onClick:()=>C(l),className:k("rounded-md px-2 py-1 text-[9px] font-bold uppercase transition-all cursor-pointer",B===l?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:l==="all"?"Alle":"In Benutzung"},l))})]}),e.jsx("div",{className:"max-h-[60vh] space-y-1.5 overflow-y-auto scrollbar-thin pr-1",children:T.length===0?e.jsx("div",{className:"rounded-xl border border-dashed border-border/50 p-8 text-center text-xs text-muted-foreground",children:"Keine Modelle."}):T.map(l=>{const x=f.includes(l.name),y=s===l.name,P=Ke(l.name),Z=oe(l.role);return e.jsxs("button",{onClick:()=>o(l.name),className:k("flex w-full items-center gap-2.5 rounded-xl border p-2.5 text-left transition-all cursor-pointer",y?"border-primary/60 bg-primary/10":"border-border/40 bg-background/20 hover:border-primary/30 hover:bg-background/40"),children:[e.jsx("span",{className:k("flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-[10px] font-bold",P.color),children:P.initial}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate font-mono text-xs font-semibold text-foreground",children:X(l.name)}),e.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5",children:[l.role&&e.jsx("span",{className:k("h-2 w-2 rounded-sm",Z.dot)}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:l.role?F(l.role).short:"keine Rolle"}),e.jsxs("span",{className:"text-[10px] text-muted-foreground/50",children:["· ",ee(l.size_bytes)]})]})]}),x?e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-[9px] font-bold uppercase text-emerald-400",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]}):l.incomplete?e.jsx("span",{className:"shrink-0 text-[9px] font-bold uppercase text-amber-400",children:"⚠ fehlt"}):e.jsx("span",{className:"shrink-0 text-[9px] font-semibold uppercase text-muted-foreground/50",children:"bereit"})]},l.name)})})]}),e.jsx("div",{className:"mc-card p-5",children:$?e.jsx(zt,{m:$,warm:f.includes($.name),expert:z,protectedRole:p($.role),coresident:A($.name),onLoad:()=>_($.name),onUnload:()=>H($.name),onRole:l=>de(l,$.name),onCtx:()=>ce($.name,$.ctx),onSpec:()=>R($),onDelete:()=>me($.name)}):e.jsxs("div",{className:"flex h-full min-h-[16rem] flex-col items-center justify-center gap-2 text-center text-muted-foreground",children:[e.jsx(Ue,{className:"h-8 w-8 opacity-40"}),e.jsx("p",{className:"text-sm font-semibold",children:"Links ein Modell wählen"}),e.jsx("p",{className:"text-xs",children:"Dann verwaltest du es hier — laden, Rolle, Kontext, löschen."})]})})]}),j&&e.jsx(St,{model:j,onClose:()=>R(null),onChanged:K}),g]})}function zt({m:t,warm:r,expert:b,protectedRole:n,coresident:i,onLoad:M,onUnload:w,onRole:N,onCtx:S,onSpec:g,onDelete:z}){const m=Ke(t.name),f=r&&n;return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:k("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border text-sm font-bold",m.color),children:m.initial}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h2",{className:"break-all font-mono text-sm font-bold text-foreground",children:X(t.name)}),e.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[t.role?e.jsx(pe,{role:t.role}):e.jsx("span",{className:"rounded border border-dashed border-border/50 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:"keine Rolle"}),n&&e.jsxs("span",{className:"rounded bg-background/40 px-1.5 py-0.5 text-[10px] text-muted-foreground",title:"Lebenswichtig — geschützt",children:[e.jsx(rt,{className:"mr-0.5 inline h-3 w-3"}),"geschützt"]}),i&&e.jsxs("span",{className:"rounded border border-fuchsia-500/30 bg-fuchsia-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase text-fuchsia-300",children:[e.jsx(re,{className:"mr-0.5 inline h-3 w-3"}),"Ko-resident"]}),r&&e.jsxs("span",{className:"flex items-center gap-1 text-[10px] font-bold uppercase text-emerald-400",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"warm"]})]})]})]}),e.jsxs("button",{onClick:r?w:M,disabled:t.incomplete&&!r||f,className:k("flex h-11 w-full items-center justify-center gap-2 rounded-xl border text-sm font-bold transition-all cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",r?"border-amber-500/40 bg-amber-500/10 text-amber-300 hover:bg-amber-500/20":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/20"),title:f?`„${F(t.role).label}" bleibt geladen (geschützt).`:void 0,children:[r?e.jsx(pt,{className:"h-4 w-4"}):e.jsx(nt,{className:"h-4 w-4"}),f?"🔒 bleibt geladen":r?"Entladen":"Ins Warm-Set laden"]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:[e.jsx("span",{children:"Rolle"}),n&&e.jsx("span",{className:"normal-case font-medium tracking-normal text-muted-foreground/70",children:"🔒 lebenswichtig — zum Tausch die Rolle woanders zuweisen"})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsx(_e,{active:!t.role,onClick:()=>N(""),dot:"bg-slate-400",label:"keine",disabled:n}),fe.map(p=>e.jsx(_e,{active:t.role===p.role,onClick:()=>N(p.role),dot:oe(p.role).dot,label:p.short,disabled:n&&t.role!==p.role},p.role))]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsx(Bt,{icon:be,label:"Größe",value:ee(t.size_bytes)}),e.jsxs("button",{onClick:S,className:"group flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5 text-left transition-colors hover:border-primary/40 cursor-pointer",children:[e.jsx(xt,{className:"h-4 w-4 text-primary/80"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:"Kontext · ändern"}),e.jsx("div",{className:"font-semibold text-foreground",children:Ve(t.ctx)})]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/30 bg-background/20 p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Beschleuniger"}),b&&e.jsxs("button",{onClick:g,className:k("flex h-6 items-center gap-1 rounded-lg border px-2 text-[9px] font-bold uppercase transition-colors cursor-pointer",t.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":t.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),children:[e.jsx(ie,{className:"h-3 w-3"})," Spec"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[t.spec_active&&e.jsx(ne,{tone:"emerald",label:"Spec-Decoding aktiv"}),!t.spec_active&&t.spec_draft_model&&e.jsx(ne,{tone:"amber",label:"Spec inaktiv"}),t.prompt_cache&&e.jsx(ne,{tone:"cyan",label:"Prompt-Cache"}),t.parallel_slots>1&&e.jsx(ne,{tone:"violet",label:`${t.parallel_slots} Slots`}),!t.spec_active&&!t.spec_draft_model&&!t.prompt_cache&&t.parallel_slots<=1&&e.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"keine aktiv"})]})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(Mt,{caps:t.capabilities})}),e.jsxs("button",{onClick:z,disabled:n,className:k("mt-auto flex h-9 items-center justify-center gap-1.5 rounded-lg border text-xs font-semibold transition-colors",n?"cursor-not-allowed border-border/30 text-muted-foreground/40":"border-red-500/30 text-red-400 hover:bg-red-500/10 cursor-pointer"),children:[e.jsx(ft,{className:"h-3.5 w-3.5"})," ",n?"geschützt — nicht löschbar":"Modell löschen"]})]})}function _e({active:t,onClick:r,dot:b,label:n,disabled:i}){return e.jsxs("button",{onClick:r,disabled:i,title:i?"Gesperrt: dieses Modell hält eine lebenswichtige Rolle.":void 0,className:k("flex items-center gap-1.5 rounded-lg border px-2 py-1 text-[10px] font-semibold transition-all",i?"cursor-not-allowed opacity-40 border-border/40 bg-background/20 text-muted-foreground":t?"cursor-pointer border-primary/60 bg-primary/15 text-foreground":"cursor-pointer border-border/40 bg-background/20 text-muted-foreground hover:border-primary/30"),children:[e.jsx("span",{className:k("h-2 w-2 rounded-sm",b)}),n,t&&e.jsx(Y,{className:"h-3 w-3 text-primary"})]})}function Bt({icon:t,label:r,value:b}){return e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/30 bg-background/20 p-2.5",children:[e.jsx(t,{className:"h-4 w-4 text-primary/80"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[9px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:r}),e.jsx("div",{className:"font-semibold text-foreground",children:b})]})]})}function ne({tone:t,label:r}){const b={emerald:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",amber:"bg-amber-500/10 text-amber-400 border-amber-500/20",cyan:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20",violet:"bg-violet-500/10 text-violet-400 border-violet-500/20"}[t];return e.jsx("span",{className:k("rounded border px-1.5 py-0.5 text-[10px] font-semibold",b),children:r})}const At=[{key:"popular",label:"Beliebt",q:""},{key:"coder",label:"Coder",q:"coder"},{key:"vision",label:"Vision",q:"vision"},{key:"reasoning",label:"Reasoning",q:"reasoning"},{key:"small",label:"Klein (≤4B)",q:"3B"}],Gt=["fast","heavy","coder","vision","hermes","scout"],$t=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1});function Le(t){return $t.format(t)}function Dt(){const{data:t}=le(),r=(t==null?void 0:t.models)??[],[b,n]=v.useState(""),[i,M]=v.useState([]),[w,N]=v.useState(!1),[S,g]=v.useState(""),[z,m]=v.useState("popular"),[f,p]=v.useState(""),[c,L]=v.useState(null),[A,s]=v.useState([]),[o,d]=v.useState("Q4_K_M"),[G,B]=v.useState(""),[C,j]=v.useState(null),[R,K]=v.useState(!1),[I,O]=v.useState({});async function W(a){N(!0),g("");try{const h=await q(`/api/hf/search?q=${encodeURIComponent(a)}`);M(h.results),h.results.length||g("Keine Ergebnisse.")}catch(h){g(`Suche fehlgeschlagen: ${h}`)}finally{N(!1)}}v.useEffect(()=>{W("")},[]);function te(a){m(a.key),n(""),W(a.q)}function T(){m(""),W(b)}async function $(a,h,D){K(!1);try{const Q=await q(`/api/fit?params_b=0&quant=${encodeURIComponent(h)}&ctx=8192&name=${encodeURIComponent(a)}&role=${encodeURIComponent(D)}`);j(Q)}catch{j(null)}}async function u(a){if(c===a){L(null);return}L(a),s([]),j(null),B(""),K(!1),g("Analysiere Repository…");try{const h=await q(`/api/hf/quants?repo=${encodeURIComponent(a)}`);s(h.quants);const D=h.quants.includes("Q4_K_M")?"Q4_K_M":h.quants[0]||"Q4_K_M";d(D),g(h.quants.length?"":"Keine GGUF-Dateien in diesem Repo gefunden."),h.quants.length&&$(h.repo,D,"")}catch(h){g(`Fehler: ${h}`)}}function _(){const a=f.trim();a&&(M(h=>h.some(D=>D.repo===a)?h:[{repo:a,downloads:0,likes:0},...h]),p(""),u(a))}const H=G?r.find(a=>(a.role||"").toLowerCase()===G):void 0;async function de(a){if((C==null?void 0:C.fit.level)==="too_tight"&&!R){K(!0);return}O(h=>({...h,[a]:"Starte…"}));try{await q("/api/models/install",{method:"POST",body:JSON.stringify({repo:a,quant:o,role:G||void 0,jinja:!0})}),O(h=>({...h,[a]:"Download läuft"})),K(!1)}catch(h){O(D=>({...D,[a]:`Fehler: ${h instanceof Error?h.message:String(h)}`}))}}const ce=a=>{var D;const h=((D=a.split("/").pop())==null?void 0:D.toLowerCase().replace(/-gguf$/i,""))||"";return h.length>3&&r.some(Q=>Q.name.toLowerCase().includes(h))},me=a=>a==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":a==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ge,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx("input",{value:b,onChange:a=>n(a.target.value),onKeyDown:a=>a.key==="Enter"&&T(),"aria-label":"HuggingFace durchsuchen",type:"search",spellCheck:!1,placeholder:"HuggingFace durchsuchen (z.B. Qwen Coder, Llama-3.1, gemma)…",className:"w-full h-10 pl-9 pr-3 rounded-xl border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),e.jsx("button",{onClick:T,className:"h-10 px-5 rounded-xl bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer",children:"Suchen"})]}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:At.map(a=>e.jsxs("button",{onClick:()=>te(a),className:k("flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[11px] font-semibold transition-all cursor-pointer border",z===a.key?"bg-primary/15 text-primary border-primary/30":"border-border/50 text-muted-foreground hover:text-foreground hover:border-border"),children:[a.key==="popular"&&e.jsx(it,{className:"h-3 w-3"}),a.label]},a.key))}),w?e.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:"Lade GGUF-Modelle von HuggingFace…"}):e.jsxs("div",{className:"space-y-2",children:[i.map(a=>{const h=c===a.repo,D=ce(a.repo),Q=a.repo.includes("/")?a.repo.split("/")[0]:"—",l=a.repo.split("/").pop();return e.jsxs("div",{className:k("mc-card-sm",h?"border-primary/40 shadow-lg shadow-primary/5":"border-border/50 hover:border-primary/30"),children:[e.jsxs("button",{onClick:()=>u(a.repo),className:"w-full flex items-center gap-3 p-3.5 text-left cursor-pointer",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-xs font-bold font-mono text-foreground truncate max-w-[280px]",title:a.repo,children:l}),D&&e.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-1.5 py-0.5 rounded",children:[e.jsx(Y,{className:"h-2.5 w-2.5"})," installiert"]})]}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-3 mt-0.5 font-mono",children:[e.jsx("span",{children:Q}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ae,{className:"h-3 w-3"})," ",Le(a.downloads)]}),a.likes>0&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(dt,{className:"h-3 w-3"})," ",Le(a.likes)]})]})]}),h?e.jsx(De,{className:"h-4 w-4 text-muted-foreground shrink-0"}):e.jsx($e,{className:"h-4 w-4 text-muted-foreground shrink-0"})]}),h&&e.jsx("div",{className:"border-t border-border/30 p-3.5 space-y-3",children:A.length===0?e.jsx("div",{className:"text-[11px] text-muted-foreground font-mono",children:S||"Lade Quants…"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Quant"}),e.jsx("select",{value:o,onChange:x=>{d(x.target.value),$(a.repo,x.target.value,G)},"aria-label":"Quantisierung",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:A.map(x=>e.jsx("option",{value:x,className:"bg-popover text-foreground",children:x},x))}),e.jsx("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground ml-1",children:"Rolle"}),e.jsxs("select",{value:G,onChange:x=>{B(x.target.value),$(a.repo,o,x.target.value)},"aria-label":"Rolle",title:"Optional — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-8 rounded-lg border border-border/60 bg-background/40 px-2 text-xs text-foreground font-semibold outline-none",children:[e.jsx("option",{value:"",className:"bg-popover text-foreground",children:"keine"}),Gt.map(x=>e.jsx("option",{value:x,className:"bg-popover text-foreground",children:x},x))]}),e.jsx("button",{onClick:()=>de(a.repo),disabled:!!I[a.repo]&&I[a.repo]==="Download läuft",className:k("h-8 px-3.5 ml-auto rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5",R?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"),children:I[a.repo]?I[a.repo]:R?e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"h-3.5 w-3.5"})," OOM — trotzdem laden"]}):e.jsxs(e.Fragment,{children:[e.jsx(ae,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]}),C&&e.jsxs("div",{className:k("flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium",me(C.fit.level)),children:[e.jsx("span",{className:"font-bold uppercase tracking-wide",children:C.fit.text}),e.jsxs("span",{className:"font-mono opacity-90",children:["~",C.params_b,"B · ~",C.fit.req_gb," GB / ",C.sys_ram_gb," GB · ~",C.fit.tps," t/s"]}),C.fit.level!=="too_tight"?e.jsxs("span",{className:"font-mono opacity-80",children:["ctx → ",(C.assigned_ctx/1024).toFixed(0),"k"]}):e.jsx("span",{className:"opacity-90",children:"— passt nicht, würde beim Laden abstürzen (OOM)."})]}),H&&e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-400",children:[e.jsx(se,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),e.jsxs("span",{children:["Rolle ",e.jsxs("strong",{children:["„",G,'"']})," hält aktuell ",e.jsx("strong",{children:H.name.split("/").pop()})," — wird beim Download übernommen."]})]})]})})]},a.repo)}),!i.length&&!w&&e.jsx("div",{className:"text-xs text-muted-foreground py-10 text-center",children:S||"Keine Ergebnisse."})]}),e.jsxs("div",{className:"border-t border-border/30 pt-4 flex flex-col sm:flex-row gap-2 items-stretch sm:items-center",children:[e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground shrink-0",children:"Direkt:"}),e.jsx("input",{value:f,onChange:a=>p(a.target.value),onKeyDown:a=>a.key==="Enter"&&_(),"aria-label":"Repository oder URL direkt eingeben",spellCheck:!1,placeholder:"org/repo oder HF-URL (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground font-mono"}),e.jsx("button",{onClick:_,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Laden"})]})]})}const Et={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ie},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:re},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:ue},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:ze},hermes:{title:"Lucys Hirn (Agent)",desc:"Lucys dauer-warmes Agent-Hirn mit Tool-Calling — bleibt ko-resident, lädt nie kalt nach.",icon:ot},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:st},kritiker:{title:"Kritisches Prüf-Hirn",desc:"Schärfer Blick für Fehler, Schwachstellen und Sicherheitslücken — denkt skeptisch, bevor du deployst.",icon:Ee},reranker:{title:"Gedächtnis-Sortierer",desc:"Sortiert und gewichtet gespeicherte Fakten nach Relevanz — damit die richtige Info sofort da ist.",icon:ge},debugger:{title:"Debugger & Selbstheiler",desc:"Agentisches Debugging, multimodale Fehleranalyse und Selbstreparatur (z.B. Muse-Glimmer).",icon:re}};function Kt(){const{data:t,isLoading:r,error:b}=We(),{data:n}=le(),{data:i}=Ze(),M=(n==null?void 0:n.models)??[],w=b?String(b):"",[N,S]=v.useState({}),[g,z]=v.useState({}),[m,f]=v.useState("recommended");async function p(c,L,A,s){S(o=>({...o,[c]:"Starte..."}));try{await q("/api/models/install",{method:"POST",body:JSON.stringify({repo:c,role:L,quant:A,jinja:s})}),S(o=>({...o,[c]:"Download läuft"}))}catch(o){S(d=>({...d,[c]:`Fehler: ${o instanceof Error?o.message:String(o)}`}))}}return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"flex mc-card-sm p-1 w-fit",children:[["recommended","Empfohlen"],["browse","Stöbern & Suchen"]].map(([c,L])=>e.jsx("button",{onClick:()=>f(c),className:k("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide transition-all cursor-pointer",m===c?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:L},c))}),m==="browse"?e.jsx(Dt,{}):r?e.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):w||!t?e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",w,")."]}):e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[e.jsxs("div",{children:["Modell-Registry geladen für ",e.jsxs("span",{className:"text-foreground font-bold",children:[t.sys_ram_gb," GB"]})," System-RAM."]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(bt,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),e.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:t.categories.map(c=>{const L=Et[c.role]||{title:c.title||c.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:at},A=L.icon,s=M.find(j=>j.role===c.role||(j.aliases||[]).includes(c.role)),o=i==null?void 0:i.model_list.find(j=>j.role===c.role),d=c.models.find(j=>j.repo===c.recommended)||c.models[0];if(!d)return null;const G=N[d.repo],B=c.models.filter(j=>j.repo!==c.recommended),C=!!g[c.role];return e.jsxs("div",{className:k("mc-card p-5 flex flex-col justify-between gap-5",s?"border-border/60":"border-primary/20 shadow-primary/5"),children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:e.jsx(A,{className:"h-5.5 w-5.5"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:L.title}),e.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",c.role]})]})]}),s?e.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):e.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),e.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:L.desc}),e.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:s?e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),e.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:s.name,children:s.name.split("/").pop()}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[e.jsxs("span",{children:["Größe: ",Je(s.size_bytes||0)]}),e.jsx("span",{children:"•"}),e.jsxs("span",{children:["Quant: ",s.quant||"GGUF"]})]})]}):e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),e.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:d.name,children:d.name}),e.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[e.jsxs("span",{children:["Ersteller: ",d.author]}),e.jsx("span",{children:"•"}),e.jsxs("span",{children:["Quant: ",d.quant]})]}),e.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:e.jsx(kt,{fit:d.fit})})]})}),e.jsx("div",{className:"pt-1",children:s?o?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),e.jsxs("span",{children:["Bessere Version in der Registry: ",o.repo.split("/").pop()]})]}),e.jsxs("button",{onClick:()=>p(o.repo,c.role,o.repo===d.repo&&d.quant||"Q4_K_M",d.caps.tools!=="no"),disabled:!!N[o.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[e.jsx(ae,{className:"h-3.5 w-3.5"}),N[o.repo]||"Auf neue Version aktualisieren"]})]}):e.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[e.jsx(Y,{className:"h-4 w-4"})," Auf neuestem Stand"]}):e.jsxs("button",{onClick:()=>p(d.repo,c.role,d.quant||"Q4_K_M",d.caps.tools!=="no"),disabled:!!G,className:k("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",G?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[e.jsx(ae,{className:"h-3.5 w-3.5"}),G||"Optimales Modell einsetzen"]})})]}),B.length>0&&e.jsxs("div",{className:"border-t border-border/20 pt-3",children:[e.jsxs("button",{onClick:()=>z(j=>({...j,[c.role]:!C})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[C?e.jsx(De,{className:"h-3 w-3"}):e.jsx($e,{className:"h-3 w-3"}),e.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",B.length,")"]})]}),C&&e.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:B.map(j=>e.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:j.name,children:j.name}),e.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[e.jsxs("span",{children:["Quant: ",j.quant]}),e.jsx("span",{children:"•"}),e.jsx("span",{children:j.fit.text})]})]}),e.jsx("button",{onClick:()=>p(j.repo,c.role,j.quant||"Q4_K_M",j.caps.tools!=="no"),disabled:!!N[j.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:N[j.repo]||"Installieren"})]},j.repo))})]})]},c.role)})})]})]})}const qt=[{id:"werkbank",label:"Werkbank"},{id:"routing",label:"Routing & Warm-Set"},{id:"discover",label:"Modelle finden"}];function Ut(){const t=Xe(),{reiter:r}=Ye({from:"/modelle"}),b=r??"werkbank",n=i=>t({to:"/modelle",search:M=>({...M,reiter:i}),replace:!0});return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Modelle verwalten, das Lane-Routing einstellen und Neues von HuggingFace holen."})]}),e.jsx("div",{className:"flex mc-card-sm p-1 self-start",children:qt.map(i=>e.jsx("button",{onClick:()=>n(i.id),className:k("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",b===i.id?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:i.label},i.id))})]}),e.jsx(et,{}),e.jsxs("div",{className:"transition-all duration-300",children:[b==="werkbank"&&e.jsx(Lt,{}),b==="routing"&&e.jsxs("div",{className:"space-y-5",children:[e.jsx(vt,{}),e.jsx(wt,{})]}),b==="discover"&&e.jsx(Kt,{})]})]})}export{Ut as ModelsView}; diff --git a/frontend/dist/assets/SectionLabel-R1yae0WQ.js b/frontend/dist/assets/SectionLabel-CS0KgrzT.js similarity index 93% rename from frontend/dist/assets/SectionLabel-R1yae0WQ.js rename to frontend/dist/assets/SectionLabel-CS0KgrzT.js index 9855bfa..33da4bd 100644 --- a/frontend/dist/assets/SectionLabel-R1yae0WQ.js +++ b/frontend/dist/assets/SectionLabel-CS0KgrzT.js @@ -1,4 +1,4 @@ -import{c as s,j as e}from"./index-BYlMs6Dj.js";/** +import{c as s,j as e}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/SkillsView-BPaqT2zI.js b/frontend/dist/assets/SkillsView-BPaqT2zI.js new file mode 100644 index 0000000..cac1faf --- /dev/null +++ b/frontend/dist/assets/SkillsView-BPaqT2zI.js @@ -0,0 +1,6 @@ +var E=r=>{throw TypeError(r)};var C=(r,e,t)=>e.has(r)||E("Cannot "+t);var a=(r,e,t)=>(C(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?E("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),v=(r,e,t,n)=>(C(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),j=(r,e,t)=>(C(r,e,"access private method"),t);import{a3 as B,a4 as F,a5 as K,a6 as I,a7 as P,u as A,r as f,a8 as J,a9 as Q,c as T,aa as U,j as s,T as D,b as M,L,K as H,q as V,n as R}from"./index-Bb8GyPHo.js";import{J as _}from"./JobsBar-D2vfhT2b.js";import{C as z}from"./circle-check-Crmfz00W.js";var c,g,o,h,m,w,O,q,G=(q=class extends B{constructor(e,t){super();y(this,m);y(this,c);y(this,g);y(this,o);y(this,h);v(this,c,e),this.setOptions(t),this.bindMethods(),j(this,m,w).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var n;const t=this.options;this.options=a(this,c).defaultMutationOptions(e),F(this.options,t)||a(this,c).getMutationCache().notify({type:"observerOptionsUpdated",mutation:a(this,o),observer:this}),t!=null&&t.mutationKey&&this.options.mutationKey&&K(t.mutationKey)!==K(this.options.mutationKey)?this.reset():((n=a(this,o))==null?void 0:n.state.status)==="pending"&&a(this,o).setOptions(this.options)}onUnsubscribe(){var e;this.hasListeners()||(e=a(this,o))==null||e.removeObserver(this)}onMutationUpdate(e){j(this,m,w).call(this),j(this,m,O).call(this,e)}getCurrentResult(){return a(this,g)}reset(){var e;(e=a(this,o))==null||e.removeObserver(this),v(this,o,void 0),j(this,m,w).call(this),j(this,m,O).call(this)}mutate(e,t){var n;return v(this,h,t),(n=a(this,o))==null||n.removeObserver(this),v(this,o,a(this,c).getMutationCache().build(a(this,c),this.options)),a(this,o).addObserver(this),a(this,o).execute(e)}},c=new WeakMap,g=new WeakMap,o=new WeakMap,h=new WeakMap,m=new WeakSet,w=function(){var t;const e=((t=a(this,o))==null?void 0:t.state)??I();v(this,g,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},O=function(e){P.batch(()=>{var t,n,l,x,d,p,k,i;if(a(this,h)&&this.hasListeners()){const u=a(this,g).variables,N=a(this,g).context,S={client:a(this,c),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(n=(t=a(this,h)).onSuccess)==null||n.call(t,e.data,u,N,S)}catch(b){Promise.reject(b)}try{(x=(l=a(this,h)).onSettled)==null||x.call(l,e.data,null,u,N,S)}catch(b){Promise.reject(b)}}else if((e==null?void 0:e.type)==="error"){try{(p=(d=a(this,h)).onError)==null||p.call(d,e.error,u,N,S)}catch(b){Promise.reject(b)}try{(i=(k=a(this,h)).onSettled)==null||i.call(k,void 0,e.error,u,N,S)}catch(b){Promise.reject(b)}}}this.listeners.forEach(u=>{u(a(this,g))})})},q);function W(r,e){const t=A(),[n]=f.useState(()=>new G(t,r));f.useEffect(()=>{n.setOptions(r)},[n,r]);const l=f.useSyncExternalStore(f.useCallback(d=>n.subscribe(P.batchCalls(d)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),x=f.useCallback((d,p)=>{n.mutate(d,p).catch(J)},[n]);if(l.error&&Q(n.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:x,mutateAsync:l.mutate}}/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X=T("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);function te(){const r=A(),{data:e,isLoading:t,isError:n}=U({queryKey:["skills-list"],queryFn:()=>R("/api/skills"),refetchInterval:5e3}),[l,x]=f.useState(null),[d,p]=f.useState(null),k=W({mutationFn:i=>R("/api/skills/run",{method:"POST",body:JSON.stringify({skill_name:i})}),onMutate:i=>{x(i),p(null)},onSuccess:(i,u)=>{x(null),p({name:u,ok:i.ok,msg:i.msg||i.err||"Unbekannter Fehler"}),r.invalidateQueries({queryKey:V.jobs}),r.invalidateQueries({queryKey:["skills-list"]})},onError:(i,u)=>{x(null),p({name:u,ok:!1,msg:String(i)})}});return s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Skills & Jobs"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Löst autonome Agent-Skills manuell auf der Box aus. Die Ausführung erfolgt im Hintergrund durch Hermes."})]})}),s.jsx(_,{}),d&&s.jsxs("div",{className:M("p-4 rounded-lg border flex gap-3 items-start",d.ok?"bg-emerald-500/10 border-emerald-500/20 text-emerald-600 dark:text-emerald-400":"bg-red-500/10 border-red-500/20 text-red-600 dark:text-red-400"),children:[d.ok?s.jsx(z,{className:"h-5 w-5 mt-0.5 shrink-0"}):s.jsx(D,{className:"h-5 w-5 mt-0.5 shrink-0"}),s.jsxs("div",{children:[s.jsx("div",{className:"font-semibold text-sm",children:d.name}),s.jsx("div",{className:"text-sm opacity-90",children:d.msg})]})]}),t&&s.jsx("div",{className:"flex h-32 items-center justify-center",children:s.jsx(L,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),n&&s.jsx("div",{className:"text-red-500 p-4 mc-card text-sm",children:"Fehler beim Laden der Skills. Ist das Backend erreichbar?"}),(e==null?void 0:e.skills)&&s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:[e.skills.map(i=>s.jsxs("div",{className:"mc-card p-5 flex flex-col hover:border-primary/40 transition-colors group",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[s.jsxs("div",{className:"flex items-center gap-2 font-semibold text-base font-space",children:[s.jsx(H,{className:"h-5 w-5 text-primary/80"}),i.name]}),s.jsxs("button",{onClick:()=>k.mutate(i.name),disabled:l===i.name||i.running||k.isPending,className:M("shrink-0 h-8 px-3 rounded-md text-xs font-semibold uppercase tracking-wider flex items-center gap-1.5 transition-all cursor-pointer",l===i.name||i.running?"bg-sky-500/10 border border-sky-500/40 text-sky-400 cursor-not-allowed":"bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground group-hover:shadow-md group-hover:shadow-primary/20"),children:[l===i.name||i.running?s.jsx(L,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(X,{className:"h-3.5 w-3.5"}),l===i.name||i.running?"Läuft …":"Starten"]})]}),s.jsx("div",{className:"text-sm text-muted-foreground flex-1",children:i.description})]},i.name)),e.skills.length===0&&s.jsxs("div",{className:"col-span-full p-8 text-center text-muted-foreground mc-card border-dashed border-2",children:["Keine Skills im Ordner ",s.jsx("code",{className:"text-xs text-foreground bg-muted px-1.5 py-0.5 rounded",children:"deploy/skills"})," gefunden."]})]})]})}export{te as SkillsView}; diff --git a/frontend/dist/assets/SkillsView-C5MWeKc5.js b/frontend/dist/assets/SkillsView-C5MWeKc5.js deleted file mode 100644 index 5df105e..0000000 --- a/frontend/dist/assets/SkillsView-C5MWeKc5.js +++ /dev/null @@ -1,6 +0,0 @@ -var M=r=>{throw TypeError(r)};var O=(r,e,t)=>e.has(r)||M("Cannot "+t);var a=(r,e,t)=>(O(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?M("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),v=(r,e,t,n)=>(O(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),j=(r,e,t)=>(O(r,e,"access private method"),t);import{a9 as B,aa as F,ab as E,ac as I,ad as P,u as A,r as f,ae as J,af as Q,c as T,ag as U,j as s,G as D,T as H,b as K,L,M as G,q as V,n as R}from"./index-BYlMs6Dj.js";import{J as _}from"./JobsBar-B1nmMx5i.js";var c,g,o,h,m,w,C,q,z=(q=class extends B{constructor(e,t){super();y(this,m);y(this,c);y(this,g);y(this,o);y(this,h);v(this,c,e),this.setOptions(t),this.bindMethods(),j(this,m,w).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var n;const t=this.options;this.options=a(this,c).defaultMutationOptions(e),F(this.options,t)||a(this,c).getMutationCache().notify({type:"observerOptionsUpdated",mutation:a(this,o),observer:this}),t!=null&&t.mutationKey&&this.options.mutationKey&&E(t.mutationKey)!==E(this.options.mutationKey)?this.reset():((n=a(this,o))==null?void 0:n.state.status)==="pending"&&a(this,o).setOptions(this.options)}onUnsubscribe(){var e;this.hasListeners()||(e=a(this,o))==null||e.removeObserver(this)}onMutationUpdate(e){j(this,m,w).call(this),j(this,m,C).call(this,e)}getCurrentResult(){return a(this,g)}reset(){var e;(e=a(this,o))==null||e.removeObserver(this),v(this,o,void 0),j(this,m,w).call(this),j(this,m,C).call(this)}mutate(e,t){var n;return v(this,h,t),(n=a(this,o))==null||n.removeObserver(this),v(this,o,a(this,c).getMutationCache().build(a(this,c),this.options)),a(this,o).addObserver(this),a(this,o).execute(e)}},c=new WeakMap,g=new WeakMap,o=new WeakMap,h=new WeakMap,m=new WeakSet,w=function(){var t;const e=((t=a(this,o))==null?void 0:t.state)??I();v(this,g,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},C=function(e){P.batch(()=>{var t,n,l,x,d,p,k,i;if(a(this,h)&&this.hasListeners()){const u=a(this,g).variables,N=a(this,g).context,S={client:a(this,c),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(n=(t=a(this,h)).onSuccess)==null||n.call(t,e.data,u,N,S)}catch(b){Promise.reject(b)}try{(x=(l=a(this,h)).onSettled)==null||x.call(l,e.data,null,u,N,S)}catch(b){Promise.reject(b)}}else if((e==null?void 0:e.type)==="error"){try{(p=(d=a(this,h)).onError)==null||p.call(d,e.error,u,N,S)}catch(b){Promise.reject(b)}try{(i=(k=a(this,h)).onSettled)==null||i.call(k,void 0,e.error,u,N,S)}catch(b){Promise.reject(b)}}}this.listeners.forEach(u=>{u(a(this,g))})})},q);function W(r,e){const t=A(),[n]=f.useState(()=>new z(t,r));f.useEffect(()=>{n.setOptions(r)},[n,r]);const l=f.useSyncExternalStore(f.useCallback(d=>n.subscribe(P.batchCalls(d)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),x=f.useCallback((d,p)=>{n.mutate(d,p).catch(J)},[n]);if(l.error&&Q(n.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:x,mutateAsync:l.mutate}}/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const X=T("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);function ee(){const r=A(),{data:e,isLoading:t,isError:n}=U({queryKey:["skills-list"],queryFn:()=>R("/api/skills"),refetchInterval:5e3}),[l,x]=f.useState(null),[d,p]=f.useState(null),k=W({mutationFn:i=>R("/api/skills/run",{method:"POST",body:JSON.stringify({skill_name:i})}),onMutate:i=>{x(i),p(null)},onSuccess:(i,u)=>{x(null),p({name:u,ok:i.ok,msg:i.msg||i.err||"Unbekannter Fehler"}),r.invalidateQueries({queryKey:V.jobs}),r.invalidateQueries({queryKey:["skills-list"]})},onError:(i,u)=>{x(null),p({name:u,ok:!1,msg:String(i)})}});return s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Skills & Jobs"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Löst autonome Agent-Skills manuell auf der Box aus. Die Ausführung erfolgt im Hintergrund durch Hermes."})]})}),s.jsx(_,{}),d&&s.jsxs("div",{className:K("p-4 rounded-lg border flex gap-3 items-start",d.ok?"bg-emerald-500/10 border-emerald-500/20 text-emerald-600 dark:text-emerald-400":"bg-red-500/10 border-red-500/20 text-red-600 dark:text-red-400"),children:[d.ok?s.jsx(D,{className:"h-5 w-5 mt-0.5 shrink-0"}):s.jsx(H,{className:"h-5 w-5 mt-0.5 shrink-0"}),s.jsxs("div",{children:[s.jsx("div",{className:"font-semibold text-sm",children:d.name}),s.jsx("div",{className:"text-sm opacity-90",children:d.msg})]})]}),t&&s.jsx("div",{className:"flex h-32 items-center justify-center",children:s.jsx(L,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),n&&s.jsx("div",{className:"text-red-500 p-4 mc-card text-sm",children:"Fehler beim Laden der Skills. Ist das Backend erreichbar?"}),(e==null?void 0:e.skills)&&s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:[e.skills.map(i=>s.jsxs("div",{className:"mc-card p-5 flex flex-col hover:border-primary/40 transition-colors group",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[s.jsxs("div",{className:"flex items-center gap-2 font-semibold text-base font-space",children:[s.jsx(G,{className:"h-5 w-5 text-primary/80"}),i.name]}),s.jsxs("button",{onClick:()=>k.mutate(i.name),disabled:l===i.name||i.running||k.isPending,className:K("shrink-0 h-8 px-3 rounded-md text-xs font-semibold uppercase tracking-wider flex items-center gap-1.5 transition-all cursor-pointer",l===i.name||i.running?"bg-sky-500/10 border border-sky-500/40 text-sky-400 cursor-not-allowed":"bg-primary/10 text-primary hover:bg-primary hover:text-primary-foreground group-hover:shadow-md group-hover:shadow-primary/20"),children:[l===i.name||i.running?s.jsx(L,{className:"h-3.5 w-3.5 animate-spin"}):s.jsx(X,{className:"h-3.5 w-3.5"}),l===i.name||i.running?"Läuft …":"Starten"]})]}),s.jsx("div",{className:"text-sm text-muted-foreground flex-1",children:i.description})]},i.name)),e.skills.length===0&&s.jsxs("div",{className:"col-span-full p-8 text-center text-muted-foreground mc-card border-dashed border-2",children:["Keine Skills im Ordner ",s.jsx("code",{className:"text-xs text-foreground bg-muted px-1.5 py-0.5 rounded",children:"deploy/skills"})," gefunden."]})]})]})}export{ee as SkillsView}; diff --git a/frontend/dist/assets/SystemDrawer-TPlJzWjm.js b/frontend/dist/assets/SystemDrawer-TPlJzWjm.js new file mode 100644 index 0000000..b925123 --- /dev/null +++ b/frontend/dist/assets/SystemDrawer-TPlJzWjm.js @@ -0,0 +1,52 @@ +import{c as w,j as e,b as c,r as l,T as K,L as ae,E as ve,n as b,K as le,O as oe,X as de,u as Se,k as Ce,x as _e,an as ze,ab as Fe,ah as Le,N as P,t as Ue,y as q,q as N}from"./index-Bb8GyPHo.js";import{R as F}from"./refresh-cw-C3saW9zg.js";import{F as Ae}from"./file-text-Bdam-Njc.js";import{S as Pe}from"./search-CKPXZNvI.js";import{S as ce}from"./shield-DNyHWe3b.js";import{C as Be}from"./circle-check-Crmfz00W.js";import{A as ne}from"./arrow-right-D09OliuI.js";import{C as De}from"./clock-uyqKk7Jn.js";import{E as Re}from"./external-link-P1_1JELD.js";import{P as $e}from"./power-BF5yiJ4i.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Oe=w("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ee=w("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Te=w("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Me=w("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const He=w("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qe=w("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ie=w("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const me=w("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xe=w("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ke=w("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);function B({icon:n,iconClass:d,name:i,status:m,available:s,busy:u,actionLabel:f,onAction:r}){return e.jsxs("div",{className:c("flex items-center gap-3 rounded-lg border px-3 py-2",s?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[e.jsx(n,{className:c("h-4 w-4 shrink-0",d)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:i}),e.jsx("div",{className:c("text-[10px] truncate",s?"text-amber-400/90":"text-muted-foreground"),children:m})]}),e.jsx("button",{onClick:r,disabled:!s||u,className:c("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",s?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:u?"…":f})]})}function We({label:n,ok:d,system:i,busy:m,onRestart:s,onLogs:u}){return e.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[e.jsx("span",{className:c("w-1.5 h-1.5 rounded-full shrink-0",d===!0?"bg-emerald-500":d===!1?"bg-red-500":"bg-muted-foreground/40")}),e.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[n,i&&e.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),e.jsx("button",{onClick:s,disabled:m,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3.5 w-3.5",m&&"animate-spin")})}),e.jsx("button",{onClick:u,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:e.jsx(Ae,{className:"h-3.5 w-3.5"})})]})}const Ge=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,Je=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function Ve(n){return Ge.test(n)?"error":Je.test(n)?"warn":"info"}const Ze={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function Qe({service:n,text:d,loading:i,logStatus:m,onRefresh:s,onOpenSettings:u}){const[f,r]=l.useState(!1),[j,y]=l.useState(""),o=l.useRef(null),h=l.useMemo(()=>d?d.split(` +`).map(p=>({t:p,level:Ve(p)})):[],[d]),S=l.useMemo(()=>h.filter(p=>p.level!=="info").length,[h]),C=j.trim().toLowerCase(),g=h.filter(p=>(!f||p.level!=="info")&&(!C||p.t.toLowerCase().includes(C))),k=m==="password_required"||m==="incorrect_password";return e.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[e.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[e.jsx(Ke,{className:"h-3 w-3 text-primary"}),e.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",n]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Pe,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),e.jsx("input",{value:j,onChange:p=>y(p.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),e.jsxs("button",{onClick:()=>r(p=>!p),title:"Nur Fehler und Warnungen zeigen",className:c("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",f?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[e.jsx(K,{className:"h-3 w-3"}),"Nur Probleme",S>0?` (${S})`:""]}),e.jsx("button",{onClick:s,disabled:i,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3 w-3",i&&"animate-spin")})})]})]}),e.jsx("div",{ref:o,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?e.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[e.jsx(K,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),e.jsx("div",{className:"text-xs font-semibold text-amber-300",children:m==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),e.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",n," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),e.jsx("button",{onClick:u,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):i&&!d?e.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):h.length===0?e.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):g.length===0?e.jsx("span",{className:"text-muted-foreground",children:f?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):g.map((p,R)=>e.jsx("div",{className:c("whitespace-pre-wrap",Ze[p.level]),children:p.t||" "},R))})]})}function Xe({open:n,showAlert:d}){const[i,m]=l.useState(null),[s,u]=l.useState(""),[f,r]=l.useState(!1),[j,y]=l.useState(!1),[o,h]=l.useState(!1);async function S(){y(!0);try{m(await b("/api/maintenance/geheimnisse"))}catch(g){d("Nicht erreichbar",`Der Geheimnis-Zustand konnte nicht geladen werden: ${(g==null?void 0:g.message)||g}`)}finally{y(!1)}}l.useEffect(()=>{n&&(u(""),r(!1),S())},[n]);async function C(g){h(!0);try{const k=await b("/api/maintenance/geheimnisse",{method:"POST",body:JSON.stringify({schluessel:"hf_token",wert:g})});m(k),u(""),d(g?"Gespeichert":"Gelöscht",g?"Der Token liegt jetzt auf der Box — der Browser behält ihn nicht.":"Der Token wurde von der Box entfernt.")}catch(k){d("Fehlgeschlagen",(k==null?void 0:k.message)||String(k))}finally{h(!1)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),e.jsx("p",{className:"text-[10px] leading-normal text-muted-foreground",children:"Geheimnisse liegen auf der Box (Datei mit Rechten 0600), nicht im Browser. Diese Seite zeigt nur, ob etwas gesetzt ist — den Wert bekommt sie nie zurück."})]}),e.jsxs("div",{className:"mc-card-sm space-y-1.5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(me,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"}),"Box-Sudo-Passwort — nicht mehr nötig"]}),e.jsxs("p",{className:"text-[10px] leading-normal text-muted-foreground",children:["Systemdienste, OS-Update und Neustart laufen passwortlos (",e.jsx("code",{className:"font-mono text-primary",children:"NOPASSWD"})," in",e.jsx("code",{className:"font-mono",children:" /etc/sudoers"}),"). Das frühere Feld hat nie etwas bewirkt und lag dabei im Browser-Speicher — es ist am 28.08.2026 ersatzlos entfallen. Verlangt ",e.jsx("code",{className:"font-mono",children:"sudo"})," auf der Box je doch ein Passwort, sagt die Wartung das im Klartext; das ist dann dort zu lösen."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"hf-token",className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(qe,{className:"h-4 w-4 text-violet-400","aria-hidden":"true"}),"HuggingFace-Token"]}),e.jsx("div",{className:"flex items-center gap-2 text-[11px]",children:j?e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(ae,{className:"h-3 w-3 animate-spin","aria-hidden":"true"})," Zustand wird geladen …"]}):i!=null&&i.hf_token_gesetzt?e.jsxs("span",{className:"flex items-center gap-1.5 font-semibold text-emerald-400",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500","aria-hidden":"true"}),"Gesetzt",i.hf_token_aus_env?" (aus der Dienst-Umgebung)":""]}):e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50","aria-hidden":"true"}),"Nicht gesetzt"]})}),(i==null?void 0:i.hf_token_aus_env)&&e.jsxs("p",{className:"text-[9px] leading-normal text-amber-400/90",children:["Der Token kommt aus der Umgebung des Dienstes und hat Vorrang. Hier gespeicherte Werte bleiben wirkungslos, solange ",e.jsx("code",{className:"font-mono",children:"HF_TOKEN"})," gesetzt ist."]}),i&&!i.schreibbar&&e.jsx("p",{className:"text-[9px] leading-normal text-amber-400/90",children:"Die Ablage ist nicht beschreibbar — auf einem Entwicklungsrechner ohne den Modell-Ordner der Box ist das normal. Speichern würde hier ins Leere laufen."}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{id:"hf-token",type:f?"text":"password",value:s,onChange:g=>u(g.target.value),autoComplete:"off",spellCheck:!1,placeholder:i!=null&&i.hf_token_gesetzt?"Neuen Token eingeben, um zu ersetzen":"hf_…",className:"h-10 w-full rounded-lg border border-border/60 bg-background/40 pl-3 pr-10 text-xs text-foreground outline-none transition-colors focus:border-primary"}),e.jsx("button",{type:"button",onClick:()=>r(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground transition-colors hover:text-foreground",children:f?e.jsx(Me,{className:"h-4 w-4","aria-hidden":"true"}):e.jsx(ve,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsxs("p",{className:"text-[9px] leading-normal text-muted-foreground",children:["Nötig für Modelle mit Zugangsschranke. Wird beim Download als",e.jsx("code",{className:"font-mono",children:" HF_TOKEN"})," an den Job gereicht und verlässt die Box nicht."]})]}),e.jsxs("div",{className:"flex gap-3 pt-2",children:[e.jsxs("button",{onClick:()=>C(s.trim()),disabled:o||!s.trim(),className:"flex h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow shadow-primary/10 transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-40",children:[o&&e.jsx(ae,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}),"Auf der Box speichern"]}),e.jsx("button",{onClick:()=>C(null),disabled:o||!(i!=null&&i.hf_token_gesetzt),className:"flex h-9 cursor-pointer items-center justify-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-40",children:"Löschen"})]})]})}function Ie({detail:n,maintenanceJob:d,onClose:i,onApply:m}){var j,y;const s=n.data,u={os:{icon:ce,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:oe,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:xe,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:le,cls:"text-amber-400",title:"Hermes-Agent"}}[n.kind],f=u.icon,r=s?n.kind==="os"?(s.count??0)===0:n.kind==="hermes"?(s.behind??0)===0:s.installed_build!=null&&s.latest_build!=null&&s.latest_build<=s.installed_build:!0;return e.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[e.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:i}),e.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[e.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(f,{className:c("h-4.5 w-4.5",u.cls)}),e.jsx("h3",{className:"text-sm font-semibold",children:u.title})]}),e.jsx("button",{onClick:i,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:e.jsx(de,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:n.loading?e.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[e.jsx(F,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):s!=null&&s.error?e.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:s.error}):e.jsxs(e.Fragment,{children:[(s==null?void 0:s.action_needed)!=null&&e.jsxs("div",{className:c("flex items-start gap-2 rounded-lg border p-3",s.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[s.action_needed?e.jsx(K,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):e.jsx(Be,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:c("text-xs font-semibold",s.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",s.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),s.action_needed&&s.action_text&&e.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:s.action_text})]})]}),(s==null?void 0:s.summary)&&e.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),e.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:s.summary})]}),n.kind==="os"?e.jsxs(e.Fragment,{children:[((s==null?void 0:s.count)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.count," Paket(e) werden aktualisiert:"]}),e.jsx("div",{className:"space-y-1",children:s.packages.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-cyan-400 shrink-0"}),o.name]}),e.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[e.jsx("span",{children:o.current}),e.jsx(ne,{className:"h-3 w-3"}),e.jsx("span",{className:"text-emerald-400",children:o.candidate})]})]},o.name))})]}),(((j=s==null?void 0:s.held_back)==null?void 0:j.length)??0)>0&&e.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[e.jsx(De,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),e.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),e.jsx("div",{className:"space-y-1",children:s.held_back.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-muted-foreground shrink-0"}),o.name]}),e.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:o.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},o.name))})]})]}):n.kind==="engine"||n.kind==="swap"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[e.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(s==null?void 0:s.installed_build)??"?"]}),e.jsx(ne,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(s==null?void 0:s.latest_build)??"?"]})]}),((s==null?void 0:s.name)||(s==null?void 0:s.latest_tag))&&e.jsxs("div",{className:"text-muted-foreground",children:["Release: ",e.jsx("span",{className:"text-foreground",children:s==null?void 0:s.name}),s!=null&&s.latest_tag?` (${s.latest_tag})`:""]}),(s==null?void 0:s.url)&&e.jsxs("a",{href:s.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",e.jsx(Re,{className:"h-3 w-3"})]}),(s==null?void 0:s.body)&&e.jsxs("details",{className:"group",children:[e.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),e.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:s.body})]})]}):(((y=s==null?void 0:s.commits)==null?void 0:y.length)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.behind," neue Commit(s) auf ",e.jsxs("span",{className:"font-mono text-foreground",children:["origin/",s.branch]}),":"]}),e.jsx("div",{className:"space-y-1",children:s.commits.map(o=>e.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsx(He,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[11px] truncate",children:o.subject}),e.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[o.hash," · ",o.when]})]})]},o.hash))})]}),n.kind!=="os"&&!r&&e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[e.jsx(me,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",n.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),e.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[e.jsx("button",{onClick:i,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),e.jsx("button",{onClick:m,disabled:n.loading||r||!!d,title:d?`Update läuft bereits: ${d.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:d?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function dt({open:n,onClose:d,defaultTab:i="maintenance"}){var se,re;const m=Se(),{showAlert:s,showConfirm:u,dialogElement:f}=Ce(),{data:r}=_e(),{data:j}=ze(),y=Fe(3e3,n).data??[],{data:o}=Le(void 0,n),[h,S]=l.useState("llama-swap"),[C,g]=l.useState(""),[k,p]=l.useState(!1),[R,W]=l.useState(null),[$,G]=l.useState({}),[_,v]=l.useState("maintenance"),[J,V]=l.useState(!1),[Z,O]=l.useState(""),[Q,X]=l.useState(!1),[ue,I]=l.useState(!1),[L,U]=l.useState(null),E=(j==null?void 0:j.services)??[],z=()=>P(m,N.jobs);function he(t){return t?new Date(t*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}l.useEffect(()=>{n&&i&&v(i)},[n,i]),l.useEffect(()=>{n&&P(m,N.updates,N.services,N.jobs,N.zeitmaschine)},[n]);function T(t){p(!0),W(null),b(`/api/maintenance/logs?service=${t}&lines=150`).then(a=>{a.ok?g(a.text):(g(`Fehler beim Laden der Logs: ${a.err||"Unbekannter Fehler"}`),(a.status==="incorrect_password"||a.status==="password_required")&&W(a.status))}).catch(a=>g(`Fehler: ${a.message}`)).finally(()=>p(!1))}l.useEffect(()=>{!n||_!=="logs"||T(h)},[n,_,h]);function M(t){return(t==null?void 0:t.status)==="busy"?(s("Update läuft bereits",`Es läuft gerade „${t.running}". Bitte warte, bis es fertig ist.`),z(),!0):!1}function Y(t){return(t==null?void 0:t.status)==="password_required"||(t==null?void 0:t.status)==="incorrect_password"?(s("Box-Passwort nötig",(t.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):t&&t.ok===!1?(s("Update fehlgeschlagen",t.err||"Unbekannter Fehler."),!0):!1}async function ge(t){const a={os:"os-update",engine:"engine-update",swap:"swap-update"}[t];try{const x=await b(`/api/maintenance/${a}`,{method:"POST"});if(M(x)||Y(x))return;z(),v("maintenance")}catch(x){s("Fehler",`Update konnte nicht starten: ${x.message}`)}}async function pe(){I(!0);try{const t=await b("/api/maintenance/hermes-update",{method:"POST"});if(M(t))return;z()}catch(t){s("Fehler",`Hermes-Update fehlgeschlagen: ${t.message}`)}finally{I(!1)}}async function D(t){U({kind:t,loading:!0,data:null});try{const a=await b(`/api/maintenance/update-details?kind=${t}`);U({kind:t,loading:!1,data:a})}catch(a){U({kind:t,loading:!1,data:{kind:t,error:a.message}})}}function fe(){const t=L==null?void 0:L.kind;U(null),t==="os"||t==="engine"||t==="swap"?ge(t):t==="hermes"&&pe()}function be(){var a;const t=[r!=null&&r.engine?"Engine":null,r!=null&&r.swap?"Router":null,(a=r==null?void 0:r.components)!=null&&a.some(x=>x.update===!0)?"Hermes-Agent":null,r!=null&&r.os?`OS (${r.os} Pakete)`:null].filter(Boolean);u("Alle Updates einspielen?",`Nacheinander in einem Job: ${t.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const x=await b("/api/maintenance/update-all",{method:"POST"});if(M(x)||Y(x))return;if((x==null?void 0:x.status)==="nothing"){s("Nichts zu tun","Es stehen keine Updates aus.");return}z(),v("maintenance")}catch(x){s("Fehler",`„Alle aktualisieren" konnte nicht starten: ${x.message}`)}})}async function ye(){V(!0);try{await b("/api/maintenance/check-updates",{method:"POST"}),P(m,N.jobs,N.updates),v("maintenance")}catch(t){s("Fehler",`Fehler bei der Update-Suche: ${t.message}`)}finally{V(!1)}}async function je(t,a){try{await b("/api/models/install",{method:"POST",body:JSON.stringify({repo:t,role:a})}),s("Gestartet",`Modell-Upgrade für '${a}' (${t}) gestartet.`),z(),v("maintenance")}catch(x){s("Fehler",`Fehler beim Starten des Modell-Upgrades: ${x.message}`)}}async function Ne(){u("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await b("/api/maintenance/reboot",{method:"POST"}),s("Reboot","Reboot ausgelöst. System startet neu...",()=>d())}catch(t){s("Fehler",`Fehler beim Reboot: ${t.message}`)}})}async function ke(){X(!0),O("Snapshot wird erzeugt...");try{const t=await b("/api/system/backup",{method:"POST"});O(t.ok?`Snapshot erzeugt: ${t.snapshot} (${t.files.length} Komponenten)`:"Backup fehlgeschlagen."),P(m,N.zeitmaschine)}catch(t){O(`Fehler: ${t.message}`)}finally{X(!1)}}async function ee(t){G(a=>({...a,[t]:!0}));try{const a=await b("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:t})});a.ok?(s("Dienst neu gestartet",`Dienst ${t} wurde erfolgreich neu gestartet.`,()=>{_==="logs"&&h===t&&T(t)}),P(m,N.services,N.health,N.models)):s("Fehler",`Fehler beim Neustart: ${a.err||"Unbekannter Fehler"}`)}catch(a){s("Fehler",`Fehler beim Neustart: ${a.message}`)}finally{G(a=>({...a,[t]:!1}))}}async function we(t){try{await b(`/api/jobs/${t}/cancel`,{method:"POST"}),z()}catch(a){s("Fehler",`Fehler beim Abbrechen: ${a.message}`)}}const A=y.find(t=>(t.state==="running"||t.state==="queued")&&t.group==="maintenance"),te=(r?(r.os>0?1:0)+(r.engine?1:0)+(r.swap?1:0):0)+(((se=r==null?void 0:r.components)==null?void 0:se.filter(t=>t.update===!0).length)??0),H=(o==null?void 0:o.backups)??[];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:c("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",n?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:d}),e.jsxs("div",{className:c("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",n?"translate-x-0":"translate-x-full"),children:[e.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ue,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),e.jsx("button",{onClick:d,"aria-label":"System-Schublade schließen",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:e.jsx(de,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(t=>e.jsx("button",{onClick:()=>v(t),className:c("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_===t?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:t==="maintenance"?"System-Wartung":t==="logs"?"System-Logs":"Einstellungen"},t))}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[_==="maintenance"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),e.jsxs("div",{className:"flex items-center gap-3",children:[te>0&&e.jsxs("button",{onClick:be,disabled:!!A,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[e.jsx(Te,{className:"h-3 w-3"})," Alle aktualisieren (",te,")"]}),e.jsxs("button",{onClick:ye,disabled:J||!!A,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[e.jsx(F,{className:c("h-3 w-3",J&&"animate-spin")})," Nach Updates suchen"]})]})]}),(r==null?void 0:r.last_check)&&e.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",he(r.last_check)]}),A&&e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[e.jsx(F,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e.jsxs("span",{children:["Update läuft: ",e.jsx("span",{className:"font-semibold",children:A.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(B,{icon:ce,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(r!=null&&r.os),status:r!=null&&r.os?`${r.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>D("os")}),e.jsx(B,{icon:oe,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(r!=null&&r.engine),status:r!=null&&r.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("engine")}),e.jsx(B,{icon:xe,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(r!=null&&r.swap),status:r!=null&&r.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("swap")}),(()=>{var a;const t=(a=r==null?void 0:r.components)==null?void 0:a.find(x=>x.key==="hermes_agent");return e.jsx(B,{icon:le,iconClass:"text-amber-400",name:"Hermes-Agent",available:(t==null?void 0:t.update)===!0,busy:ue,status:(t==null?void 0:t.update)===!0?`Update: ${t.latest}`:(t==null?void 0:t.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("hermes")})})(),(re=r==null?void 0:r.model_list)==null?void 0:re.map(t=>e.jsx(B,{icon:Oe,iconClass:"text-emerald-400",name:`Modell · ${t.role}`,available:!0,status:t.title,actionLabel:"Upgrade",onAction:()=>je(t.repo,t.role)},t.role))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),e.jsxs("div",{className:"space-y-1.5",children:[E.length===0&&e.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),E.map(t=>e.jsx(We,{label:t.name,system:t.scope==="system",ok:t.ok,busy:$[t.unit],onRestart:()=>ee(t.unit),onLogs:()=>{S(t.unit),v("logs")}},t.unit))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:H[0]?`Letztes: ${H[0].snapshot}`:"Noch kein Backup"}),e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[H.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),e.jsxs("button",{onClick:ke,disabled:Q,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[e.jsx(Ee,{className:c("h-3.5 w-3.5",Q&&"animate-pulse")})," Snapshot"]})]}),Z&&e.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:Z})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),e.jsxs("button",{onClick:Ne,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[e.jsx($e,{className:"h-4.5 w-4.5"}),e.jsxs("div",{children:[e.jsx("div",{children:"Host-System neu starten"}),e.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),e.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[y.filter(t=>t.state==="running"||t.state==="queued").length," Aktiv"]})]}),e.jsx("div",{className:"space-y-3",children:y.length===0?e.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):y.map(t=>{const a=t.state==="running"||t.state==="queued";return e.jsxs("div",{className:c("p-3 rounded-xl border transition-all duration-300",a?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[a&&e.jsxs("span",{className:"flex h-2 w-2 relative",children:[e.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),e.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),t.label]}),e.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[e.jsxs("span",{children:["ID: ",t.id]}),e.jsx("span",{children:"•"}),e.jsx("span",{className:c(t.state==="done"&&"text-emerald-400",t.state==="failed"&&"text-red-400",t.state==="running"&&"text-primary",t.state==="queued"&&"text-amber-400",t.state==="canceled"&&"text-muted-foreground"),children:t.state})]})]}),a&&e.jsx("button",{onClick:()=>we(t.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),t.state==="running"&&e.jsxs("div",{className:"mt-3 space-y-1",children:[e.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${t.progress??0}%`}})}),e.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[e.jsxs("span",{children:[t.progress??0,"%"]}),t.done_bytes!=null&&t.total_bytes!=null&&e.jsxs("span",{children:[q(t.done_bytes)," / ",q(t.total_bytes),t.rate_bps!=null&&` (${q(t.rate_bps)}/s)`]}),t.eta_s!=null&&e.jsxs("span",{children:["ETA: ",t.eta_s,"s"]})]})]})]},t.id)})})]})]}),_==="logs"&&e.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("select",{value:h,onChange:t=>S(t.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:E.map(t=>e.jsxs("option",{value:t.unit,children:[t.name," (",t.scope==="system"?"systemd-root":"user",")"]},t.unit))}),e.jsxs("button",{onClick:()=>ee(h),disabled:$[h],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[e.jsx(F,{className:c("h-3.5 w-3.5",$[h]&&"animate-spin")}),"Restart"]})]}),e.jsx(Qe,{service:h,text:C,loading:k,logStatus:R,onRefresh:()=>T(h),onOpenSettings:()=>v("settings")})]}),_==="settings"&&e.jsx(Xe,{open:n,showAlert:s})]})]}),L&&e.jsx(Ie,{detail:L,maintenanceJob:A,onClose:()=>U(null),onApply:fe}),f]})}export{dt as SystemDrawer}; diff --git a/frontend/dist/assets/WissenView-DOJLqZxA.js b/frontend/dist/assets/WissenView-zIpzRZKj.js similarity index 99% rename from frontend/dist/assets/WissenView-DOJLqZxA.js rename to frontend/dist/assets/WissenView-zIpzRZKj.js index 595e816..a71b996 100644 --- a/frontend/dist/assets/WissenView-DOJLqZxA.js +++ b/frontend/dist/assets/WissenView-zIpzRZKj.js @@ -1,11 +1,11 @@ -var to=Object.defineProperty;var eo=(e,n,r)=>n in e?to(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var Bn=(e,n,r)=>eo(e,typeof n!="symbol"?n+"":n,r);import{c as no,r as W,ao as ro,ap as io,j as $,R as oo,aq as ao,ar as so,n as uo,b as Ae,L as Ke,S as lo,a8 as co,a0 as fo,as as ho}from"./index-BYlMs6Dj.js";import{i as Ft,c as Xn,a as Yn,b as po,o as go,m as Zn,d as Kn}from"./string-DoZi9Vij.js";/** +var to=Object.defineProperty;var eo=(e,n,r)=>n in e?to(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var Bn=(e,n,r)=>eo(e,typeof n!="symbol"?n+"":n,r);import{c as no,r as W,ai as ro,aj as io,j as $,ak as oo,al as ao,n as so,b as Ae,L as Ke,Y as uo,am as lo}from"./index-Bb8GyPHo.js";import{i as Ft,c as Xn,a as Yn,b as co,o as fo,m as Zn,d as Kn}from"./string-DoZi9Vij.js";import{R as ho}from"./refresh-cw-C3saW9zg.js";import{S as po}from"./search-CKPXZNvI.js";import{F as go}from"./file-text-Bdam-Njc.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const yo=no("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function _o(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var Qn=180/Math.PI,fn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(e,n,r,i,o,a){var s,u,c;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(c=e*r+n*i)&&(r-=e*c,i-=n*c),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,c/=u),e*i180?f+=360:f-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Ft(l,f)})):f&&h.push(o(h)+"rotate("+f+i)}function u(l,f,h,d){l!==f?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Ft(l,f)}):f&&h.push(o(h)+"skewX("+f+i)}function c(l,f,h,d,p,y){if(l!==h||f!==d){var x=p.push(o(p)+"scale(",null,",",null,")");y.push({i:x-4,x:Ft(l,h)},{i:x-2,x:Ft(f,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,f){var h=[],d=[];return l=e(l),f=e(f),a(l.translateX,l.translateY,f.translateX,f.translateY,h,d),s(l.rotate,f.rotate,h,d),u(l.skewX,f.skewX,h,d),c(l.scaleX,l.scaleY,f.scaleX,f.scaleY,h,d),l=f=null,function(p){for(var y=-1,x=d.length,m;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return W.forwardRef((a,s)=>{const u=W.useRef(),c=W.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);er(()=>{c(r(u.current))},W.useLayoutEffect),er(()=>c._destructor instanceof Function?c._destructor:void 0);const l=W.useCallback((h,...d)=>c[h]instanceof Function?c[h](...d):void 0,[c]),f=W.useRef({});return Object.keys(Do(a,[...i,...o])).filter(h=>f.current[h]!==a[h]).forEach(h=>l(h,a[h])),f.current=a,W.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),ro.createElement(n,{ref:u})})}function er(e,n=W.useEffect){const r=W.useRef(),i=W.useRef(!1),o=W.useRef(!1),[a,s]=W.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var dn="http://www.w3.org/1999/xhtml";const nr={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function We(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),nr.hasOwnProperty(n)?{space:nr[n],local:e}:e}function $o(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===dn&&n.documentElement.namespaceURI===dn?n.createElement(e):n.createElementNS(r,e)}}function Lo(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Qr(e){var n=We(e);return(n.local?Lo:$o)(n)}function Fo(){}function Tn(e){return e==null?Fo:function(){return this.querySelector(e)}}function Uo(e){typeof e!="function"&&(e=Tn(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=w&&(w=k+1);!(v=m[w])&&++w=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function ha(e){e||(e=da);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function pa(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ga(){return Array.from(this)}function ya(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?Ma:typeof n=="function"?Pa:Ta)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||ri(e).getComputedStyle(e,null).getPropertyValue(n)}function Ea(e){return function(){delete this[e]}}function za(e,n){return function(){this[e]=n}}function Na(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Ra(e,n){return arguments.length>1?this.each((n==null?Ea:typeof n=="function"?Na:za)(e,n)):this.node()[e]}function ii(e){return e.trim().split(/^|\s+/)}function Pn(e){return e.classList||new oi(e)}function oi(e){this._node=e,this._names=ii(e.getAttribute("class")||"")}oi.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ai(e,n){for(var r=Pn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function us(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Se.prototype=ve.prototype={constructor:Se,on:function(e,n){var r=this._,i=vs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function pn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:c,dy:l,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:f}})}pn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bs(e){return!e.ctrlKey&&!e.button}function ws(){return this.parentNode}function ks(e,n){return n??{x:e.x,y:e.y}}function Cs(){return navigator.maxTouchPoints||"ontouchstart"in this}function As(){var e=bs,n=ws,r=ks,i=Cs,o={},a=ve("start","drag","end"),s=0,u,c,l,f,h=0;function d(_){_.on("mousedown.drag",p).filter(i).on("touchstart.drag",m).on("touchmove.drag",g,xs).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(_,v){if(!(f||!e.call(this,_,v))){var A=w(this,n.call(this,_,v),_,v,"mouse");A&&(pt(_.view).on("mousemove.drag",y,pe).on("mouseup.drag",x,pe),ci(_.view),Qe(_),l=!1,u=_.clientX,c=_.clientY,A("start",_))}}function y(_){if(Vt(_),!l){var v=_.clientX-u,A=_.clientY-c;l=v*v+A*A>h}o.mouse("drag",_)}function x(_){pt(_.view).on("mousemove.drag mouseup.drag",null),fi(_.view,l),Vt(_),o.mouse("end",_)}function m(_,v){if(e.call(this,_,v)){var A=_.changedTouches,M=n.call(this,_,v),T=A.length,R,P;for(R=0;R=0&&e._call.call(void 0,n),e=e._next;--Xt}function ir(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{Ms()}finally{Xt=0,Ps(),Ht=0}}function Ts(){var e=ge.now(),n=e-Re;n>hi&&(Ge-=n,Re=e)}function Ps(){for(var e,n=Ne,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ne=r);se=e,gn(i)}function gn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(ir,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(Ts,hi)),Xt=1,di(ir))}}function or(e,n,r){var i=new je;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var Os=ve("start","end","cancel","interrupt"),Es=[],pi=0,ar=1,yn=2,Me=3,sr=4,_n=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;zs(e,r,{name:n,index:i,group:o,on:Os,tween:Es,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:pi})}function zn(e,n){var r=vt(e,n);if(r.state>pi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Me)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function zs(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=En(a,0,r.time);function a(l){r.state=ar,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var f,h,d,p;if(r.state!==ar)return c();for(f in i)if(p=i[f],p.name===r.name){if(p.state===Me)return or(s);p.state===sr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[f]):+fyn&&i.state<_n,i.state=Te,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete r[s]}a&&delete e.__transition}}function Ns(e){return this.each(function(){Pe(this,e)})}function Rs(e,n){var r,i;return function(){var o=Ct(this,e),a=o.tween;if(a!==r){i=r=a;for(var s=0,u=i.length;s=0&&(n=n.slice(0,r)),!n||n==="start"})}function uu(e,n,r){var i,o,a=su(n)?zn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function lu(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(uu(r,e,n))}function cu(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function fu(){return this.on("end.remove",cu(this._id))}function hu(e){var n=this._name,r=this._id;typeof e!="function"&&(e=Tn(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function Iu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Rn=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Rn;return e.__zoom}function Je(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function $u(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Lu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ur(){return this.__zoom||Rn}function Fu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function qu(){var e=$u,n=Lu,r=Hu,i=Fu,o=Uu,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Ao,l=ve("start","zoom","end"),f,h,d,p=500,y=150,x=0,m=10;function g(S){S.property("__zoom",ur).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",N).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(S,j,E,C){var O=S.selection?S.selection():S;O.property("__zoom",ur),S!==O?v(S,j,E,C):O.interrupt().each(function(){A(this,arguments).event(C).start().zoom(null,typeof j=="function"?j.apply(this,arguments):j).end()})},g.scaleBy=function(S,j,E,C){g.scaleTo(S,function(){var O=this.__zoom.k,I=typeof j=="function"?j.apply(this,arguments):j;return O*I},E,C)},g.scaleTo=function(S,j,E,C){g.transform(S,function(){var O=n.apply(this,arguments),I=this.__zoom,L=E==null?_(O):typeof E=="function"?E.apply(this,arguments):E,H=I.invert(L),F=typeof j=="function"?j.apply(this,arguments):j;return r(w(k(I,F),L,H),O,s)},E,C)},g.translateBy=function(S,j,E,C){g.transform(S,function(){return r(this.__zoom.translate(typeof j=="function"?j.apply(this,arguments):j,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,C)},g.translateTo=function(S,j,E,C,O){g.transform(S,function(){var I=n.apply(this,arguments),L=this.__zoom,H=C==null?_(I):typeof C=="function"?C.apply(this,arguments):C;return r(Rn.translate(H[0],H[1]).scale(L.k).translate(typeof j=="function"?-j.apply(this,arguments):-j,typeof E=="function"?-E.apply(this,arguments):-E),I,s)},C,O)};function k(S,j){return j=Math.max(a[0],Math.min(a[1],j)),j===S.k?S:new Et(j,S.x,S.y)}function w(S,j,E){var C=j[0]-E[0]*S.k,O=j[1]-E[1]*S.k;return C===S.x&&O===S.y?S:new Et(S.k,C,O)}function _(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function v(S,j,E,C){S.on("start.zoom",function(){A(this,arguments).event(C).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(C).end()}).tween("zoom",function(){var O=this,I=arguments,L=A(O,I).event(C),H=n.apply(O,I),F=E==null?_(H):typeof E=="function"?E.apply(O,I):E,G=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),V=O.__zoom,X=typeof j=="function"?j.apply(O,I):j,tt=c(V.invert(F).concat(G/V.k),X.invert(F).concat(G/X.k));return function(Z){if(Z===1)Z=X;else{var st=tt(Z),et=G/st[2];Z=new Et(et,F[0]-st[0]*et,F[1]-st[1]*et)}L.zoom(null,Z)}})}function A(S,j,E){return!E&&S.__zooming||new M(S,j)}function M(S,j){this.that=S,this.args=j,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,j),this.taps=0}M.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,j){return this.mouse&&S!=="mouse"&&(this.mouse[1]=j.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=j.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=j.invert(this.touch1[0])),this.that.__zoom=j,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var j=pt(this.that).datum();l.call(S,this.that,new Iu(S,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),j)}};function T(S,...j){if(!e.apply(this,arguments))return;var E=A(this,j).event(S),C=this.__zoom,O=Math.max(a[0],Math.min(a[1],C.k*Math.pow(2,i.apply(this,arguments)))),I=xt(S);if(E.wheel)(E.mouse[0][0]!==I[0]||E.mouse[0][1]!==I[1])&&(E.mouse[1]=C.invert(E.mouse[0]=I)),clearTimeout(E.wheel);else{if(C.k===O)return;E.mouse=[I,C.invert(I)],Pe(this),E.start()}Jt(S),E.wheel=setTimeout(L,y),E.zoom("mouse",r(w(k(C,O),E.mouse[0],E.mouse[1]),E.extent,s));function L(){E.wheel=null,E.end()}}function R(S,...j){if(d||!e.apply(this,arguments))return;var E=S.currentTarget,C=A(this,j,!0).event(S),O=pt(S.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),I=xt(S,E),L=S.clientX,H=S.clientY;ci(S.view),Je(S),C.mouse=[I,this.__zoom.invert(I)],Pe(this),C.start();function F(V){if(Jt(V),!C.moved){var X=V.clientX-L,tt=V.clientY-H;C.moved=X*X+tt*tt>x}C.event(V).zoom("mouse",r(w(C.that.__zoom,C.mouse[0]=xt(V,E),C.mouse[1]),C.extent,s))}function G(V){O.on("mousemove.zoom mouseup.zoom",null),fi(V.view,C.moved),Jt(V),C.event(V).end()}}function P(S,...j){if(e.apply(this,arguments)){var E=this.__zoom,C=xt(S.changedTouches?S.changedTouches[0]:S,this),O=E.invert(C),I=E.k*(S.shiftKey?.5:2),L=r(w(k(E,I),C,O),n.apply(this,j),s);Jt(S),u>0?pt(this).transition().duration(u).call(v,L,C,S):pt(this).call(g.transform,L,C,S)}}function N(S,...j){if(e.apply(this,arguments)){var E=S.touches,C=E.length,O=A(this,j,S.changedTouches.length===C).event(S),I,L,H,F;for(Je(S),L=0;L=n||M<0||h&&T>=a}function g(){var A=tn();if(m(A))return k(A);u=setTimeout(g,x(A))}function k(A){return u=void 0,d&&i?p(A):(i=o=void 0,s)}function w(){u!==void 0&&clearTimeout(u),l=0,i=c=o=u=void 0}function _(){return u===void 0?s:k(tn())}function v(){var A=tn(),M=m(A);if(i=arguments,o=this,c=A,M){if(u===void 0)return y(c);if(h)return clearTimeout(u),u=setTimeout(g,n),p(c)}return u===void 0&&(u=setTimeout(g,n)),s}return v.cancel=w,v.flush=_,v}var gl="Expected a function";function yl(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(gl);return Ie(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),xi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},bi=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},wi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),mn=new bi,hr=(function(){function e(n,r){r===void 0&&(r=mn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=vn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=wi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],c=Array.isArray(u),l=c?"array":typeof u,f=!c&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(f){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),c||(r[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var m=Math.trunc(u/c),g=u-m*c,k=Math.min(g/i._duration,1);return k===0&&u===i._duration?1:k},h=f(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/c)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=c*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,x=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return W.forwardRef((a,s)=>{const u=W.useRef(),c=W.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);er(()=>{c(r(u.current))},W.useLayoutEffect),er(()=>c._destructor instanceof Function?c._destructor:void 0);const l=W.useCallback((h,...d)=>c[h]instanceof Function?c[h](...d):void 0,[c]),f=W.useRef({});return Object.keys(Do(a,[...i,...o])).filter(h=>f.current[h]!==a[h]).forEach(h=>l(h,a[h])),f.current=a,W.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),ro.createElement(n,{ref:u})})}function er(e,n=W.useEffect){const r=W.useRef(),i=W.useRef(!1),o=W.useRef(!1),[a,s]=W.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var dn="http://www.w3.org/1999/xhtml";const nr={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function We(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),nr.hasOwnProperty(n)?{space:nr[n],local:e}:e}function $o(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===dn&&n.documentElement.namespaceURI===dn?n.createElement(e):n.createElementNS(r,e)}}function Lo(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Qr(e){var n=We(e);return(n.local?Lo:$o)(n)}function Fo(){}function Tn(e){return e==null?Fo:function(){return this.querySelector(e)}}function Uo(e){typeof e!="function"&&(e=Tn(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=w&&(w=k+1);!(v=m[w])&&++w=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function ha(e){e||(e=da);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function pa(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ga(){return Array.from(this)}function ya(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?Ma:typeof n=="function"?Pa:Ta)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||ri(e).getComputedStyle(e,null).getPropertyValue(n)}function Ea(e){return function(){delete this[e]}}function za(e,n){return function(){this[e]=n}}function Na(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Ra(e,n){return arguments.length>1?this.each((n==null?Ea:typeof n=="function"?Na:za)(e,n)):this.node()[e]}function ii(e){return e.trim().split(/^|\s+/)}function Pn(e){return e.classList||new oi(e)}function oi(e){this._node=e,this._names=ii(e.getAttribute("class")||"")}oi.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ai(e,n){for(var r=Pn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function us(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Se.prototype=ve.prototype={constructor:Se,on:function(e,n){var r=this._,i=vs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function pn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:c,dy:l,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:f}})}pn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bs(e){return!e.ctrlKey&&!e.button}function ws(){return this.parentNode}function ks(e,n){return n??{x:e.x,y:e.y}}function Cs(){return navigator.maxTouchPoints||"ontouchstart"in this}function As(){var e=bs,n=ws,r=ks,i=Cs,o={},a=ve("start","drag","end"),s=0,u,c,l,f,h=0;function d(_){_.on("mousedown.drag",p).filter(i).on("touchstart.drag",m).on("touchmove.drag",g,xs).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(_,v){if(!(f||!e.call(this,_,v))){var A=w(this,n.call(this,_,v),_,v,"mouse");A&&(pt(_.view).on("mousemove.drag",y,pe).on("mouseup.drag",x,pe),ci(_.view),Qe(_),l=!1,u=_.clientX,c=_.clientY,A("start",_))}}function y(_){if(Vt(_),!l){var v=_.clientX-u,A=_.clientY-c;l=v*v+A*A>h}o.mouse("drag",_)}function x(_){pt(_.view).on("mousemove.drag mouseup.drag",null),fi(_.view,l),Vt(_),o.mouse("end",_)}function m(_,v){if(e.call(this,_,v)){var A=_.changedTouches,M=n.call(this,_,v),T=A.length,R,P;for(R=0;R=0&&e._call.call(void 0,n),e=e._next;--Xt}function ir(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{Ms()}finally{Xt=0,Ps(),Ht=0}}function Ts(){var e=ge.now(),n=e-Re;n>hi&&(Ge-=n,Re=e)}function Ps(){for(var e,n=Ne,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ne=r);se=e,gn(i)}function gn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(ir,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(Ts,hi)),Xt=1,di(ir))}}function or(e,n,r){var i=new je;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var Os=ve("start","end","cancel","interrupt"),Es=[],pi=0,ar=1,yn=2,Me=3,sr=4,_n=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;zs(e,r,{name:n,index:i,group:o,on:Os,tween:Es,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:pi})}function zn(e,n){var r=vt(e,n);if(r.state>pi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Me)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function zs(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=En(a,0,r.time);function a(l){r.state=ar,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var f,h,d,p;if(r.state!==ar)return c();for(f in i)if(p=i[f],p.name===r.name){if(p.state===Me)return or(s);p.state===sr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[f]):+fyn&&i.state<_n,i.state=Te,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete r[s]}a&&delete e.__transition}}function Ns(e){return this.each(function(){Pe(this,e)})}function Rs(e,n){var r,i;return function(){var o=Ct(this,e),a=o.tween;if(a!==r){i=r=a;for(var s=0,u=i.length;s=0&&(n=n.slice(0,r)),!n||n==="start"})}function uu(e,n,r){var i,o,a=su(n)?zn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function lu(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(uu(r,e,n))}function cu(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function fu(){return this.on("end.remove",cu(this._id))}function hu(e){var n=this._name,r=this._id;typeof e!="function"&&(e=Tn(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function Iu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Rn=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Rn;return e.__zoom}function Je(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function $u(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Lu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ur(){return this.__zoom||Rn}function Fu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function qu(){var e=$u,n=Lu,r=Hu,i=Fu,o=Uu,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Ao,l=ve("start","zoom","end"),f,h,d,p=500,y=150,x=0,m=10;function g(S){S.property("__zoom",ur).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",N).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(S,j,E,C){var O=S.selection?S.selection():S;O.property("__zoom",ur),S!==O?v(S,j,E,C):O.interrupt().each(function(){A(this,arguments).event(C).start().zoom(null,typeof j=="function"?j.apply(this,arguments):j).end()})},g.scaleBy=function(S,j,E,C){g.scaleTo(S,function(){var O=this.__zoom.k,I=typeof j=="function"?j.apply(this,arguments):j;return O*I},E,C)},g.scaleTo=function(S,j,E,C){g.transform(S,function(){var O=n.apply(this,arguments),I=this.__zoom,L=E==null?_(O):typeof E=="function"?E.apply(this,arguments):E,H=I.invert(L),F=typeof j=="function"?j.apply(this,arguments):j;return r(w(k(I,F),L,H),O,s)},E,C)},g.translateBy=function(S,j,E,C){g.transform(S,function(){return r(this.__zoom.translate(typeof j=="function"?j.apply(this,arguments):j,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,C)},g.translateTo=function(S,j,E,C,O){g.transform(S,function(){var I=n.apply(this,arguments),L=this.__zoom,H=C==null?_(I):typeof C=="function"?C.apply(this,arguments):C;return r(Rn.translate(H[0],H[1]).scale(L.k).translate(typeof j=="function"?-j.apply(this,arguments):-j,typeof E=="function"?-E.apply(this,arguments):-E),I,s)},C,O)};function k(S,j){return j=Math.max(a[0],Math.min(a[1],j)),j===S.k?S:new Et(j,S.x,S.y)}function w(S,j,E){var C=j[0]-E[0]*S.k,O=j[1]-E[1]*S.k;return C===S.x&&O===S.y?S:new Et(S.k,C,O)}function _(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function v(S,j,E,C){S.on("start.zoom",function(){A(this,arguments).event(C).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(C).end()}).tween("zoom",function(){var O=this,I=arguments,L=A(O,I).event(C),H=n.apply(O,I),F=E==null?_(H):typeof E=="function"?E.apply(O,I):E,G=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),V=O.__zoom,X=typeof j=="function"?j.apply(O,I):j,tt=c(V.invert(F).concat(G/V.k),X.invert(F).concat(G/X.k));return function(Z){if(Z===1)Z=X;else{var st=tt(Z),et=G/st[2];Z=new Et(et,F[0]-st[0]*et,F[1]-st[1]*et)}L.zoom(null,Z)}})}function A(S,j,E){return!E&&S.__zooming||new M(S,j)}function M(S,j){this.that=S,this.args=j,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,j),this.taps=0}M.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,j){return this.mouse&&S!=="mouse"&&(this.mouse[1]=j.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=j.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=j.invert(this.touch1[0])),this.that.__zoom=j,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var j=pt(this.that).datum();l.call(S,this.that,new Iu(S,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),j)}};function T(S,...j){if(!e.apply(this,arguments))return;var E=A(this,j).event(S),C=this.__zoom,O=Math.max(a[0],Math.min(a[1],C.k*Math.pow(2,i.apply(this,arguments)))),I=xt(S);if(E.wheel)(E.mouse[0][0]!==I[0]||E.mouse[0][1]!==I[1])&&(E.mouse[1]=C.invert(E.mouse[0]=I)),clearTimeout(E.wheel);else{if(C.k===O)return;E.mouse=[I,C.invert(I)],Pe(this),E.start()}Jt(S),E.wheel=setTimeout(L,y),E.zoom("mouse",r(w(k(C,O),E.mouse[0],E.mouse[1]),E.extent,s));function L(){E.wheel=null,E.end()}}function R(S,...j){if(d||!e.apply(this,arguments))return;var E=S.currentTarget,C=A(this,j,!0).event(S),O=pt(S.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),I=xt(S,E),L=S.clientX,H=S.clientY;ci(S.view),Je(S),C.mouse=[I,this.__zoom.invert(I)],Pe(this),C.start();function F(V){if(Jt(V),!C.moved){var X=V.clientX-L,tt=V.clientY-H;C.moved=X*X+tt*tt>x}C.event(V).zoom("mouse",r(w(C.that.__zoom,C.mouse[0]=xt(V,E),C.mouse[1]),C.extent,s))}function G(V){O.on("mousemove.zoom mouseup.zoom",null),fi(V.view,C.moved),Jt(V),C.event(V).end()}}function P(S,...j){if(e.apply(this,arguments)){var E=this.__zoom,C=xt(S.changedTouches?S.changedTouches[0]:S,this),O=E.invert(C),I=E.k*(S.shiftKey?.5:2),L=r(w(k(E,I),C,O),n.apply(this,j),s);Jt(S),u>0?pt(this).transition().duration(u).call(v,L,C,S):pt(this).call(g.transform,L,C,S)}}function N(S,...j){if(e.apply(this,arguments)){var E=S.touches,C=E.length,O=A(this,j,S.changedTouches.length===C).event(S),I,L,H,F;for(Je(S),L=0;L=n||M<0||h&&T>=a}function g(){var A=tn();if(m(A))return k(A);u=setTimeout(g,x(A))}function k(A){return u=void 0,d&&i?p(A):(i=o=void 0,s)}function w(){u!==void 0&&clearTimeout(u),l=0,i=c=o=u=void 0}function _(){return u===void 0?s:k(tn())}function v(){var A=tn(),M=m(A);if(i=arguments,o=this,c=A,M){if(u===void 0)return y(c);if(h)return clearTimeout(u),u=setTimeout(g,n),p(c)}return u===void 0&&(u=setTimeout(g,n)),s}return v.cancel=w,v.flush=_,v}var gl="Expected a function";function yl(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(gl);return Ie(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),xi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},bi=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},wi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),mn=new bi,hr=(function(){function e(n,r){r===void 0&&(r=mn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=vn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=wi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],c=Array.isArray(u),l=c?"array":typeof u,f=!c&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(f){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),c||(r[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var m=Math.trunc(u/c),g=u-m*c,k=Math.min(g/i._duration,1);return k===0&&u===i._duration?1:k},h=f(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/c)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=c*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,x=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);r=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return q(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(jl,arguments)},brighten:function(){return this._applyModification(Dl,arguments)},darken:function(){return this._applyModification(Il,arguments)},desaturate:function(){return this._applyModification(zl,arguments)},saturate:function(){return this._applyModification(Nl,arguments)},greyscale:function(){return this._applyModification(Rl,arguments)},spin:function(){return this._applyModification($l,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Ul,arguments)},complement:function(){return this._applyCombination(Ll,arguments)},monochromatic:function(){return this._applyCombination(Hl,arguments)},splitcomplement:function(){return this._applyCombination(Fl,arguments)},triad:function(){return this._applyCombination(vr,[3])},tetrad:function(){return this._applyCombination(vr,[4])}};q.fromRatio=function(e,n){if($e(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=le(e[i]));e=r}return q(e,n)};function Ml(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=Bl(e)),$e(e)=="object"&&(Mt(e.r)&&Mt(e.g)&&Mt(e.b)?(n=Tl(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Mt(e.h)&&Mt(e.s)&&Mt(e.v)?(i=le(e.s),o=le(e.v),n=Ol(e.h,i,o),s=!0,u="hsv"):Mt(e.h)&&Mt(e.s)&&Mt(e.l)&&(i=le(e.s),a=le(e.l),n=Pl(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=ki(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function Tl(e,n,r){return{r:Q(e,255)*255,g:Q(n,255)*255,b:Q(r,255)*255}}function pr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var c=i-o;switch(s=u>.5?c/(2-i-o):c/(i+o),i){case e:a=(n-r)/c+(n1&&(h-=1),h<1/6?l+(f-l)*6*h:h<1/2?f:h<2/3?l+(f-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,c=2*r-u;i=s(c,u,e+1/3),o=s(c,u,e),a=s(c,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function gr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,c=i-o;if(s=i===0?0:c/i,i==o)a=0;else{switch(i){case e:a=(n-r)/c+(n>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push(q(i));return a}function Hl(e,n){n=n||6;for(var r=q(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push(q({h:i,s:o,v:a})),a=(a+u)%1;return s}q.mix=function(e,n,r){r=r===0?0:r||50;var i=q(e).toRgb(),o=q(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return q(s)};q.readability=function(e,n){var r=q(e),i=q(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};q.isReadable=function(e,n,r){var i=q.readability(e,n),o,a;switch(a=!1,o=Xl(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};q.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,c;r=r||{},s=r.includeFallbackColors,u=r.level,c=r.size;for(var l=0;lo&&(o=a,i=q(n[l]));return q.isReadable(e,i,{level:u,size:c})||!s?i:(r.includeFallbackColors=!1,q.mostReadable(e,["#fff","#000"],r))};var xn=q.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},ql=q.hexNames=Wl(xn);function Wl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function ki(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Q(e,n){Gl(e)&&(e="100%");var r=Vl(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function Be(e){return Math.min(1,Math.max(0,e))}function ct(e){return parseInt(e,16)}function Gl(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Vl(e){return typeof e=="string"&&e.indexOf("%")!=-1}function _t(e){return e.length==1?"0"+e:""+e}function le(e){return e<=1&&(e=e*100+"%"),e}function Ci(e){return Math.round(parseFloat(e)*255).toString(16)}function mr(e){return ct(e)/255}var yt=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function Mt(e){return!!yt.CSS_UNIT.exec(e)}function Bl(e){e=e.replace(Al,"").replace(Sl,"").toLowerCase();var n=!1;if(xn[e])e=xn[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=yt.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=yt.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=yt.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=yt.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=yt.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=yt.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=yt.hex8.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),a:mr(r[4]),format:n?"name":"hex8"}:(r=yt.hex6.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),format:n?"name":"hex"}:(r=yt.hex4.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),a:mr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=yt.hex3.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Xl(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function bn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r0&&arguments[0]!==void 0?arguments[0]:6;Kl(this,e),xr(this,Lt,void 0),xr(this,Tt,void 0),br(Tt,this,n),this.reset()}return Jl(e,[{key:"reset",value:function(){br(Lt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(ht(Lt,this).length>=Math.pow(2,24-ht(Tt,this)))return null;var i=ht(Lt,this).length,o=wr(i,ht(Tt,this)),a=sc(i+(o<<24-ht(Tt,this)));return ht(Lt,this).push(r),a}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?uc(r):Si.apply(void 0,nc(r));if(!i)return null;var o=i&Math.pow(2,24-ht(Tt,this))-1,a=i>>24-ht(Tt,this)&Math.pow(2,ht(Tt,this))-1;return wr(o,ht(Tt,this))!==a||o>=ht(Lt,this).length?null:ht(Lt,this)[o]}}])})(),me,J,Mi,Ti,$t,kr,Pi,Oi,en,Oe,ce,Ei,Dn,wn,kn,Le={},Fe=[],cc=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Xe=Array.isArray;function bt(e,n){for(var r in n)e[r]=n[r];return e}function In(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function fc(e,n,r){var i,o,a,s={};for(a in n)a=="key"?i=n[a]:a=="ref"?o=n[a]:s[a]=n[a];if(arguments.length>2&&(s.children=arguments.length>3?me.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return fe(e,s,i,o,null)}function fe(e,n,r,i,o){var a={type:e,props:n,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++Mi,__i:-1,__u:0};return o==null&&J.vnode!=null&&J.vnode(a),a}function Ye(e){return e.children}function Ee(e,n){this.props=e,this.context=n}function Yt(e,n){if(n==null)return e.__?Yt(e.__,e.__i+1):null;for(var r;nn&&$t.sort(Oi),e=$t.shift(),n=$t.length,hc(e)}finally{$t.length=Ue.__r=0}}function Ni(e,n,r,i,o,a,s,u,c,l,f){var h,d,p,y,x,m,g,k=i&&i.__k||Fe,w=n.length;for(c=dc(r,n,k,c,w),h=0;h0?s=e.__k[a]=fe(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,c=a+d,s.__=e,s.__b=e.__b+1,u=null,(l=s.__i=pc(s,r,c,h))!=-1&&(h--,(u=r[l])&&(u.__u|=2)),u==null||u.__v==null?(l==-1&&(o>f?d--:oc?d--:d++,s.__u|=4))):e.__k[a]=null;if(h)for(a=0;a(f?1:0)){for(o=r-1,a=r+1;o>=0||a=0?o--:a++])!=null&&(2&l.__u)==0&&u==l.key&&c==l.type)return s}return-1}function Ar(e,n,r){n[0]=="-"?e.setProperty(n,r??""):e[n]=r==null?"":typeof r!="number"||cc.test(n)?r:r+"px"}function ke(e,n,r,i,o){var a,s;t:if(n=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof i=="string"&&(e.style.cssText=i=""),i)for(n in i)r&&n in r||Ar(e.style,n,"");if(r)for(n in r)i&&r[n]==i[n]||Ar(e.style,n,r[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Ei,"$1")),s=n.toLowerCase(),n=s in e||n=="onFocusOut"||n=="onFocusIn"?s.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=r,r?i?r[ce]=i[ce]:(r[ce]=Dn,e.addEventListener(n,a?kn:wn,a)):e.removeEventListener(n,a?kn:wn,a);else{if(o=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=r??"";break t}catch{}typeof r=="function"||(r==null||r===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&r==1?"":r))}}function Sr(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n[Oe]==null)n[Oe]=Dn++;else if(n[Oe]0?e:Xe(e)?e.map(Ii):e.constructor!==void 0?null:bt({},e)}function gc(e,n,r,i,o,a,s,u,c){var l,f,h,d,p,y,x,m=r.props||Le,g=n.props,k=n.type;if(k=="svg"?o="http://www.w3.org/2000/svg":k=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l2&&(u.children=arguments.length>3?me.call(arguments,2):r),fe(e.type,u,i||e.key,o||e.ref,null)}me=Fe.slice,J={__e:function(e,n,r,i){for(var o,a,s;n=n.__;)if((o=n.__c)&&!o.__)try{if((a=o.constructor)&&a.getDerivedStateFromError!=null&&(o.setState(a.getDerivedStateFromError(e)),s=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,i||{}),s=o.__d),s)return o.__E=o}catch(u){e=u}throw e}},Mi=0,Ti=function(e){return e!=null&&e.constructor===void 0},Ee.prototype.setState=function(e,n){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=bt({},this.state),typeof e=="function"&&(e=e(bt({},r),this.props)),e&&bt(r,e),e!=null&&this.__v&&(n&&this._sb.push(n),Cr(this))},Ee.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Cr(this))},Ee.prototype.render=Ye,$t=[],Pi=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Oi=function(e,n){return e.__v.__b-n.__v.__b},Ue.__r=0,en=Math.random().toString(8),Oe="__d"+en,ce="__a"+en,Ei=/(PointerCapture)$|Capture$/i,Dn=0,wn=Sr(!1),kn=Sr(!0);function Mr(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var Oc=`.float-tooltip-kap { @@ -46,7 +46,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } `;ch(fh);function Sn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r2&&arguments[2]!==void 0?arguments[2]:{},a=o.nodeFilter,s=a===void 0?function(){return!0}:a,u=o.onLoopError,c=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,l={};r.forEach(function(p){return l[n(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var y=p.source,x=p.target,m=_(y),g=_(x);if(!l.hasOwnProperty(m))throw"Missing source node with id: ".concat(m);if(!l.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var k=l[m],w=l[g];k.out.push(w);function _(v){return Mn(v)==="object"?n(v):v}});var f=[];d(Object.values(l));var h=Object.assign.apply(Object,[{}].concat(gt(Object.entries(l).filter(function(p){var y=de(p,2),x=y[1];return!x.skip}).map(function(p){var y=de(p,2),x=y[0],m=y[1];return ye({},x,m.depth)}))));return h;function d(p){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,m=function(){var _=p[g];if(y.indexOf(_)!==-1){var v=[].concat(gt(y.slice(y.indexOf(_))),[_]).map(function(A){return n(A.data)});return f.some(function(A){return A.length===v.length&&A.every(function(M,T){return M===v[T]})})||(f.push(v),c(v)),1}x>_.depth&&(_.depth=x,d(_.out,[].concat(gt(y),[_]),x+(_.skip?0:1)))},g=0,k=p.length;gn.cooldownTicks||new Date-n.startTickTime>n.cooldownTime||n.d3AlphaMin>0&&n.forceLayout.alpha()0){var D=Math.atan2(P.y-R.y,P.x-R.x),U=N*T,S={x:(R.x+P.x)/2+U*Math.cos(D-Math.PI/2),y:(R.y+P.y)/2+U*Math.sin(D-Math.PI/2)};M.__controlPoints=[S.x,S.y]}else{var j=T*70;M.__controlPoints=[P.x,P.y-j,P.x+j,P.y]}}}}function a(){var u=1.6,c=.2,l=B(n.linkDirectionalArrowLength),f=B(n.linkDirectionalArrowRelPos),h=B(n.linkVisibility),d=B(n.linkDirectionalArrowColor||n.linkColor),p=B(n.nodeVal),y=n.ctx;y.save(),n.graphData.links.filter(h).forEach(function(x){var m=l(x);if(!(!m||m<0)){var g=x.source,k=x.target;if(!(!g||!k||!g.hasOwnProperty("x")||!k.hasOwnProperty("x"))){var w=Math.sqrt(Math.max(0,p(g)||1))*n.nodeRelSize,_=Math.sqrt(Math.max(0,p(k)||1))*n.nodeRelSize,v=Math.min(1,Math.max(0,f(x))),A=d(x)||"rgba(0,0,0,0.28)",M=m/u/2,T=x.__controlPoints&&$r(K,[g.x,g.y].concat(gt(x.__controlPoints),[k.x,k.y])),R=T?function(E){return T.get(E)}:function(E){return{x:g.x+(k.x-g.x)*E||0,y:g.y+(k.y-g.y)*E||0}},P=T?T.length():Math.sqrt(Math.pow(k.x-g.x,2)+Math.pow(k.y-g.y,2)),N=w+m+(P-w-_-m)*v,D=R(N/P),U=R((N-m)/P),S=R((N-m*(1-c))/P),j=Math.atan2(D.y-U.y,D.x-U.x)-Math.PI/2;y.beginPath(),y.moveTo(D.x,D.y),y.lineTo(U.x+M*Math.cos(j),U.y+M*Math.sin(j)),y.lineTo(S.x,S.y),y.lineTo(U.x-M*Math.cos(j),U.y-M*Math.sin(j)),y.fillStyle=A,y.fill()}}}),y.restore()}function s(){var u=B(n.linkDirectionalParticles),c=B(n.linkDirectionalParticleSpeed),l=B(n.linkDirectionalParticleOffset),f=B(n.linkDirectionalParticleWidth),h=B(n.linkVisibility),d=B(n.linkDirectionalParticleColor||n.linkColor),p=n.ctx;p.save(),n.graphData.links.filter(h).forEach(function(y){var x=u(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var m=y.source,g=y.target;if(!(!m||!g||!m.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var k=c(y),w=Math.abs(l(y)),_=y.__photons||[],v=Math.max(0,f(y)/2)/Math.sqrt(n.globalScale),A=d(y)||"rgba(0,0,0,0.28)";p.fillStyle=A;var M=y.__controlPoints?$r(K,[m.x,m.y].concat(gt(y.__controlPoints),[g.x,g.y])):null,T=0,R=!1;_.forEach(function(P){var N=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=N?k<0?1:0:(T+w)/x),!N&&T++,P.__progressRatio+=k,P.__progressRatio>=1||P.__progressRatio<0)if(!N)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{R=!0;return}var D=P.__progressRatio,U=M?M.get(D):{x:m.x+(g.x-m.x)*D||0,y:m.y+(g.y-m.y)*D||0};n.linkDirectionalParticleCanvasObject?n.linkDirectionalParticleCanvasObject(U.x,U.y,y,p,n.globalScale):(p.beginPath(),p.arc(U.x,U.y,v,0,2*Math.PI,!1),p.fill())}),R&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),p.restore()}},emitParticle:function(n,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Lf().force("link",Ef()).force("charge",Ff()).force("center",zc()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(n,r){r.ctx=n},update:function(n,r){n.engineRunning=!1,n.onUpdate(),n.nodeAutoColorBy!==null&&Fr(n.graphData.nodes,B(n.nodeAutoColorBy),n.nodeColor),n.linkAutoColorBy!==null&&Fr(n.graphData.links,B(n.linkAutoColorBy),n.linkColor),n.graphData.links.forEach(function(d){d.source=d[n.linkSource],d.target=d[n.linkTarget]}),n.forceLayout.stop().alpha(1).nodes(n.graphData.nodes);var i=n.forceLayout.force("link");i&&i.id(function(d){return d[n.nodeId]}).links(n.graphData.links);var o=n.dagMode&&bh(n.graphData,function(d){return d[n.nodeId]},{nodeFilter:n.dagNodeFilter,onLoopError:n.onDagError||void 0}),a=Math.max.apply(Math,gt(Object.values(o||[]))),s=n.dagLevelDistance||n.graphData.nodes.length/(a||1)*wh*(["radialin","radialout"].indexOf(n.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(n.dagMode)){var c=["rl","bu"].includes(n.dagMode),l=function(p){return(o[p[n.nodeId]]-a/2)*s*(c?-1:1)},f=["lr","rl"].includes(n.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return d[f]=l(d)})}n.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(n.dagMode)!==-1?Uf(function(d){var p=o[d[n.nodeId]]||-1;return(n.dagMode==="radialin"?a-p:p)*s}).strength(function(d){return n.dagNodeFilter(d)?1:0}):null);for(var h=0;h0&&n.forceLayout.alpha()1?u-1:0),l=1;l1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,a=new Array(o>3?o-3:0),s=3;s1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=B(n.nodeVal),o=function(u){return Math.sqrt(Math.max(0,i(u)||1))*n.nodeRelSize},a=n.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:o(s)}});return a.length?{x:[Zn(a,function(s){return s.x-s.r}),Kn(a,function(s){return s.x+s.r})],y:[Zn(a,function(s){return s.y-s.r}),Kn(a,function(s){return s.y+s.r})]}:null},pauseAnimation:function(n){return n.animationFrameRequestId&&(cancelAnimationFrame(n.animationFrameRequestId),n.animationFrameRequestId=null),this},resumeAnimation:function(n){return n.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Th),stateInit:function(){return{lastSetZoom:1,zoom:qu(),forceGraph:new qe,shadowGraph:new qe().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new lc,tweenGroup:new bi}},init:function(n,r){var i=this;n.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",n.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var a=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},c=function(){var h=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(h=r.colorTracker.lookup(p.data)),h};pt(r.canvas).call(As().subject(function(){if(!r.enableNodeDrag)return null;var f=c();return f&&f.type==="Node"?f.d:null}).on("start",function(f){var h=f.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},f.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(f){var h=f.subject,d=h.__initialDragPos,p=f,y=mt(r.canvas).k,x={x:d.x+(p.x-d.x)/y-h.x,y:d.y+(p.y-d.y)/y-h.y};["x","y"].forEach(function(m){return h["f".concat(m)]=h[m]=d[m]+(p[m]-d[m])/y}),!(!h.__dragged&&Ah>=Math.sqrt(_o(["x","y"].map(function(m){return Math.pow(f[m]-d[m],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,x))}).on("end",function(f){var h=f.subject,d=h.__initialDragPos,p={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,p))})),r.zoom(r.zoom.__baseElem=pt(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(f){return!f.button&&r.enableZoomPanInteraction&&(f.type!=="wheel"||B(r.enableZoomInteraction)(f))&&(f.type==="wheel"||B(r.enablePanInteraction)(f))}).on("zoom",function(f){var h=f.transform;[a,s].forEach(function(d){Ki(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(Gt(Gt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(f){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(Gt(Gt({},f.transform),i.centerAt()))}),an(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){mt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Ch/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Ec(o),["pointermove","pointerdown"].forEach(function(f){return o.addEventListener(f,function(h){f==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=p(o);u.x=h.pageX-d.left,u.y=h.pageY-d.top;function p(y){var x=y.getBoundingClientRect(),m=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:x.top+g,left:x.left+m}}},{passive:!0})}),o.addEventListener("pointerup",function(f){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[f,r.pointerDownEvent];requestAnimationFrame(function(){if(f.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(f.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(f){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(f.preventDefault(),!1)}),r.forceGraph(a),r.shadowGraph(s);var l=yl(function(){Hr(s,r.width,r.height),r.shadowGraph.linkWidth(function(h){return B(r.linkWidth)(h)+r.linkHoverPrecision});var f=mt(r.canvas);r.shadowGraph.globalScale(f.k).tickFrame()},kh);r.flushShadowCanvas=l.flush,(this._animationCycle=function f(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(w){return w.__photons&&w.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:c();if(d!==r.hoverObj){var p=r.hoverObj,y=p?p.type:null,x=d?d.type:null;if(y&&y!==x){var m=r["on".concat(y,"Hover")];m&&m(null,p.d)}if(x){var g=r["on".concat(x,"Hover")];g&&g(d.d,y===x?p.d:null)}r.tooltip.content(d&&B(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(x,"Click")]||!d&&r.onBackgroundClick)&&B(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&l()}if(h){Hr(a,r.width,r.height);var k=mt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(a,k),r.forceGraph.globalScale(k).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(a,k)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(f)})()},update:function(n){}}),sn={exports:{}},un,qr;function Oh(){if(qr)return un;qr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return un=e,un}var ln,Wr;function Eh(){if(Wr)return ln;Wr=1;var e=Oh();function n(){}function r(){}return r.resetWarningCache=n,ln=function(){function i(s,u,c,l,f,h){if(h!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}i.isRequired=i;function o(){return i}var a={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a},ln}var Gr;function zh(){return Gr||(Gr=1,sn.exports=Eh()()),sn.exports}var Nh=zh();const b=io(Nh),Ze={width:b.number,height:b.number,graphData:b.shape({nodes:b.arrayOf(b.object).isRequired,links:b.arrayOf(b.object).isRequired}),backgroundColor:b.string,nodeRelSize:b.number,nodeId:b.string,nodeLabel:b.oneOfType([b.string,b.func]),nodeVal:b.oneOfType([b.number,b.string,b.func]),nodeVisibility:b.oneOfType([b.bool,b.string,b.func]),nodeColor:b.oneOfType([b.string,b.func]),nodeAutoColorBy:b.oneOfType([b.string,b.func]),onNodeHover:b.func,onNodeClick:b.func,linkSource:b.string,linkTarget:b.string,linkLabel:b.oneOfType([b.string,b.func]),linkVisibility:b.oneOfType([b.bool,b.string,b.func]),linkColor:b.oneOfType([b.string,b.func]),linkAutoColorBy:b.oneOfType([b.string,b.func]),linkWidth:b.oneOfType([b.number,b.string,b.func]),linkCurvature:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowLength:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowColor:b.oneOfType([b.string,b.func]),linkDirectionalArrowRelPos:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticles:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleSpeed:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleOffset:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleWidth:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleColor:b.oneOfType([b.string,b.func]),onLinkHover:b.func,onLinkClick:b.func,dagMode:b.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:b.number,dagNodeFilter:b.func,onDagError:b.func,d3AlphaMin:b.number,d3AlphaDecay:b.number,d3VelocityDecay:b.number,warmupTicks:b.number,cooldownTicks:b.number,cooldownTime:b.number,onEngineTick:b.func,onEngineStop:b.func,getGraphBbox:b.func},Qi={zoomToFit:b.func,onNodeRightClick:b.func,onNodeDrag:b.func,onNodeDragEnd:b.func,onLinkRightClick:b.func,linkHoverPrecision:b.number,onBackgroundClick:b.func,onBackgroundRightClick:b.func,showPointerCursor:b.oneOfType([b.bool,b.func]),enablePointerInteraction:b.bool,enableNodeDrag:b.bool},Wn={showNavInfo:b.bool,nodeOpacity:b.number,nodeResolution:b.number,nodeThreeObject:b.oneOfType([b.object,b.string,b.func]),nodeThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),nodePositionUpdate:b.func,linkOpacity:b.number,linkResolution:b.number,linkCurveRotation:b.oneOfType([b.number,b.string,b.func]),linkMaterial:b.oneOfType([b.object,b.string,b.func]),linkThreeObject:b.oneOfType([b.object,b.string,b.func]),linkThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),linkPositionUpdate:b.func,linkDirectionalArrowResolution:b.number,linkDirectionalParticleResolution:b.number,linkDirectionalParticleThreeObject:b.oneOfType([b.object,b.string,b.func]),forceEngine:b.oneOf(["d3","ngraph"]),ngraphPhysics:b.object,numDimensions:b.oneOf([1,2,3])},Rh=Object.assign({},Ze,Qi,{linkLineDash:b.oneOfType([b.arrayOf(b.number),b.string,b.func]),nodeCanvasObjectMode:b.oneOfType([b.string,b.func]),nodeCanvasObject:b.func,nodePointerAreaPaint:b.func,linkCanvasObjectMode:b.oneOfType([b.string,b.func]),linkCanvasObject:b.func,linkPointerAreaPaint:b.func,linkDirectionalParticleCanvasObject:b.func,autoPauseRedraw:b.bool,minZoom:b.number,maxZoom:b.number,enableZoomInteraction:b.oneOfType([b.bool,b.func]),enablePanInteraction:b.oneOfType([b.bool,b.func]),onZoom:b.func,onZoomEnd:b.func,onRenderFramePre:b.func,onRenderFramePost:b.func});Object.assign({},Ze,Qi,Wn,{enableNavigationControls:b.bool,controlType:b.oneOf(["trackball","orbit","fly"]),rendererConfig:b.object,extraRenderers:b.arrayOf(b.shape({render:b.func.isRequired}))});Object.assign({},Ze,Wn,{nodeDesc:b.oneOfType([b.string,b.func]),linkDesc:b.oneOfType([b.string,b.func])});Object.assign({},Ze,Wn,{markerAttrs:b.object,yOffset:b.number,glScale:b.number});const Gn=Io(Ph,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Gn.displayName="ForceGraph2D";Gn.propTypes=Rh;function wt(e){return function(){return e}}function Vr(e){return(e()-.5)*1e-6}function jh(e){return e.x+e.vx}function Dh(e){return e.y+e.vy}function Ih(e){var n,r,i,o=1,a=1;typeof e!="function"&&(e=wt(e==null?1:+e));function s(){for(var l,f=n.length,h,d,p,y,x,m,g=0;gd.index){var N=p-T.x-T.vx,D=y-T.y-T.vy,U=N*N+D*D;Up+P||Ay+P||Ml.r&&(l.r=l[f].r)}function c(){if(n){var l,f=n.length,h;for(r=new Array(f),l=0;la[0]-s[0]||a[1]-s[1]),r=(a,s,u)=>(s[0]-a[0])*(u[1]-a[1])-(s[1]-a[1])*(u[0]-a[0]),i=[];for(const a of n){for(;i.length>=2&&r(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a)}const o=[];for(let a=n.length-1;a>=0;a--){const s=n[a];for(;o.length>=2&&r(o[o.length-2],o[o.length-1],s)<=0;)o.pop();o.push(s)}return i.pop(),o.pop(),i.concat(o)}function Xh({data:e,selectedNodeId:n,onNodeSelect:r}){const[i,o]=W.useState(null),[a,s]=W.useState(.75),u=W.useRef(null),c=W.useRef(null),[l,f]=W.useState({width:500,height:560});W.useEffect(()=>{if(!u.current)return;const C=new ResizeObserver(O=>{for(const I of O)I.contentRect.width>0&&I.contentRect.height>0&&f({width:Math.floor(I.contentRect.width),height:Math.floor(I.contentRect.height)})});return C.observe(u.current),()=>C.disconnect()},[]);const h=W.useRef(new Map),d=W.useMemo(()=>{const C=h.current,O=new Set,I=e.nodes.map(F=>{O.add(F.id);let G=C.get(F.id);return G?(G.content!==F.content||G.category!==F.category)&&(G.content=F.content,G.category=F.category,G.__baseTextWidth=void 0):(G={...F},C.set(F.id,G)),G});for(const F of Array.from(C.keys()))O.has(F)||C.delete(F);const L=new Map(e.nodes.map(F=>[F.id,F.category])),H=e.edges.map(F=>({source:F.source,target:F.target,weight:F.weight||0,__sid:F.source,__tid:F.target,__sameCat:L.get(F.source)===L.get(F.target),__restColor:Hh[L.get(F.source)??""]??Uh}));return{nodes:I,links:H}},[e]),p=W.useMemo(()=>{const C={};return e.edges.forEach(O=>{C[O.source]=(C[O.source]||0)+1,C[O.target]=(C[O.target]||0)+1}),C},[e]),y=C=>({identity:-240,knowledge:240,rules:-240,events:240})[C]||0,x=C=>({identity:-240,knowledge:-240,rules:240,events:240})[C]||0,m=W.useMemo(()=>`${e.nodes.map(C=>C.id).sort().join(",")}#${e.edges.length}`,[e]);W.useEffect(()=>{const C=c.current;if(!C)return;C.d3Force("center",null),C.d3Force("x",$h().x(L=>y(L.category)).strength(.1)),C.d3Force("y",Lh().y(L=>x(L.category)).strength(.1));const O=C.d3Force("charge");O&&O.strength(-380),C.d3Force("collide",Ih().radius(28).iterations(2));const I=C.d3Force("link");I&&I.distance(L=>L.__sameCat?70:200).strength(L=>L.__sameCat?.3*(L.weight||.6):.01),C.d3ReheatSimulation()},[m]);const g=i||n,k=W.useMemo(()=>d.links.filter(C=>C.__sameCat&&(C.weight||0)>=a).length,[d,a]),w=()=>{c.current&&c.current.zoomToFit(400,40)},_=W.useMemo(()=>{if(!g)return new Set;const C=new Set;return e.edges.forEach(O=>{O.source===g&&C.add(O.target),O.target===g&&C.add(O.source)}),C},[g,e]),v=W.useCallback(C=>g?C.__sid===g||C.__tid===g:C.__sameCat&&(C.weight||0)>=a,[g,a]),A=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?Fh:C.__restColor,[g]),M=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?2.5:1.4,[g]),T=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?4:0,[g]),R=W.useCallback((C,O)=>{const I=c.current,L=u.current;if(!I||!L)return null;const H=L.getBoundingClientRect(),{x:F,y:G}=I.screen2GraphCoords(C-H.left,O-H.top),V=Math.max(I.zoom()||1,.01);let X=null,tt=1/0;for(const Z of d.nodes){if(Z.x==null||Z.y==null)continue;const st=6+Math.min(p[Z.id]||0,15)*.8,et=Math.max(st+3,16/V),qt=Z.x-F,At=Z.y-G,nt=qt*qt+At*At;nt<=et*et&&nt{const O=C.target instanceof HTMLCanvasElement?R(C.clientX,C.clientY):null;o(O?O.id:null),u.current&&(u.current.style.cursor=O?"pointer":"default")},[R]),N=W.useCallback(()=>{o(null),u.current&&(u.current.style.cursor="default")},[]),D=W.useRef(null),U=W.useCallback(C=>{D.current={x:C.clientX,y:C.clientY}},[]),S=W.useCallback(C=>{if(!(C.target instanceof HTMLCanvasElement))return;const O=D.current;if(O&&Math.hypot(C.clientX-O.x,C.clientY-O.y)>6)return;const I=R(C.clientX,C.clientY);r(I?I.id:null)},[R,r]),j=W.useCallback((C,O)=>{var L;const I={};for(const H of d.nodes)H.x==null||H.y==null||(I[L=H.category]??(I[L]=[])).push([H.x,H.y]);for(const[H,F]of Object.entries(I)){const G=Wh[H];if(!G||F.length===0)continue;const V=Bh(F);let X=0,tt=0;V.forEach(et=>{X+=et[0],tt+=et[1]}),X/=V.length,tt/=V.length;const Z=34;if(C.beginPath(),V.length<3)C.arc(X,tt,Z+16,0,2*Math.PI);else{const et=V.map(([nt,lt])=>{const jt=nt-X,Zt=lt-tt,Kt=Math.hypot(jt,Zt)||1;return[nt+jt/Kt*Z,lt+Zt/Kt*Z]}),qt=(nt,lt)=>[(nt[0]+lt[0])/2,(nt[1]+lt[1])/2],At=qt(et[et.length-1],et[0]);C.moveTo(At[0],At[1]);for(let nt=0;ntet[1]));C.font='600 26px "Space Grotesk", sans-serif',C.textAlign="center",C.textBaseline="bottom",C.fillStyle=Vh[H],C.fillText(Xr[H]||H,X,st-Z-8)}},[d]),E=W.useCallback((C,O,I)=>{const L=C.x??0,H=C.y??0,F=6+Math.min(p[C.id]||0,15)*.8,G=Br[C.category]||"#64748b",V=C.id===i,X=C.id===n,tt=g&&C.id!==g&&!_.has(C.id),Z=tt?"#1e293b":G;if(tt||(O.beginPath(),O.arc(L,H,F*1.9,0,2*Math.PI,!1),O.fillStyle=qh[C.category]||"rgba(100, 116, 139, 0.14)",O.fill()),(V||X)&&(O.shadowColor=G,O.shadowBlur=15),O.beginPath(),O.arc(L,H,F,0,2*Math.PI,!1),O.fillStyle=Z,O.fill(),O.shadowBlur=0,(V||X)&&(O.beginPath(),O.arc(L,H,F+2.5,0,2*Math.PI,!1),O.strokeStyle=X?"#ffffff":"rgba(255, 255, 255, 0.7)",O.lineWidth=1.5,O.stroke()),V||X||g&&_.has(C.id)){const et=C.content.length>35?C.content.slice(0,34)+"…":C.content;if(C.__baseTextWidth===void 0){const Ji=O.font;O.font='500 10px "Space Grotesk", sans-serif',C.__baseTextWidth=O.measureText(et).width,O.font=Ji}const At=(V||X?10.5:9.5)/Math.max(.5,I);O.font=`${V||X?"bold":"500"} ${At}px "Space Grotesk", sans-serif`;const nt=C.__baseTextWidth*(At/10),lt=4.5/Math.max(.5,I),jt=L-nt/2-lt,Zt=H+F+6/Math.max(.5,I),Kt=nt+lt*2,Vn=At+lt*1.6;O.fillStyle=tt?"rgba(10, 15, 25, 0.45)":"rgba(8, 12, 20, 0.88)",O.fillRect(jt,Zt,Kt,Vn),O.strokeStyle=V||X?"rgba(255, 255, 255, 0.2)":"rgba(255, 255, 255, 0.08)",O.lineWidth=.6/Math.max(.5,I),O.strokeRect(jt,Zt,Kt,Vn),O.textAlign="center",O.textBaseline="top",O.fillStyle=tt?"#475569":V||X?"#ffffff":"#cbd5e1",O.fillText(et,L,H+F+7/Math.max(.5,I))}},[p,i,n,g,_]);return $.jsxs("div",{className:"absolute inset-0",ref:u,onPointerMove:P,onPointerLeave:N,onPointerDown:U,onClick:S,style:{background:"radial-gradient(circle at center, rgba(59, 130, 246, 0.08) 0%, #030712 100%)"},children:[$.jsx(Gn,{ref:c,width:l.width,height:l.height,graphData:d,backgroundColor:"rgba(0,0,0,0)",cooldownTicks:120,enablePointerInteraction:!1,enableNodeDrag:!1,onRenderFramePre:j,linkVisibility:v,linkColor:A,linkWidth:M,linkDirectionalParticles:T,linkDirectionalParticleWidth:2.2,linkDirectionalParticleSpeed:.006,nodeCanvasObject:E}),$.jsxs("button",{onClick:w,title:"Zentrieren",className:"absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-lg border border-border/60 bg-background/50 px-2.5 py-1.5 text-[11px] text-muted-foreground hover:text-foreground backdrop-blur-sm transition-colors cursor-pointer",children:[$.jsx(oo,{className:"h-3.5 w-3.5"})," Zentrieren"]}),$.jsxs("div",{className:"absolute left-3 bottom-3 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-background/40 px-2.5 py-1.5 backdrop-blur-sm",children:[Object.entries(Xr).map(([C,O])=>$.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[$.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:Br[C]}}),O]},C)),$.jsxs("label",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground border-l border-border/40 pl-3",children:[$.jsx("span",{children:"Verbindungen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"alle"}),$.jsx("input",{type:"range",min:.45,max:.95,step:.05,value:a,onChange:C=>s(Number(C.target.value)),className:"w-20 accent-primary cursor-pointer",title:"Nur Verbindungen ab dieser Stärke zeigen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"stark"}),$.jsx("span",{className:"font-mono text-[9px] text-muted-foreground/80 min-w-[3ch] text-right",children:k})]})]})]})}class Yh extends W.Component{constructor(){super(...arguments);Bn(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?$.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[$.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),$.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Zh={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function ed(){const{data:e,isLoading:n}=ao(),[r,i]=W.useState(null),[o,a]=W.useState(null),[s,u]=W.useState(!1),[c,l]=W.useState(""),[f,h]=W.useState(!1),{data:d,isLoading:p}=so(f),y=W.useMemo(()=>(e==null?void 0:e.files)??[],[e]),x=W.useMemo(()=>{const w=new Map;for(const _ of y)w.set(_.name.toLowerCase(),_.path);return w},[y]),m=W.useMemo(()=>{if(!c.trim())return y;const w=c.toLowerCase();return y.filter(_=>_.title.toLowerCase().includes(w)||_.path.toLowerCase().includes(w))},[y,c]),g=W.useMemo(()=>{const w=[];for(const _ of m){const v=w.find(A=>A.dir===_.dir);v?v.files.push(_):w.push({dir:_.dir,files:[_]})}return w.sort((_,v)=>_.dir===""?-1:v.dir===""?1:_.dir.localeCompare(v.dir))},[m]);W.useEffect(()=>{if(!r&&y.length){const w=y.find(_=>_.path.toLowerCase()==="index.md");i((w==null?void 0:w.path)??y[0].path)}},[y,r]),W.useEffect(()=>{r&&(u(!0),uo(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(a).catch(()=>a({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const k=w=>{const _=x.get(w.toLowerCase());_&&i(_)};return $.jsxs("div",{className:"space-y-5",children:[$.jsxs("div",{className:"flex items-center justify-between",children:[$.jsxs("div",{children:[$.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),$.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),y.length>0&&$.jsxs("div",{className:"flex rounded-lg border border-border/60 bg-card p-1",children:[$.jsx("button",{onClick:()=>h(!1),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"text-muted-foreground hover:bg-muted":"bg-primary text-primary-foreground shadow"),children:"Liste"}),$.jsx("button",{onClick:()=>h(!0),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:bg-muted"),children:"Graph"})]})]}),e&&!e.available&&$.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),n&&$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&y.length===0&&$.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),f?$.jsxs("div",{className:"mc-card flex h-[70vh] flex-col overflow-hidden p-0 relative",children:[p&&$.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Graph wird berechnet …"]})}),$.jsx(Yh,{children:d&&$.jsx(Xh,{data:d,selectedNodeId:r,onNodeSelect:w=>{w&&(i(w),h(!1))}})})]}):y.length>0&&$.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[$.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[$.jsxs("div",{className:"relative",children:[$.jsx("input",{value:c,onChange:w=>l(w.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),$.jsx(lo,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),$.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:g.map(({dir:w,files:_})=>$.jsxs("div",{children:[$.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[$.jsx(yo,{className:"h-3 w-3"})," ",Zh[w]??w]}),$.jsx("div",{className:"space-y-0.5",children:_.map(v=>$.jsxs("button",{onClick:()=>i(v.path),className:Ae("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===v.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[$.jsx(co,{className:"h-3.5 w-3.5 shrink-0"}),$.jsx("span",{className:"truncate",title:v.title,children:v.name}),v.neu&&$.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[$.jsx(fo,{className:"h-2.5 w-2.5"}),"neu"]})]},v.path))})]},w||"__root"))})]}),$.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:s?$.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):o?$.jsxs($.Fragment,{children:[$.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[$.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[$.jsx(ho,{className:"h-3.5 w-3.5"})," ",o.path]}),o.mtime>0&&$.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(o.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),$.jsx(Kh,{text:o.content,onWikiLink:k,known:x})]}):null})]})]})}function Kh({text:e,onWikiLink:n,known:r}){const i=e.split(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lr(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function Gt(e){for(var n=1;n2&&arguments[2]!==void 0?arguments[2]:{},a=o.nodeFilter,s=a===void 0?function(){return!0}:a,u=o.onLoopError,c=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,l={};r.forEach(function(p){return l[n(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var y=p.source,x=p.target,m=_(y),g=_(x);if(!l.hasOwnProperty(m))throw"Missing source node with id: ".concat(m);if(!l.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var k=l[m],w=l[g];k.out.push(w);function _(v){return Mn(v)==="object"?n(v):v}});var f=[];d(Object.values(l));var h=Object.assign.apply(Object,[{}].concat(gt(Object.entries(l).filter(function(p){var y=de(p,2),x=y[1];return!x.skip}).map(function(p){var y=de(p,2),x=y[0],m=y[1];return ye({},x,m.depth)}))));return h;function d(p){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,m=function(){var _=p[g];if(y.indexOf(_)!==-1){var v=[].concat(gt(y.slice(y.indexOf(_))),[_]).map(function(A){return n(A.data)});return f.some(function(A){return A.length===v.length&&A.every(function(M,T){return M===v[T]})})||(f.push(v),c(v)),1}x>_.depth&&(_.depth=x,d(_.out,[].concat(gt(y),[_]),x+(_.skip?0:1)))},g=0,k=p.length;gn.cooldownTicks||new Date-n.startTickTime>n.cooldownTime||n.d3AlphaMin>0&&n.forceLayout.alpha()0){var D=Math.atan2(P.y-R.y,P.x-R.x),U=N*T,S={x:(R.x+P.x)/2+U*Math.cos(D-Math.PI/2),y:(R.y+P.y)/2+U*Math.sin(D-Math.PI/2)};M.__controlPoints=[S.x,S.y]}else{var j=T*70;M.__controlPoints=[P.x,P.y-j,P.x+j,P.y]}}}}function a(){var u=1.6,c=.2,l=B(n.linkDirectionalArrowLength),f=B(n.linkDirectionalArrowRelPos),h=B(n.linkVisibility),d=B(n.linkDirectionalArrowColor||n.linkColor),p=B(n.nodeVal),y=n.ctx;y.save(),n.graphData.links.filter(h).forEach(function(x){var m=l(x);if(!(!m||m<0)){var g=x.source,k=x.target;if(!(!g||!k||!g.hasOwnProperty("x")||!k.hasOwnProperty("x"))){var w=Math.sqrt(Math.max(0,p(g)||1))*n.nodeRelSize,_=Math.sqrt(Math.max(0,p(k)||1))*n.nodeRelSize,v=Math.min(1,Math.max(0,f(x))),A=d(x)||"rgba(0,0,0,0.28)",M=m/u/2,T=x.__controlPoints&&$r(K,[g.x,g.y].concat(gt(x.__controlPoints),[k.x,k.y])),R=T?function(E){return T.get(E)}:function(E){return{x:g.x+(k.x-g.x)*E||0,y:g.y+(k.y-g.y)*E||0}},P=T?T.length():Math.sqrt(Math.pow(k.x-g.x,2)+Math.pow(k.y-g.y,2)),N=w+m+(P-w-_-m)*v,D=R(N/P),U=R((N-m)/P),S=R((N-m*(1-c))/P),j=Math.atan2(D.y-U.y,D.x-U.x)-Math.PI/2;y.beginPath(),y.moveTo(D.x,D.y),y.lineTo(U.x+M*Math.cos(j),U.y+M*Math.sin(j)),y.lineTo(S.x,S.y),y.lineTo(U.x-M*Math.cos(j),U.y-M*Math.sin(j)),y.fillStyle=A,y.fill()}}}),y.restore()}function s(){var u=B(n.linkDirectionalParticles),c=B(n.linkDirectionalParticleSpeed),l=B(n.linkDirectionalParticleOffset),f=B(n.linkDirectionalParticleWidth),h=B(n.linkVisibility),d=B(n.linkDirectionalParticleColor||n.linkColor),p=n.ctx;p.save(),n.graphData.links.filter(h).forEach(function(y){var x=u(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var m=y.source,g=y.target;if(!(!m||!g||!m.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var k=c(y),w=Math.abs(l(y)),_=y.__photons||[],v=Math.max(0,f(y)/2)/Math.sqrt(n.globalScale),A=d(y)||"rgba(0,0,0,0.28)";p.fillStyle=A;var M=y.__controlPoints?$r(K,[m.x,m.y].concat(gt(y.__controlPoints),[g.x,g.y])):null,T=0,R=!1;_.forEach(function(P){var N=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=N?k<0?1:0:(T+w)/x),!N&&T++,P.__progressRatio+=k,P.__progressRatio>=1||P.__progressRatio<0)if(!N)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{R=!0;return}var D=P.__progressRatio,U=M?M.get(D):{x:m.x+(g.x-m.x)*D||0,y:m.y+(g.y-m.y)*D||0};n.linkDirectionalParticleCanvasObject?n.linkDirectionalParticleCanvasObject(U.x,U.y,y,p,n.globalScale):(p.beginPath(),p.arc(U.x,U.y,v,0,2*Math.PI,!1),p.fill())}),R&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),p.restore()}},emitParticle:function(n,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Lf().force("link",Ef()).force("charge",Ff()).force("center",zc()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(n,r){r.ctx=n},update:function(n,r){n.engineRunning=!1,n.onUpdate(),n.nodeAutoColorBy!==null&&Fr(n.graphData.nodes,B(n.nodeAutoColorBy),n.nodeColor),n.linkAutoColorBy!==null&&Fr(n.graphData.links,B(n.linkAutoColorBy),n.linkColor),n.graphData.links.forEach(function(d){d.source=d[n.linkSource],d.target=d[n.linkTarget]}),n.forceLayout.stop().alpha(1).nodes(n.graphData.nodes);var i=n.forceLayout.force("link");i&&i.id(function(d){return d[n.nodeId]}).links(n.graphData.links);var o=n.dagMode&&bh(n.graphData,function(d){return d[n.nodeId]},{nodeFilter:n.dagNodeFilter,onLoopError:n.onDagError||void 0}),a=Math.max.apply(Math,gt(Object.values(o||[]))),s=n.dagLevelDistance||n.graphData.nodes.length/(a||1)*wh*(["radialin","radialout"].indexOf(n.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(n.dagMode)){var c=["rl","bu"].includes(n.dagMode),l=function(p){return(o[p[n.nodeId]]-a/2)*s*(c?-1:1)},f=["lr","rl"].includes(n.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return d[f]=l(d)})}n.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(n.dagMode)!==-1?Uf(function(d){var p=o[d[n.nodeId]]||-1;return(n.dagMode==="radialin"?a-p:p)*s}).strength(function(d){return n.dagNodeFilter(d)?1:0}):null);for(var h=0;h0&&n.forceLayout.alpha()1?u-1:0),l=1;l1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,a=new Array(o>3?o-3:0),s=3;s1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=B(n.nodeVal),o=function(u){return Math.sqrt(Math.max(0,i(u)||1))*n.nodeRelSize},a=n.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:o(s)}});return a.length?{x:[Zn(a,function(s){return s.x-s.r}),Kn(a,function(s){return s.x+s.r})],y:[Zn(a,function(s){return s.y-s.r}),Kn(a,function(s){return s.y+s.r})]}:null},pauseAnimation:function(n){return n.animationFrameRequestId&&(cancelAnimationFrame(n.animationFrameRequestId),n.animationFrameRequestId=null),this},resumeAnimation:function(n){return n.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Th),stateInit:function(){return{lastSetZoom:1,zoom:qu(),forceGraph:new qe,shadowGraph:new qe().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new lc,tweenGroup:new bi}},init:function(n,r){var i=this;n.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",n.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var a=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},c=function(){var h=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(h=r.colorTracker.lookup(p.data)),h};pt(r.canvas).call(As().subject(function(){if(!r.enableNodeDrag)return null;var f=c();return f&&f.type==="Node"?f.d:null}).on("start",function(f){var h=f.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},f.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(f){var h=f.subject,d=h.__initialDragPos,p=f,y=mt(r.canvas).k,x={x:d.x+(p.x-d.x)/y-h.x,y:d.y+(p.y-d.y)/y-h.y};["x","y"].forEach(function(m){return h["f".concat(m)]=h[m]=d[m]+(p[m]-d[m])/y}),!(!h.__dragged&&Ah>=Math.sqrt(_o(["x","y"].map(function(m){return Math.pow(f[m]-d[m],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,x))}).on("end",function(f){var h=f.subject,d=h.__initialDragPos,p={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,p))})),r.zoom(r.zoom.__baseElem=pt(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(f){return!f.button&&r.enableZoomPanInteraction&&(f.type!=="wheel"||B(r.enableZoomInteraction)(f))&&(f.type==="wheel"||B(r.enablePanInteraction)(f))}).on("zoom",function(f){var h=f.transform;[a,s].forEach(function(d){Ki(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(Gt(Gt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(f){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(Gt(Gt({},f.transform),i.centerAt()))}),an(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){mt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Ch/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Ec(o),["pointermove","pointerdown"].forEach(function(f){return o.addEventListener(f,function(h){f==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=p(o);u.x=h.pageX-d.left,u.y=h.pageY-d.top;function p(y){var x=y.getBoundingClientRect(),m=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:x.top+g,left:x.left+m}}},{passive:!0})}),o.addEventListener("pointerup",function(f){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[f,r.pointerDownEvent];requestAnimationFrame(function(){if(f.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(f.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(f){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(f.preventDefault(),!1)}),r.forceGraph(a),r.shadowGraph(s);var l=yl(function(){Hr(s,r.width,r.height),r.shadowGraph.linkWidth(function(h){return B(r.linkWidth)(h)+r.linkHoverPrecision});var f=mt(r.canvas);r.shadowGraph.globalScale(f.k).tickFrame()},kh);r.flushShadowCanvas=l.flush,(this._animationCycle=function f(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(w){return w.__photons&&w.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:c();if(d!==r.hoverObj){var p=r.hoverObj,y=p?p.type:null,x=d?d.type:null;if(y&&y!==x){var m=r["on".concat(y,"Hover")];m&&m(null,p.d)}if(x){var g=r["on".concat(x,"Hover")];g&&g(d.d,y===x?p.d:null)}r.tooltip.content(d&&B(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(x,"Click")]||!d&&r.onBackgroundClick)&&B(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&l()}if(h){Hr(a,r.width,r.height);var k=mt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(a,k),r.forceGraph.globalScale(k).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(a,k)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(f)})()},update:function(n){}}),sn={exports:{}},un,qr;function Oh(){if(qr)return un;qr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return un=e,un}var ln,Wr;function Eh(){if(Wr)return ln;Wr=1;var e=Oh();function n(){}function r(){}return r.resetWarningCache=n,ln=function(){function i(s,u,c,l,f,h){if(h!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}i.isRequired=i;function o(){return i}var a={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a},ln}var Gr;function zh(){return Gr||(Gr=1,sn.exports=Eh()()),sn.exports}var Nh=zh();const b=io(Nh),Ze={width:b.number,height:b.number,graphData:b.shape({nodes:b.arrayOf(b.object).isRequired,links:b.arrayOf(b.object).isRequired}),backgroundColor:b.string,nodeRelSize:b.number,nodeId:b.string,nodeLabel:b.oneOfType([b.string,b.func]),nodeVal:b.oneOfType([b.number,b.string,b.func]),nodeVisibility:b.oneOfType([b.bool,b.string,b.func]),nodeColor:b.oneOfType([b.string,b.func]),nodeAutoColorBy:b.oneOfType([b.string,b.func]),onNodeHover:b.func,onNodeClick:b.func,linkSource:b.string,linkTarget:b.string,linkLabel:b.oneOfType([b.string,b.func]),linkVisibility:b.oneOfType([b.bool,b.string,b.func]),linkColor:b.oneOfType([b.string,b.func]),linkAutoColorBy:b.oneOfType([b.string,b.func]),linkWidth:b.oneOfType([b.number,b.string,b.func]),linkCurvature:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowLength:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowColor:b.oneOfType([b.string,b.func]),linkDirectionalArrowRelPos:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticles:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleSpeed:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleOffset:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleWidth:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleColor:b.oneOfType([b.string,b.func]),onLinkHover:b.func,onLinkClick:b.func,dagMode:b.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:b.number,dagNodeFilter:b.func,onDagError:b.func,d3AlphaMin:b.number,d3AlphaDecay:b.number,d3VelocityDecay:b.number,warmupTicks:b.number,cooldownTicks:b.number,cooldownTime:b.number,onEngineTick:b.func,onEngineStop:b.func,getGraphBbox:b.func},Qi={zoomToFit:b.func,onNodeRightClick:b.func,onNodeDrag:b.func,onNodeDragEnd:b.func,onLinkRightClick:b.func,linkHoverPrecision:b.number,onBackgroundClick:b.func,onBackgroundRightClick:b.func,showPointerCursor:b.oneOfType([b.bool,b.func]),enablePointerInteraction:b.bool,enableNodeDrag:b.bool},Wn={showNavInfo:b.bool,nodeOpacity:b.number,nodeResolution:b.number,nodeThreeObject:b.oneOfType([b.object,b.string,b.func]),nodeThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),nodePositionUpdate:b.func,linkOpacity:b.number,linkResolution:b.number,linkCurveRotation:b.oneOfType([b.number,b.string,b.func]),linkMaterial:b.oneOfType([b.object,b.string,b.func]),linkThreeObject:b.oneOfType([b.object,b.string,b.func]),linkThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),linkPositionUpdate:b.func,linkDirectionalArrowResolution:b.number,linkDirectionalParticleResolution:b.number,linkDirectionalParticleThreeObject:b.oneOfType([b.object,b.string,b.func]),forceEngine:b.oneOf(["d3","ngraph"]),ngraphPhysics:b.object,numDimensions:b.oneOf([1,2,3])},Rh=Object.assign({},Ze,Qi,{linkLineDash:b.oneOfType([b.arrayOf(b.number),b.string,b.func]),nodeCanvasObjectMode:b.oneOfType([b.string,b.func]),nodeCanvasObject:b.func,nodePointerAreaPaint:b.func,linkCanvasObjectMode:b.oneOfType([b.string,b.func]),linkCanvasObject:b.func,linkPointerAreaPaint:b.func,linkDirectionalParticleCanvasObject:b.func,autoPauseRedraw:b.bool,minZoom:b.number,maxZoom:b.number,enableZoomInteraction:b.oneOfType([b.bool,b.func]),enablePanInteraction:b.oneOfType([b.bool,b.func]),onZoom:b.func,onZoomEnd:b.func,onRenderFramePre:b.func,onRenderFramePost:b.func});Object.assign({},Ze,Qi,Wn,{enableNavigationControls:b.bool,controlType:b.oneOf(["trackball","orbit","fly"]),rendererConfig:b.object,extraRenderers:b.arrayOf(b.shape({render:b.func.isRequired}))});Object.assign({},Ze,Wn,{nodeDesc:b.oneOfType([b.string,b.func]),linkDesc:b.oneOfType([b.string,b.func])});Object.assign({},Ze,Wn,{markerAttrs:b.object,yOffset:b.number,glScale:b.number});const Gn=Io(Ph,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Gn.displayName="ForceGraph2D";Gn.propTypes=Rh;function wt(e){return function(){return e}}function Vr(e){return(e()-.5)*1e-6}function jh(e){return e.x+e.vx}function Dh(e){return e.y+e.vy}function Ih(e){var n,r,i,o=1,a=1;typeof e!="function"&&(e=wt(e==null?1:+e));function s(){for(var l,f=n.length,h,d,p,y,x,m,g=0;gd.index){var N=p-T.x-T.vx,D=y-T.y-T.vy,U=N*N+D*D;Up+P||Ay+P||Ml.r&&(l.r=l[f].r)}function c(){if(n){var l,f=n.length,h;for(r=new Array(f),l=0;la[0]-s[0]||a[1]-s[1]),r=(a,s,u)=>(s[0]-a[0])*(u[1]-a[1])-(s[1]-a[1])*(u[0]-a[0]),i=[];for(const a of n){for(;i.length>=2&&r(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a)}const o=[];for(let a=n.length-1;a>=0;a--){const s=n[a];for(;o.length>=2&&r(o[o.length-2],o[o.length-1],s)<=0;)o.pop();o.push(s)}return i.pop(),o.pop(),i.concat(o)}function Xh({data:e,selectedNodeId:n,onNodeSelect:r}){const[i,o]=W.useState(null),[a,s]=W.useState(.75),u=W.useRef(null),c=W.useRef(null),[l,f]=W.useState({width:500,height:560});W.useEffect(()=>{if(!u.current)return;const C=new ResizeObserver(O=>{for(const I of O)I.contentRect.width>0&&I.contentRect.height>0&&f({width:Math.floor(I.contentRect.width),height:Math.floor(I.contentRect.height)})});return C.observe(u.current),()=>C.disconnect()},[]);const h=W.useRef(new Map),d=W.useMemo(()=>{const C=h.current,O=new Set,I=e.nodes.map(F=>{O.add(F.id);let G=C.get(F.id);return G?(G.content!==F.content||G.category!==F.category)&&(G.content=F.content,G.category=F.category,G.__baseTextWidth=void 0):(G={...F},C.set(F.id,G)),G});for(const F of Array.from(C.keys()))O.has(F)||C.delete(F);const L=new Map(e.nodes.map(F=>[F.id,F.category])),H=e.edges.map(F=>({source:F.source,target:F.target,weight:F.weight||0,__sid:F.source,__tid:F.target,__sameCat:L.get(F.source)===L.get(F.target),__restColor:Hh[L.get(F.source)??""]??Uh}));return{nodes:I,links:H}},[e]),p=W.useMemo(()=>{const C={};return e.edges.forEach(O=>{C[O.source]=(C[O.source]||0)+1,C[O.target]=(C[O.target]||0)+1}),C},[e]),y=C=>({identity:-240,knowledge:240,rules:-240,events:240})[C]||0,x=C=>({identity:-240,knowledge:-240,rules:240,events:240})[C]||0,m=W.useMemo(()=>`${e.nodes.map(C=>C.id).sort().join(",")}#${e.edges.length}`,[e]);W.useEffect(()=>{const C=c.current;if(!C)return;C.d3Force("center",null),C.d3Force("x",$h().x(L=>y(L.category)).strength(.1)),C.d3Force("y",Lh().y(L=>x(L.category)).strength(.1));const O=C.d3Force("charge");O&&O.strength(-380),C.d3Force("collide",Ih().radius(28).iterations(2));const I=C.d3Force("link");I&&I.distance(L=>L.__sameCat?70:200).strength(L=>L.__sameCat?.3*(L.weight||.6):.01),C.d3ReheatSimulation()},[m]);const g=i||n,k=W.useMemo(()=>d.links.filter(C=>C.__sameCat&&(C.weight||0)>=a).length,[d,a]),w=()=>{c.current&&c.current.zoomToFit(400,40)},_=W.useMemo(()=>{if(!g)return new Set;const C=new Set;return e.edges.forEach(O=>{O.source===g&&C.add(O.target),O.target===g&&C.add(O.source)}),C},[g,e]),v=W.useCallback(C=>g?C.__sid===g||C.__tid===g:C.__sameCat&&(C.weight||0)>=a,[g,a]),A=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?Fh:C.__restColor,[g]),M=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?2.5:1.4,[g]),T=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?4:0,[g]),R=W.useCallback((C,O)=>{const I=c.current,L=u.current;if(!I||!L)return null;const H=L.getBoundingClientRect(),{x:F,y:G}=I.screen2GraphCoords(C-H.left,O-H.top),V=Math.max(I.zoom()||1,.01);let X=null,tt=1/0;for(const Z of d.nodes){if(Z.x==null||Z.y==null)continue;const st=6+Math.min(p[Z.id]||0,15)*.8,et=Math.max(st+3,16/V),qt=Z.x-F,At=Z.y-G,nt=qt*qt+At*At;nt<=et*et&&nt{const O=C.target instanceof HTMLCanvasElement?R(C.clientX,C.clientY):null;o(O?O.id:null),u.current&&(u.current.style.cursor=O?"pointer":"default")},[R]),N=W.useCallback(()=>{o(null),u.current&&(u.current.style.cursor="default")},[]),D=W.useRef(null),U=W.useCallback(C=>{D.current={x:C.clientX,y:C.clientY}},[]),S=W.useCallback(C=>{if(!(C.target instanceof HTMLCanvasElement))return;const O=D.current;if(O&&Math.hypot(C.clientX-O.x,C.clientY-O.y)>6)return;const I=R(C.clientX,C.clientY);r(I?I.id:null)},[R,r]),j=W.useCallback((C,O)=>{var L;const I={};for(const H of d.nodes)H.x==null||H.y==null||(I[L=H.category]??(I[L]=[])).push([H.x,H.y]);for(const[H,F]of Object.entries(I)){const G=Wh[H];if(!G||F.length===0)continue;const V=Bh(F);let X=0,tt=0;V.forEach(et=>{X+=et[0],tt+=et[1]}),X/=V.length,tt/=V.length;const Z=34;if(C.beginPath(),V.length<3)C.arc(X,tt,Z+16,0,2*Math.PI);else{const et=V.map(([nt,lt])=>{const jt=nt-X,Zt=lt-tt,Kt=Math.hypot(jt,Zt)||1;return[nt+jt/Kt*Z,lt+Zt/Kt*Z]}),qt=(nt,lt)=>[(nt[0]+lt[0])/2,(nt[1]+lt[1])/2],At=qt(et[et.length-1],et[0]);C.moveTo(At[0],At[1]);for(let nt=0;ntet[1]));C.font='600 26px "Space Grotesk", sans-serif',C.textAlign="center",C.textBaseline="bottom",C.fillStyle=Vh[H],C.fillText(Xr[H]||H,X,st-Z-8)}},[d]),E=W.useCallback((C,O,I)=>{const L=C.x??0,H=C.y??0,F=6+Math.min(p[C.id]||0,15)*.8,G=Br[C.category]||"#64748b",V=C.id===i,X=C.id===n,tt=g&&C.id!==g&&!_.has(C.id),Z=tt?"#1e293b":G;if(tt||(O.beginPath(),O.arc(L,H,F*1.9,0,2*Math.PI,!1),O.fillStyle=qh[C.category]||"rgba(100, 116, 139, 0.14)",O.fill()),(V||X)&&(O.shadowColor=G,O.shadowBlur=15),O.beginPath(),O.arc(L,H,F,0,2*Math.PI,!1),O.fillStyle=Z,O.fill(),O.shadowBlur=0,(V||X)&&(O.beginPath(),O.arc(L,H,F+2.5,0,2*Math.PI,!1),O.strokeStyle=X?"#ffffff":"rgba(255, 255, 255, 0.7)",O.lineWidth=1.5,O.stroke()),V||X||g&&_.has(C.id)){const et=C.content.length>35?C.content.slice(0,34)+"…":C.content;if(C.__baseTextWidth===void 0){const Ji=O.font;O.font='500 10px "Space Grotesk", sans-serif',C.__baseTextWidth=O.measureText(et).width,O.font=Ji}const At=(V||X?10.5:9.5)/Math.max(.5,I);O.font=`${V||X?"bold":"500"} ${At}px "Space Grotesk", sans-serif`;const nt=C.__baseTextWidth*(At/10),lt=4.5/Math.max(.5,I),jt=L-nt/2-lt,Zt=H+F+6/Math.max(.5,I),Kt=nt+lt*2,Vn=At+lt*1.6;O.fillStyle=tt?"rgba(10, 15, 25, 0.45)":"rgba(8, 12, 20, 0.88)",O.fillRect(jt,Zt,Kt,Vn),O.strokeStyle=V||X?"rgba(255, 255, 255, 0.2)":"rgba(255, 255, 255, 0.08)",O.lineWidth=.6/Math.max(.5,I),O.strokeRect(jt,Zt,Kt,Vn),O.textAlign="center",O.textBaseline="top",O.fillStyle=tt?"#475569":V||X?"#ffffff":"#cbd5e1",O.fillText(et,L,H+F+7/Math.max(.5,I))}},[p,i,n,g,_]);return $.jsxs("div",{className:"absolute inset-0",ref:u,onPointerMove:P,onPointerLeave:N,onPointerDown:U,onClick:S,style:{background:"radial-gradient(circle at center, rgba(59, 130, 246, 0.08) 0%, #030712 100%)"},children:[$.jsx(Gn,{ref:c,width:l.width,height:l.height,graphData:d,backgroundColor:"rgba(0,0,0,0)",cooldownTicks:120,enablePointerInteraction:!1,enableNodeDrag:!1,onRenderFramePre:j,linkVisibility:v,linkColor:A,linkWidth:M,linkDirectionalParticles:T,linkDirectionalParticleWidth:2.2,linkDirectionalParticleSpeed:.006,nodeCanvasObject:E}),$.jsxs("button",{onClick:w,title:"Zentrieren",className:"absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-lg border border-border/60 bg-background/50 px-2.5 py-1.5 text-[11px] text-muted-foreground hover:text-foreground backdrop-blur-sm transition-colors cursor-pointer",children:[$.jsx(ho,{className:"h-3.5 w-3.5"})," Zentrieren"]}),$.jsxs("div",{className:"absolute left-3 bottom-3 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-background/40 px-2.5 py-1.5 backdrop-blur-sm",children:[Object.entries(Xr).map(([C,O])=>$.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[$.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:Br[C]}}),O]},C)),$.jsxs("label",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground border-l border-border/40 pl-3",children:[$.jsx("span",{children:"Verbindungen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"alle"}),$.jsx("input",{type:"range",min:.45,max:.95,step:.05,value:a,onChange:C=>s(Number(C.target.value)),className:"w-20 accent-primary cursor-pointer",title:"Nur Verbindungen ab dieser Stärke zeigen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"stark"}),$.jsx("span",{className:"font-mono text-[9px] text-muted-foreground/80 min-w-[3ch] text-right",children:k})]})]})]})}class Yh extends W.Component{constructor(){super(...arguments);Bn(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?$.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[$.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),$.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Zh={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function id(){const{data:e,isLoading:n}=oo(),[r,i]=W.useState(null),[o,a]=W.useState(null),[s,u]=W.useState(!1),[c,l]=W.useState(""),[f,h]=W.useState(!1),{data:d,isLoading:p}=ao(f),y=W.useMemo(()=>(e==null?void 0:e.files)??[],[e]),x=W.useMemo(()=>{const w=new Map;for(const _ of y)w.set(_.name.toLowerCase(),_.path);return w},[y]),m=W.useMemo(()=>{if(!c.trim())return y;const w=c.toLowerCase();return y.filter(_=>_.title.toLowerCase().includes(w)||_.path.toLowerCase().includes(w))},[y,c]),g=W.useMemo(()=>{const w=[];for(const _ of m){const v=w.find(A=>A.dir===_.dir);v?v.files.push(_):w.push({dir:_.dir,files:[_]})}return w.sort((_,v)=>_.dir===""?-1:v.dir===""?1:_.dir.localeCompare(v.dir))},[m]);W.useEffect(()=>{if(!r&&y.length){const w=y.find(_=>_.path.toLowerCase()==="index.md");i((w==null?void 0:w.path)??y[0].path)}},[y,r]),W.useEffect(()=>{r&&(u(!0),so(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(a).catch(()=>a({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const k=w=>{const _=x.get(w.toLowerCase());_&&i(_)};return $.jsxs("div",{className:"space-y-5",children:[$.jsxs("div",{className:"flex items-center justify-between",children:[$.jsxs("div",{children:[$.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Wissen"}),$.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),y.length>0&&$.jsxs("div",{className:"flex rounded-lg border border-border/60 bg-card p-1",children:[$.jsx("button",{onClick:()=>h(!1),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"text-muted-foreground hover:bg-muted":"bg-primary text-primary-foreground shadow"),children:"Liste"}),$.jsx("button",{onClick:()=>h(!0),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:bg-muted"),children:"Graph"})]})]}),e&&!e.available&&$.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),n&&$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&y.length===0&&$.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),f?$.jsxs("div",{className:"mc-card flex h-[70vh] flex-col overflow-hidden p-0 relative",children:[p&&$.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Graph wird berechnet …"]})}),$.jsx(Yh,{children:d&&$.jsx(Xh,{data:d,selectedNodeId:r,onNodeSelect:w=>{w&&(i(w),h(!1))}})})]}):y.length>0&&$.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[$.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[$.jsxs("div",{className:"relative",children:[$.jsx("input",{value:c,onChange:w=>l(w.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),$.jsx(po,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),$.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:g.map(({dir:w,files:_})=>$.jsxs("div",{children:[$.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[$.jsx(yo,{className:"h-3 w-3"})," ",Zh[w]??w]}),$.jsx("div",{className:"space-y-0.5",children:_.map(v=>$.jsxs("button",{onClick:()=>i(v.path),className:Ae("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===v.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[$.jsx(go,{className:"h-3.5 w-3.5 shrink-0"}),$.jsx("span",{className:"truncate",title:v.title,children:v.name}),v.neu&&$.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[$.jsx(uo,{className:"h-2.5 w-2.5"}),"neu"]})]},v.path))})]},w||"__root"))})]}),$.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:s?$.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):o?$.jsxs($.Fragment,{children:[$.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[$.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[$.jsx(lo,{className:"h-3.5 w-3.5"})," ",o.path]}),o.mtime>0&&$.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(o.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),$.jsx(Kh,{text:o.content,onWikiLink:k,known:x})]}):null})]})]})}function Kh({text:e,onWikiLink:n,known:r}){const i=e.split(` `),o=[];let a=[],s=null;const u=c=>{a.length&&(o.push($.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:a},c)),a=[])};return i.forEach((c,l)=>{const f=`l${l}`;if(s!==null){c.trimEnd()==="```"?(o.push($.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:s.join(` `)},f)),s=null):s.push(c);return}if(c.trimStart().startsWith("```")){u(f),s=[];return}const h=c.trimEnd();if(!h.trim()){u(f);return}const d=h.match(/^(#{1,4})\s+(.*)$/);if(d){u(f);const y=d[1].length,x=y===1?"text-lg font-bold mt-1 mb-3":y===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";o.push($.jsx("p",{className:Ae(x,"font-space text-foreground"),children:cn(d[2],n,r,f)},f));return}const p=h.match(/^\s*[-*•]\s+(.*)$/);if(p){a.push($.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:cn(p[1],n,r,f)},f));return}u(f),o.push($.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:cn(h,n,r,f)},f))}),u("end"),s!==null&&o.push($.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:s.join(` -`)},"code-end")),$.jsx("div",{className:"max-w-3xl",children:o})}function cn(e,n,r,i){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((a,s)=>{const u=`${i}-${s}`,c=a.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(c){const l=c[1].trim(),f=(c[2]??c[1]).trim();return r.has(l.toLowerCase())?$.jsx("button",{onClick:()=>n(l),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:f},u):$.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:f},u)}return a.startsWith("**")&&a.endsWith("**")?$.jsx("b",{className:"font-semibold text-foreground",children:a.slice(2,-2)},u):a.startsWith("*")&&a.endsWith("*")&&a.length>2?$.jsx("i",{children:a.slice(1,-1)},u):a.startsWith("`")&&a.endsWith("`")?$.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:a.slice(1,-1)},u):$.jsx("span",{children:a},u)})}export{ed as WissenView}; +`)},"code-end")),$.jsx("div",{className:"max-w-3xl",children:o})}function cn(e,n,r,i){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((a,s)=>{const u=`${i}-${s}`,c=a.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(c){const l=c[1].trim(),f=(c[2]??c[1]).trim();return r.has(l.toLowerCase())?$.jsx("button",{onClick:()=>n(l),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:f},u):$.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:f},u)}return a.startsWith("**")&&a.endsWith("**")?$.jsx("b",{className:"font-semibold text-foreground",children:a.slice(2,-2)},u):a.startsWith("*")&&a.endsWith("*")&&a.length>2?$.jsx("i",{children:a.slice(1,-1)},u):a.startsWith("`")&&a.endsWith("`")?$.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:a.slice(1,-1)},u):$.jsx("span",{children:a},u)})}export{id as WissenView}; diff --git a/frontend/dist/assets/arrow-right-D09OliuI.js b/frontend/dist/assets/arrow-right-D09OliuI.js new file mode 100644 index 0000000..f31cbee --- /dev/null +++ b/frontend/dist/assets/arrow-right-D09OliuI.js @@ -0,0 +1,6 @@ +import{c as r}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=r("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);export{o as A}; diff --git a/frontend/dist/assets/chevron-down-D5zhK_UQ.js b/frontend/dist/assets/chevron-down-BGRm8kVZ.js similarity index 85% rename from frontend/dist/assets/chevron-down-D5zhK_UQ.js rename to frontend/dist/assets/chevron-down-BGRm8kVZ.js index 29006c3..c2a7a75 100644 --- a/frontend/dist/assets/chevron-down-D5zhK_UQ.js +++ b/frontend/dist/assets/chevron-down-BGRm8kVZ.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-BYlMs6Dj.js";/** +import{c as o}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/circle-check-Crmfz00W.js b/frontend/dist/assets/circle-check-Crmfz00W.js new file mode 100644 index 0000000..ec05461 --- /dev/null +++ b/frontend/dist/assets/circle-check-Crmfz00W.js @@ -0,0 +1,6 @@ +import{c}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r=c("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);export{r as C}; diff --git a/frontend/dist/assets/clock-uyqKk7Jn.js b/frontend/dist/assets/clock-uyqKk7Jn.js new file mode 100644 index 0000000..874055f --- /dev/null +++ b/frontend/dist/assets/clock-uyqKk7Jn.js @@ -0,0 +1,6 @@ +import{c}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=c("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);export{o as C}; diff --git a/frontend/dist/assets/code-xml-DZ6lLr-w.js b/frontend/dist/assets/code-xml-D7ACEH7O.js similarity index 88% rename from frontend/dist/assets/code-xml-DZ6lLr-w.js rename to frontend/dist/assets/code-xml-D7ACEH7O.js index 473b24e..adb8209 100644 --- a/frontend/dist/assets/code-xml-DZ6lLr-w.js +++ b/frontend/dist/assets/code-xml-D7ACEH7O.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-BYlMs6Dj.js";/** +import{c as e}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/external-link-P1_1JELD.js b/frontend/dist/assets/external-link-P1_1JELD.js new file mode 100644 index 0000000..2e6db8e --- /dev/null +++ b/frontend/dist/assets/external-link-P1_1JELD.js @@ -0,0 +1,6 @@ +import{c as a}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const e=a("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);export{e as E}; diff --git a/frontend/dist/assets/file-text-Bdam-Njc.js b/frontend/dist/assets/file-text-Bdam-Njc.js new file mode 100644 index 0000000..097e1db --- /dev/null +++ b/frontend/dist/assets/file-text-Bdam-Njc.js @@ -0,0 +1,6 @@ +import{c as e}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t=e("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);export{t as F}; diff --git a/frontend/dist/assets/index-8N0vA58P.css b/frontend/dist/assets/index-8N0vA58P.css deleted file mode 100644 index 53a7e0a..0000000 --- a/frontend/dist/assets/index-8N0vA58P.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[99\]{z-index:99}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[70vh\]{height:70vh}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-border,.bg-border\/40{background-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.bg-border\/40{background-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.bg-card,.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover,.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-red-400{color:var(--color-red-400)}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2")}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem;color-scheme:dark}html,body,#root{height:100dvh;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} diff --git a/frontend/dist/assets/index-BYlMs6Dj.js b/frontend/dist/assets/index-BYlMs6Dj.js deleted file mode 100644 index e83053a..0000000 --- a/frontend/dist/assets/index-BYlMs6Dj.js +++ /dev/null @@ -1,360 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LiveAreaChartImpl-Bb72EW29.js","assets/string-DoZi9Vij.js","assets/ModelsView-BYDzvdzC.js","assets/JobsBar-B1nmMx5i.js","assets/code-xml-DZ6lLr-w.js","assets/rotate-ccw-Dx0bZ_kA.js","assets/zap-B_VSdjfC.js","assets/chevron-down-D5zhK_UQ.js","assets/layers-DCwnbkXd.js","assets/ConnectView-Cz-npKrg.js","assets/GuideView-CP1Y1rbp.js","assets/AuftragsbuchView-C0bzCKZ0.js","assets/SectionLabel-R1yae0WQ.js","assets/IdeenView-wVxyfCCm.js","assets/SkillsView-C5MWeKc5.js","assets/ChronikView-Bz_yVFvS.js","assets/WissenView-DOJLqZxA.js"])))=>i.map(i=>d[i]); -var Nv=Object.defineProperty;var ih=r=>{throw TypeError(r)};var jv=(r,s,o)=>s in r?Nv(r,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[s]=o;var Qo=(r,s,o)=>jv(r,typeof s!="symbol"?s+"":s,o),au=(r,s,o)=>s.has(r)||ih("Cannot "+o);var E=(r,s,o)=>(au(r,s,"read from private field"),o?o.call(r):s.get(r)),pe=(r,s,o)=>s.has(r)?ih("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(r):s.set(r,o),J=(r,s,o,a)=>(au(r,s,"write to private field"),a?a.call(r,o):s.set(r,o),o),_e=(r,s,o)=>(au(r,s,"access private method"),o);var Ko=(r,s,o,a)=>({set _(u){J(r,s,u,o)},get _(){return E(r,s,a)}});function Cv(r,s){for(var o=0;oa[u]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&a(m)}).observe(document,{childList:!0,subtree:!0});function o(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(u){if(u.ep)return;u.ep=!0;const f=o(u);fetch(u.href,f)}})();function ap(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var uu={exports:{}},fi={},cu={exports:{}},je={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var oh;function _v(){if(oh)return je;oh=1;var r=Symbol.for("react.element"),s=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),m=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),k=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),x=Symbol.iterator;function P(C){return C===null||typeof C!="object"?null:(C=x&&C[x]||C["@@iterator"],typeof C=="function"?C:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D=Object.assign,b={};function R(C,N,q){this.props=C,this.context=N,this.refs=b,this.updater=q||_}R.prototype.isReactComponent={},R.prototype.setState=function(C,N){if(typeof C!="object"&&typeof C!="function"&&C!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,C,N,"setState")},R.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,"forceUpdate")};function A(){}A.prototype=R.prototype;function I(C,N,q){this.props=C,this.context=N,this.refs=b,this.updater=q||_}var V=I.prototype=new A;V.constructor=I,D(V,R.prototype),V.isPureReactComponent=!0;var z=Array.isArray,K=Object.prototype.hasOwnProperty,G={current:null},ue={key:!0,ref:!0,__self:!0,__source:!0};function oe(C,N,q){var Y,W={},se=null,de=null;if(N!=null)for(Y in N.ref!==void 0&&(de=N.ref),N.key!==void 0&&(se=""+N.key),N)K.call(N,Y)&&!ue.hasOwnProperty(Y)&&(W[Y]=N[Y]);var ye=arguments.length-2;if(ye===1)W.children=q;else if(1>>1,N=F[C];if(0>>1;Cu(W,Q))seu(de,W)?(F[C]=de,F[se]=Q,C=se):(F[C]=W,F[Y]=Q,C=Y);else if(seu(de,Q))F[C]=de,F[se]=Q,C=se;else break e}}return ne}function u(F,ne){var Q=F.sortIndex-ne.sortIndex;return Q!==0?Q:F.id-ne.id}if(typeof performance=="object"&&typeof performance.now=="function"){var f=performance;r.unstable_now=function(){return f.now()}}else{var m=Date,h=m.now();r.unstable_now=function(){return m.now()-h}}var y=[],k=[],w=1,x=null,P=3,_=!1,D=!1,b=!1,R=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function V(F){for(var ne=o(k);ne!==null;){if(ne.callback===null)a(k);else if(ne.startTime<=F)a(k),ne.sortIndex=ne.expirationTime,s(y,ne);else break;ne=o(k)}}function z(F){if(b=!1,V(F),!D)if(o(y)!==null)D=!0,Ce(K);else{var ne=o(k);ne!==null&&Ne(z,ne.startTime-F)}}function K(F,ne){D=!1,b&&(b=!1,A(oe),oe=-1),_=!0;var Q=P;try{for(V(ne),x=o(y);x!==null&&(!(x.expirationTime>ne)||F&&!ke());){var C=x.callback;if(typeof C=="function"){x.callback=null,P=x.priorityLevel;var N=C(x.expirationTime<=ne);ne=r.unstable_now(),typeof N=="function"?x.callback=N:x===o(y)&&a(y),V(ne)}else a(y);x=o(y)}if(x!==null)var q=!0;else{var Y=o(k);Y!==null&&Ne(z,Y.startTime-ne),q=!1}return q}finally{x=null,P=Q,_=!1}}var G=!1,ue=null,oe=-1,ee=5,me=-1;function ke(){return!(r.unstable_now()-meF||125C?(F.sortIndex=Q,s(k,F),o(y)===null&&F===o(k)&&(b?(A(oe),oe=-1):b=!0,Ne(z,Q-C))):(F.sortIndex=N,s(y,F),D||_||(D=!0,Ce(K))),F},r.unstable_shouldYield=ke,r.unstable_wrapCallback=function(F){var ne=P;return function(){var Q=P;P=ne;try{return F.apply(this,arguments)}finally{P=Q}}}})(hu)),hu}var dh;function Ov(){return dh||(dh=1,fu.exports=Mv()),fu.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var fh;function Tv(){if(fh)return wt;fh=1;var r=Xu(),s=Ov();function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),y=Object.prototype.hasOwnProperty,k=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},x={};function P(e){return y.call(x,e)?!0:y.call(w,e)?!1:k.test(e)?x[e]=!0:(w[e]=!0,!1)}function _(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function D(e,t,n,i){if(t===null||typeof t>"u"||_(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function b(e,t,n,i,l,c,p){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=c,this.removeEmptyString=p}var R={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){R[e]=new b(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];R[t]=new b(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){R[e]=new b(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){R[e]=new b(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){R[e]=new b(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){R[e]=new b(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){R[e]=new b(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){R[e]=new b(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){R[e]=new b(e,5,!1,e.toLowerCase(),null,!1,!1)});var A=/[\-:]([a-z])/g;function I(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(A,I);R[t]=new b(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(A,I);R[t]=new b(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(A,I);R[t]=new b(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){R[e]=new b(e,1,!1,e.toLowerCase(),null,!1,!1)}),R.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){R[e]=new b(e,1,!1,e.toLowerCase(),null,!0,!0)});function V(e,t,n,i){var l=R.hasOwnProperty(t)?R[t]:null;(l!==null?l.type!==0:i||!(2v||l[p]!==c[v]){var S=` -`+l[p].replace(" at new "," at ");return e.displayName&&S.includes("")&&(S=S.replace("",e.displayName)),S}while(1<=p&&0<=v);break}}}finally{q=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?N(e):""}function W(e){switch(e.tag){case 5:return N(e.type);case 16:return N("Lazy");case 13:return N("Suspense");case 19:return N("SuspenseList");case 0:case 2:case 15:return e=Y(e.type,!1),e;case 11:return e=Y(e.type.render,!1),e;case 1:return e=Y(e.type,!0),e;default:return""}}function se(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ue:return"Fragment";case G:return"Portal";case ee:return"Profiler";case oe:return"StrictMode";case Le:return"Suspense";case Z:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ke:return(e.displayName||"Context")+".Consumer";case me:return(e._context.displayName||"Context")+".Provider";case le:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ce:return t=e.displayName||null,t!==null?t:se(e.type)||"Memo";case Ce:t=e._payload,e=e._init;try{return se(e(t))}catch{}}return null}function de(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return se(t);case 8:return t===oe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ye(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function we(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ge(e){var t=we(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,c=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(p){i=""+p,c.call(this,p)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(p){i=""+p},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Sr(e){e._valueTracker||(e._valueTracker=Ge(e))}function Ns(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=we(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function Er(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function rn(e,t){var n=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function js(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=ye(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Nr(e,t){t=t.checked,t!=null&&V(e,"checked",t,!1)}function jr(e,t){Nr(e,t);var n=ye(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?L(e,t.type,n):t.hasOwnProperty("defaultValue")&&L(e,t.type,ye(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Cs(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function L(e,t,n){(t!=="number"||Er(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var xe=Array.isArray;function ze(e,t,n,i){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=zi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function _s(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ps={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Pm=["Webkit","ms","Moz","O"];Object.keys(Ps).forEach(function(e){Pm.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ps[t]=Ps[e]})});function xc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ps.hasOwnProperty(e)&&Ps[e]?(""+t).trim():t+"px"}function wc(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,l=xc(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,l):e[n]=l}}var Rm=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function wl(e,t){if(t){if(Rm[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(o(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(t.style!=null&&typeof t.style!="object")throw Error(o(62))}}function kl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var bl=null;function Sl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var El=null,Cr=null,_r=null;function kc(e){if(e=Ys(e)){if(typeof El!="function")throw Error(o(280));var t=e.stateNode;t&&(t=oo(t),El(e.stateNode,e.type,t))}}function bc(e){Cr?_r?_r.push(e):_r=[e]:Cr=e}function Sc(){if(Cr){var e=Cr,t=_r;if(_r=Cr=null,kc(e),t)for(e=0;e>>=0,e===0?32:31-($m(e)/Bm|0)|0}var Bi=64,Vi=4194304;function Ts(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Hi(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,l=e.suspendedLanes,c=e.pingedLanes,p=n&268435455;if(p!==0){var v=p&~l;v!==0?i=Ts(v):(c&=p,c!==0&&(i=Ts(c)))}else p=n&~l,p!==0?i=Ts(p):c!==0&&(i=Ts(c));if(i===0)return 0;if(t!==0&&t!==i&&(t&l)===0&&(l=i&-i,c=t&-t,l>=c||l===16&&(c&4194240)!==0))return t;if((i&4)!==0&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function Ls(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-zt(t),e[t]=n}function Qm(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Bs),Yc=" ",Xc=!1;function Jc(e,t){switch(e){case"keyup":return wg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ed(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Mr=!1;function bg(e,t){switch(e){case"compositionend":return ed(t);case"keypress":return t.which!==32?null:(Xc=!0,Yc);case"textInput":return e=t.data,e===Yc&&Xc?null:e;default:return null}}function Sg(e,t){if(Mr)return e==="compositionend"||!Bl&&Jc(e,t)?(e=Wc(),Gi=Al=bn=null,Mr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ld(n)}}function ud(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ud(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function cd(){for(var e=window,t=Er();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Er(e.document)}return t}function Wl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Og(e){var t=cd(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ud(n.ownerDocument.documentElement,n)){if(i!==null&&Wl(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,c=Math.min(i.start,l);i=i.end===void 0?c:Math.min(i.end,l),!e.extend&&c>i&&(l=i,i=c,c=l),l=ad(n,c);var p=ad(n,i);l&&p&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==p.node||e.focusOffset!==p.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),c>i?(e.addRange(t),e.extend(p.node,p.offset)):(t.setEnd(p.node,p.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Or=null,Ql=null,Qs=null,Kl=!1;function dd(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Kl||Or==null||Or!==Er(i)||(i=Or,"selectionStart"in i&&Wl(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Qs&&Ws(Qs,i)||(Qs=i,i=ro(Ql,"onSelect"),0zr||(e.current=ia[zr],ia[zr]=null,zr--)}function Ae(e,t){zr++,ia[zr]=e.current,e.current=t}var jn={},lt=Nn(jn),mt=Nn(!1),er=jn;function Fr(e,t){var n=e.type.contextTypes;if(!n)return jn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var l={},c;for(c in n)l[c]=t[c];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function gt(e){return e=e.childContextTypes,e!=null}function lo(){Ie(mt),Ie(lt)}function jd(e,t,n){if(lt.current!==jn)throw Error(o(168));Ae(lt,t),Ae(mt,n)}function Cd(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var l in i)if(!(l in t))throw Error(o(108,de(e)||"Unknown",l));return Q({},n,i)}function ao(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||jn,er=lt.current,Ae(lt,e),Ae(mt,mt.current),!0}function _d(e,t,n){var i=e.stateNode;if(!i)throw Error(o(169));n?(e=Cd(e,t,er),i.__reactInternalMemoizedMergedChildContext=e,Ie(mt),Ie(lt),Ae(lt,e)):Ie(mt),Ae(mt,n)}var on=null,uo=!1,oa=!1;function Pd(e){on===null?on=[e]:on.push(e)}function Hg(e){uo=!0,Pd(e)}function Cn(){if(!oa&&on!==null){oa=!0;var e=0,t=De;try{var n=on;for(De=1;e>=p,l-=p,ln=1<<32-zt(t)+l|n<ve?(tt=he,he=null):tt=he.sibling;var Oe=U(M,he,O[ve],H);if(Oe===null){he===null&&(he=tt);break}e&&he&&Oe.alternate===null&&t(M,he),j=c(Oe,j,ve),fe===null?ae=Oe:fe.sibling=Oe,fe=Oe,he=tt}if(ve===O.length)return n(M,he),$e&&nr(M,ve),ae;if(he===null){for(;veve?(tt=he,he=null):tt=he.sibling;var An=U(M,he,Oe.value,H);if(An===null){he===null&&(he=tt);break}e&&he&&An.alternate===null&&t(M,he),j=c(An,j,ve),fe===null?ae=An:fe.sibling=An,fe=An,he=tt}if(Oe.done)return n(M,he),$e&&nr(M,ve),ae;if(he===null){for(;!Oe.done;ve++,Oe=O.next())Oe=B(M,Oe.value,H),Oe!==null&&(j=c(Oe,j,ve),fe===null?ae=Oe:fe.sibling=Oe,fe=Oe);return $e&&nr(M,ve),ae}for(he=i(M,he);!Oe.done;ve++,Oe=O.next())Oe=X(he,M,ve,Oe.value,H),Oe!==null&&(e&&Oe.alternate!==null&&he.delete(Oe.key===null?ve:Oe.key),j=c(Oe,j,ve),fe===null?ae=Oe:fe.sibling=Oe,fe=Oe);return e&&he.forEach(function(Ev){return t(M,Ev)}),$e&&nr(M,ve),ae}function qe(M,j,O,H){if(typeof O=="object"&&O!==null&&O.type===ue&&O.key===null&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case K:e:{for(var ae=O.key,fe=j;fe!==null;){if(fe.key===ae){if(ae=O.type,ae===ue){if(fe.tag===7){n(M,fe.sibling),j=l(fe,O.props.children),j.return=M,M=j;break e}}else if(fe.elementType===ae||typeof ae=="object"&&ae!==null&&ae.$$typeof===Ce&&Dd(ae)===fe.type){n(M,fe.sibling),j=l(fe,O.props),j.ref=Xs(M,fe,O),j.return=M,M=j;break e}n(M,fe);break}else t(M,fe);fe=fe.sibling}O.type===ue?(j=cr(O.props.children,M.mode,H,O.key),j.return=M,M=j):(H=Fo(O.type,O.key,O.props,null,M.mode,H),H.ref=Xs(M,j,O),H.return=M,M=H)}return p(M);case G:e:{for(fe=O.key;j!==null;){if(j.key===fe)if(j.tag===4&&j.stateNode.containerInfo===O.containerInfo&&j.stateNode.implementation===O.implementation){n(M,j.sibling),j=l(j,O.children||[]),j.return=M,M=j;break e}else{n(M,j);break}else t(M,j);j=j.sibling}j=ru(O,M.mode,H),j.return=M,M=j}return p(M);case Ce:return fe=O._init,qe(M,j,fe(O._payload),H)}if(xe(O))return re(M,j,O,H);if(ne(O))return ie(M,j,O,H);po(M,O)}return typeof O=="string"&&O!==""||typeof O=="number"?(O=""+O,j!==null&&j.tag===6?(n(M,j.sibling),j=l(j,O),j.return=M,M=j):(n(M,j),j=nu(O,M.mode,H),j.return=M,M=j),p(M)):n(M,j)}return qe}var Br=Ad(!0),zd=Ad(!1),mo=Nn(null),go=null,Vr=null,fa=null;function ha(){fa=Vr=go=null}function pa(e){var t=mo.current;Ie(mo),e._currentValue=t}function ma(e,t,n){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Hr(e,t){go=e,fa=Vr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(vt=!0),e.firstContext=null)}function Ot(e){var t=e._currentValue;if(fa!==e)if(e={context:e,memoizedValue:t,next:null},Vr===null){if(go===null)throw Error(o(308));Vr=e,go.dependencies={lanes:0,firstContext:e}}else Vr=Vr.next=e;return t}var rr=null;function ga(e){rr===null?rr=[e]:rr.push(e)}function Fd(e,t,n,i){var l=t.interleaved;return l===null?(n.next=n,ga(t)):(n.next=l.next,l.next=n),t.interleaved=n,un(e,i)}function un(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var _n=!1;function va(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Id(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function cn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Pn(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Me&2)!==0){var l=i.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),i.pending=t,un(e,n)}return l=i.interleaved,l===null?(t.next=t,ga(i)):(t.next=l.next,l.next=t),i.interleaved=t,un(e,n)}function vo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Ml(e,n)}}function Ud(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var l=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var p={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};c===null?l=c=p:c=c.next=p,n=n.next}while(n!==null);c===null?l=c=t:c=c.next=t}else l=c=t;n={baseState:i.baseState,firstBaseUpdate:l,lastBaseUpdate:c,shared:i.shared,effects:i.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function yo(e,t,n,i){var l=e.updateQueue;_n=!1;var c=l.firstBaseUpdate,p=l.lastBaseUpdate,v=l.shared.pending;if(v!==null){l.shared.pending=null;var S=v,T=S.next;S.next=null,p===null?c=T:p.next=T,p=S;var $=e.alternate;$!==null&&($=$.updateQueue,v=$.lastBaseUpdate,v!==p&&(v===null?$.firstBaseUpdate=T:v.next=T,$.lastBaseUpdate=S))}if(c!==null){var B=l.baseState;p=0,$=T=S=null,v=c;do{var U=v.lane,X=v.eventTime;if((i&U)===U){$!==null&&($=$.next={eventTime:X,lane:0,tag:v.tag,payload:v.payload,callback:v.callback,next:null});e:{var re=e,ie=v;switch(U=t,X=n,ie.tag){case 1:if(re=ie.payload,typeof re=="function"){B=re.call(X,B,U);break e}B=re;break e;case 3:re.flags=re.flags&-65537|128;case 0:if(re=ie.payload,U=typeof re=="function"?re.call(X,B,U):re,U==null)break e;B=Q({},B,U);break e;case 2:_n=!0}}v.callback!==null&&v.lane!==0&&(e.flags|=64,U=l.effects,U===null?l.effects=[v]:U.push(v))}else X={eventTime:X,lane:U,tag:v.tag,payload:v.payload,callback:v.callback,next:null},$===null?(T=$=X,S=B):$=$.next=X,p|=U;if(v=v.next,v===null){if(v=l.shared.pending,v===null)break;U=v,v=U.next,U.next=null,l.lastBaseUpdate=U,l.shared.pending=null}}while(!0);if($===null&&(S=B),l.baseState=S,l.firstBaseUpdate=T,l.lastBaseUpdate=$,t=l.shared.interleaved,t!==null){l=t;do p|=l.lane,l=l.next;while(l!==t)}else c===null&&(l.shared.lanes=0);or|=p,e.lanes=p,e.memoizedState=B}}function $d(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var i=ba.transition;ba.transition={};try{e(!1),t()}finally{De=n,ba.transition=i}}function lf(){return Tt().memoizedState}function qg(e,t,n){var i=Tn(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},af(e))uf(t,n);else if(n=Fd(e,t,n,i),n!==null){var l=ht();Vt(n,e,i,l),cf(n,t,i)}}function Gg(e,t,n){var i=Tn(e),l={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(af(e))uf(t,l);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var p=t.lastRenderedState,v=c(p,n);if(l.hasEagerState=!0,l.eagerState=v,Ft(v,p)){var S=t.interleaved;S===null?(l.next=l,ga(t)):(l.next=S.next,S.next=l),t.interleaved=l;return}}catch{}finally{}n=Fd(e,t,l,i),n!==null&&(l=ht(),Vt(n,e,i,l),cf(n,t,i))}}function af(e){var t=e.alternate;return e===He||t!==null&&t===He}function uf(e,t){ni=ko=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function cf(e,t,n){if((n&4194240)!==0){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Ml(e,n)}}var Eo={readContext:Ot,useCallback:at,useContext:at,useEffect:at,useImperativeHandle:at,useInsertionEffect:at,useLayoutEffect:at,useMemo:at,useReducer:at,useRef:at,useState:at,useDebugValue:at,useDeferredValue:at,useTransition:at,useMutableSource:at,useSyncExternalStore:at,useId:at,unstable_isNewReconciler:!1},Zg={readContext:Ot,useCallback:function(e,t){return Zt().memoizedState=[e,t===void 0?null:t],e},useContext:Ot,useEffect:Xd,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,bo(4194308,4,tf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return bo(4194308,4,e,t)},useInsertionEffect:function(e,t){return bo(4,2,e,t)},useMemo:function(e,t){var n=Zt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=Zt();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=qg.bind(null,He,e),[i.memoizedState,e]},useRef:function(e){var t=Zt();return e={current:e},t.memoizedState=e},useState:Zd,useDebugValue:Pa,useDeferredValue:function(e){return Zt().memoizedState=e},useTransition:function(){var e=Zd(!1),t=e[0];return e=Kg.bind(null,e[1]),Zt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=He,l=Zt();if($e){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),et===null)throw Error(o(349));(ir&30)!==0||Wd(i,t,n)}l.memoizedState=n;var c={value:n,getSnapshot:t};return l.queue=c,Xd(Kd.bind(null,i,c,e),[e]),i.flags|=2048,ii(9,Qd.bind(null,i,c,n,t),void 0,null),n},useId:function(){var e=Zt(),t=et.identifierPrefix;if($e){var n=an,i=ln;n=(i&~(1<<32-zt(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ri++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=p.createElement(n,{is:i.is}):(e=p.createElement(n),n==="select"&&(p=e,i.multiple?p.multiple=!0:i.size&&(p.size=i.size))):e=p.createElementNS(e,n),e[qt]=t,e[Zs]=i,Rf(e,t,!1,!1),t.stateNode=e;e:{switch(p=kl(n,i),n){case"dialog":Fe("cancel",e),Fe("close",e),l=i;break;case"iframe":case"object":case"embed":Fe("load",e),l=i;break;case"video":case"audio":for(l=0;lGr&&(t.flags|=128,i=!0,oi(c,!1),t.lanes=4194304)}else{if(!i)if(e=xo(p),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),oi(c,!0),c.tail===null&&c.tailMode==="hidden"&&!p.alternate&&!$e)return ut(t),null}else 2*Ke()-c.renderingStartTime>Gr&&n!==1073741824&&(t.flags|=128,i=!0,oi(c,!1),t.lanes=4194304);c.isBackwards?(p.sibling=t.child,t.child=p):(n=c.last,n!==null?n.sibling=p:t.child=p,c.last=p)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Ke(),t.sibling=null,n=Ve.current,Ae(Ve,i?n&1|2:n&1),t):(ut(t),null);case 22:case 23:return Ja(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&(t.mode&1)!==0?(Ct&1073741824)!==0&&(ut(t),t.subtreeFlags&6&&(t.flags|=8192)):ut(t),null;case 24:return null;case 25:return null}throw Error(o(156,t.tag))}function sv(e,t){switch(aa(t),t.tag){case 1:return gt(t.type)&&lo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wr(),Ie(mt),Ie(lt),ka(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return xa(t),null;case 13:if(Ie(Ve),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));$r()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ie(Ve),null;case 4:return Wr(),null;case 10:return pa(t.type._context),null;case 22:case 23:return Ja(),null;case 24:return null;default:return null}}var _o=!1,ct=!1,iv=typeof WeakSet=="function"?WeakSet:Set,te=null;function Kr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){We(e,t,i)}else n.current=null}function $a(e,t,n){try{n()}catch(i){We(e,t,i)}}var Tf=!1;function ov(e,t){if(Jl=Ki,e=cd(),Wl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var l=i.anchorOffset,c=i.focusNode;i=i.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var p=0,v=-1,S=-1,T=0,$=0,B=e,U=null;t:for(;;){for(var X;B!==n||l!==0&&B.nodeType!==3||(v=p+l),B!==c||i!==0&&B.nodeType!==3||(S=p+i),B.nodeType===3&&(p+=B.nodeValue.length),(X=B.firstChild)!==null;)U=B,B=X;for(;;){if(B===e)break t;if(U===n&&++T===l&&(v=p),U===c&&++$===i&&(S=p),(X=B.nextSibling)!==null)break;B=U,U=B.parentNode}B=X}n=v===-1||S===-1?null:{start:v,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(ea={focusedElem:e,selectionRange:n},Ki=!1,te=t;te!==null;)if(t=te,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,te=e;else for(;te!==null;){t=te;try{var re=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(re!==null){var ie=re.memoizedProps,qe=re.memoizedState,M=t.stateNode,j=M.getSnapshotBeforeUpdate(t.elementType===t.type?ie:Ut(t.type,ie),qe);M.__reactInternalSnapshotBeforeUpdate=j}break;case 3:var O=t.stateNode.containerInfo;O.nodeType===1?O.textContent="":O.nodeType===9&&O.documentElement&&O.removeChild(O.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(H){We(t,t.return,H)}if(e=t.sibling,e!==null){e.return=t.return,te=e;break}te=t.return}return re=Tf,Tf=!1,re}function li(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var l=i=i.next;do{if((l.tag&e)===e){var c=l.destroy;l.destroy=void 0,c!==void 0&&$a(t,n,c)}l=l.next}while(l!==i)}}function Po(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Ba(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Lf(e){var t=e.alternate;t!==null&&(e.alternate=null,Lf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[qt],delete t[Zs],delete t[sa],delete t[Bg],delete t[Vg])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Df(e){return e.tag===5||e.tag===3||e.tag===4}function Af(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Df(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Va(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=io));else if(i!==4&&(e=e.child,e!==null))for(Va(e,t,n),e=e.sibling;e!==null;)Va(e,t,n),e=e.sibling}function Ha(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Ha(e,t,n),e=e.sibling;e!==null;)Ha(e,t,n),e=e.sibling}var rt=null,$t=!1;function Rn(e,t,n){for(n=n.child;n!==null;)zf(e,t,n),n=n.sibling}function zf(e,t,n){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount($i,n)}catch{}switch(n.tag){case 5:ct||Kr(n,t);case 6:var i=rt,l=$t;rt=null,Rn(e,t,n),rt=i,$t=l,rt!==null&&($t?(e=rt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):rt.removeChild(n.stateNode));break;case 18:rt!==null&&($t?(e=rt,n=n.stateNode,e.nodeType===8?ra(e.parentNode,n):e.nodeType===1&&ra(e,n),Is(e)):ra(rt,n.stateNode));break;case 4:i=rt,l=$t,rt=n.stateNode.containerInfo,$t=!0,Rn(e,t,n),rt=i,$t=l;break;case 0:case 11:case 14:case 15:if(!ct&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){l=i=i.next;do{var c=l,p=c.destroy;c=c.tag,p!==void 0&&((c&2)!==0||(c&4)!==0)&&$a(n,t,p),l=l.next}while(l!==i)}Rn(e,t,n);break;case 1:if(!ct&&(Kr(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(v){We(n,t,v)}Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:n.mode&1?(ct=(i=ct)||n.memoizedState!==null,Rn(e,t,n),ct=i):Rn(e,t,n);break;default:Rn(e,t,n)}}function Ff(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new iv),t.forEach(function(i){var l=mv.bind(null,e,i);n.has(i)||(n.add(i),i.then(l,l))})}}function Bt(e,t){var n=t.deletions;if(n!==null)for(var i=0;il&&(l=p),i&=~c}if(i=l,i=Ke()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*av(i/1960))-i,10e?16:e,On===null)var i=!1;else{if(e=On,On=null,Lo=0,(Me&6)!==0)throw Error(o(331));var l=Me;for(Me|=4,te=e.current;te!==null;){var c=te,p=c.child;if((te.flags&16)!==0){var v=c.deletions;if(v!==null){for(var S=0;SKe()-Ka?ar(e,0):Qa|=n),xt(e,t)}function Yf(e,t){t===0&&((e.mode&1)===0?t=1:(t=Vi,Vi<<=1,(Vi&130023424)===0&&(Vi=4194304)));var n=ht();e=un(e,t),e!==null&&(Ls(e,t,n),xt(e,n))}function pv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Yf(e,n)}function mv(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(o(314))}i!==null&&i.delete(t),Yf(e,n)}var Xf;Xf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||mt.current)vt=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return vt=!1,nv(e,t,n);vt=(e.flags&131072)!==0}else vt=!1,$e&&(t.flags&1048576)!==0&&Rd(t,fo,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;Co(e,t),e=t.pendingProps;var l=Fr(t,lt.current);Hr(t,n),l=Ea(null,t,i,e,l,n);var c=Na();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gt(i)?(c=!0,ao(t)):c=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,va(t),l.updater=No,t.stateNode=l,l._reactInternals=t,Ma(t,i,e,n),t=Da(null,t,i,!0,c,n)):(t.tag=0,$e&&c&&la(t),ft(null,t,l,n),t=t.child),t;case 16:i=t.elementType;e:{switch(Co(e,t),e=t.pendingProps,l=i._init,i=l(i._payload),t.type=i,l=t.tag=vv(i),e=Ut(i,e),l){case 0:t=La(null,t,i,e,n);break e;case 1:t=Ef(null,t,i,e,n);break e;case 11:t=xf(null,t,i,e,n);break e;case 14:t=wf(null,t,i,Ut(i.type,e),n);break e}throw Error(o(306,i,""))}return t;case 0:return i=t.type,l=t.pendingProps,l=t.elementType===i?l:Ut(i,l),La(e,t,i,l,n);case 1:return i=t.type,l=t.pendingProps,l=t.elementType===i?l:Ut(i,l),Ef(e,t,i,l,n);case 3:e:{if(Nf(t),e===null)throw Error(o(387));i=t.pendingProps,c=t.memoizedState,l=c.element,Id(e,t),yo(t,i,null,n);var p=t.memoizedState;if(i=p.element,c.isDehydrated)if(c={element:i,isDehydrated:!1,cache:p.cache,pendingSuspenseBoundaries:p.pendingSuspenseBoundaries,transitions:p.transitions},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){l=Qr(Error(o(423)),t),t=jf(e,t,i,n,l);break e}else if(i!==l){l=Qr(Error(o(424)),t),t=jf(e,t,i,n,l);break e}else for(jt=En(t.stateNode.containerInfo.firstChild),Nt=t,$e=!0,It=null,n=zd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if($r(),i===l){t=dn(e,t,n);break e}ft(e,t,i,n)}t=t.child}return t;case 5:return Bd(t),e===null&&ca(t),i=t.type,l=t.pendingProps,c=e!==null?e.memoizedProps:null,p=l.children,ta(i,l)?p=null:c!==null&&ta(i,c)&&(t.flags|=32),Sf(e,t),ft(e,t,p,n),t.child;case 6:return e===null&&ca(t),null;case 13:return Cf(e,t,n);case 4:return ya(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Br(t,null,i,n):ft(e,t,i,n),t.child;case 11:return i=t.type,l=t.pendingProps,l=t.elementType===i?l:Ut(i,l),xf(e,t,i,l,n);case 7:return ft(e,t,t.pendingProps,n),t.child;case 8:return ft(e,t,t.pendingProps.children,n),t.child;case 12:return ft(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(i=t.type._context,l=t.pendingProps,c=t.memoizedProps,p=l.value,Ae(mo,i._currentValue),i._currentValue=p,c!==null)if(Ft(c.value,p)){if(c.children===l.children&&!mt.current){t=dn(e,t,n);break e}}else for(c=t.child,c!==null&&(c.return=t);c!==null;){var v=c.dependencies;if(v!==null){p=c.child;for(var S=v.firstContext;S!==null;){if(S.context===i){if(c.tag===1){S=cn(-1,n&-n),S.tag=2;var T=c.updateQueue;if(T!==null){T=T.shared;var $=T.pending;$===null?S.next=S:(S.next=$.next,$.next=S),T.pending=S}}c.lanes|=n,S=c.alternate,S!==null&&(S.lanes|=n),ma(c.return,n,t),v.lanes|=n;break}S=S.next}}else if(c.tag===10)p=c.type===t.type?null:c.child;else if(c.tag===18){if(p=c.return,p===null)throw Error(o(341));p.lanes|=n,v=p.alternate,v!==null&&(v.lanes|=n),ma(p,n,t),p=c.sibling}else p=c.child;if(p!==null)p.return=c;else for(p=c;p!==null;){if(p===t){p=null;break}if(c=p.sibling,c!==null){c.return=p.return,p=c;break}p=p.return}c=p}ft(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,i=t.pendingProps.children,Hr(t,n),l=Ot(l),i=i(l),t.flags|=1,ft(e,t,i,n),t.child;case 14:return i=t.type,l=Ut(i,t.pendingProps),l=Ut(i.type,l),wf(e,t,i,l,n);case 15:return kf(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,l=t.pendingProps,l=t.elementType===i?l:Ut(i,l),Co(e,t),t.tag=1,gt(i)?(e=!0,ao(t)):e=!1,Hr(t,n),ff(t,i,l),Ma(t,i,l,n),Da(null,t,i,!0,e,n);case 19:return Pf(e,t,n);case 22:return bf(e,t,n)}throw Error(o(156,t.tag))};function Jf(e,t){return Mc(e,t)}function gv(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,n,i){return new gv(e,t,n,i)}function tu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function vv(e){if(typeof e=="function")return tu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===le)return 11;if(e===ce)return 14}return 2}function Dn(e,t){var n=e.alternate;return n===null?(n=Dt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Fo(e,t,n,i,l,c){var p=2;if(i=e,typeof e=="function")tu(e)&&(p=1);else if(typeof e=="string")p=5;else e:switch(e){case ue:return cr(n.children,l,c,t);case oe:p=8,l|=8;break;case ee:return e=Dt(12,n,t,l|2),e.elementType=ee,e.lanes=c,e;case Le:return e=Dt(13,n,t,l),e.elementType=Le,e.lanes=c,e;case Z:return e=Dt(19,n,t,l),e.elementType=Z,e.lanes=c,e;case Ne:return Io(n,l,c,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case me:p=10;break e;case ke:p=9;break e;case le:p=11;break e;case ce:p=14;break e;case Ce:p=16,i=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return t=Dt(p,n,t,l),t.elementType=e,t.type=i,t.lanes=c,t}function cr(e,t,n,i){return e=Dt(7,e,i,t),e.lanes=n,e}function Io(e,t,n,i){return e=Dt(22,e,i,t),e.elementType=Ne,e.lanes=n,e.stateNode={isHidden:!1},e}function nu(e,t,n){return e=Dt(6,e,null,t),e.lanes=n,e}function ru(e,t,n){return t=Dt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function yv(e,t,n,i,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rl(0),this.expirationTimes=Rl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rl(0),this.identifierPrefix=i,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function su(e,t,n,i,l,c,p,v,S){return e=new yv(e,t,n,v,S),t===1?(t=1,c===!0&&(t|=8)):t=0,c=Dt(3,null,null,t),e.current=c,c.stateNode=e,c.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},va(c),e}function xv(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(s){console.error(s)}}return r(),du.exports=Tv(),du.exports}var ph;function Lv(){if(ph)return qo;ph=1;var r=up();return qo.createRoot=r.createRoot,qo.hydrateRoot=r.hydrateRoot,qo}var Dv=Lv();const Av=ap(Dv);var Di=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(r){return this.listeners.add(r),this.onSubscribe(),()=>{this.listeners.delete(r),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},fr,$n,as,Xh,zv=(Xh=class extends Di{constructor(){super();pe(this,fr);pe(this,$n);pe(this,as);J(this,as,s=>{if(typeof window<"u"&&window.addEventListener){const o=()=>s();return window.addEventListener("visibilitychange",o,!1),()=>{window.removeEventListener("visibilitychange",o)}}})}onSubscribe(){E(this,$n)||this.setEventListener(E(this,as))}onUnsubscribe(){var s;this.hasListeners()||((s=E(this,$n))==null||s.call(this),J(this,$n,void 0))}setEventListener(s){var o;J(this,as,s),(o=E(this,$n))==null||o.call(this),J(this,$n,s(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()}))}setFocused(s){E(this,fr)!==s&&(J(this,fr,s),this.onFocus())}onFocus(){const s=this.isFocused();this.listeners.forEach(o=>{o(s)})}isFocused(){var s;return typeof E(this,fr)=="boolean"?E(this,fr):((s=globalThis.document)==null?void 0:s.visibilityState)!=="hidden"}},fr=new WeakMap,$n=new WeakMap,as=new WeakMap,Xh),tc=new zv,Fv={setTimeout:(r,s)=>setTimeout(r,s),clearTimeout:r=>clearTimeout(r),setInterval:(r,s)=>setInterval(r,s),clearInterval:r=>clearInterval(r)},Bn,Yu,Jh,Iv=(Jh=class{constructor(){pe(this,Bn,Fv);pe(this,Yu,!1)}setTimeoutProvider(r){J(this,Bn,r)}setTimeout(r,s){return E(this,Bn).setTimeout(r,s)}clearTimeout(r){E(this,Bn).clearTimeout(r)}setInterval(r,s){return E(this,Bn).setInterval(r,s)}clearInterval(r){E(this,Bn).clearInterval(r)}},Bn=new WeakMap,Yu=new WeakMap,Jh),dr=new Iv;function Uv(r){setTimeout(r,0)}var $v=typeof window>"u"||"Deno"in globalThis;function bt(){}function Bv(r,s){return typeof r=="function"?r(s):r}function Cu(r){return typeof r=="number"&&r>=0&&r!==1/0}function cp(r,s){return Math.max(r+(s||0)-Date.now(),0)}function Gn(r,s){return typeof r=="function"?r(s):r}function Pt(r,s){return typeof r=="function"?r(s):r}function mh(r,s){const{type:o="all",exact:a,fetchStatus:u,predicate:f,queryKey:m,stale:h}=r;if(m){if(a){if(s.queryHash!==nc(m,s.options))return!1}else if(!Si(s.queryKey,m))return!1}if(o!=="all"){const y=s.isActive();if(o==="active"&&!y||o==="inactive"&&y)return!1}return!(typeof h=="boolean"&&s.isStale()!==h||u&&u!==s.state.fetchStatus||f&&!f(s))}function gh(r,s){const{exact:o,status:a,predicate:u,mutationKey:f}=r;if(f){if(!s.options.mutationKey)return!1;if(o){if(bi(s.options.mutationKey)!==bi(f))return!1}else if(!Si(s.options.mutationKey,f))return!1}return!(a&&s.state.status!==a||u&&!u(s))}function nc(r,s){return((s==null?void 0:s.queryKeyHashFn)||bi)(r)}function bi(r){return JSON.stringify(r,(s,o)=>Pu(o)?Object.keys(o).sort().reduce((a,u)=>(a[u]=o[u],a),{}):o)}function Si(r,s){return r===s?!0:typeof r!=typeof s?!1:r&&s&&typeof r=="object"&&typeof s=="object"?Object.keys(s).every(o=>Si(r[o],s[o])):!1}var Vv=Object.prototype.hasOwnProperty;function dp(r,s,o=0){if(r===s)return r;if(o>500)return s;const a=vh(r)&&vh(s);if(!a&&!(Pu(r)&&Pu(s)))return s;const f=(a?r:Object.keys(r)).length,m=a?s:Object.keys(s),h=m.length,y=a?new Array(h):{};let k=0;for(let w=0;w{dr.setTimeout(s,r)})}function Ru(r,s,o){return typeof o.structuralSharing=="function"?o.structuralSharing(r,s):o.structuralSharing!==!1?dp(r,s):s}function Wv(r,s,o=0){const a=[...r,s];return o&&a.length>o?a.slice(1):a}function Qv(r,s,o=0){const a=[s,...r];return o&&a.length>o?a.slice(0,-1):a}var rc=Symbol();function fp(r,s){return!r.queryFn&&(s!=null&&s.initialPromise)?()=>s.initialPromise:!r.queryFn||r.queryFn===rc?()=>Promise.reject(new Error(`Missing queryFn: '${r.queryHash}'`)):r.queryFn}function hp(r,s){return typeof r=="function"?r(...s):!!r}function Kv(r,s,o){let a=!1,u;return Object.defineProperty(r,"signal",{enumerable:!0,get:()=>(u??(u=s()),a||(a=!0,u.aborted?o():u.addEventListener("abort",o,{once:!0})),u)}),r}var Ei=(()=>{let r=()=>$v;return{isServer(){return r()},setIsServer(s){r=s}}})();function Mu(){let r,s;const o=new Promise((u,f)=>{r=u,s=f});o.status="pending",o.catch(()=>{});function a(u){Object.assign(o,u),delete o.resolve,delete o.reject}return o.resolve=u=>{a({status:"fulfilled",value:u}),r(u)},o.reject=u=>{a({status:"rejected",reason:u}),s(u)},o}var qv=Uv;function Gv(){let r=[],s=0,o=h=>{h()},a=h=>{h()},u=qv;const f=h=>{s?r.push(h):u(()=>{o(h)})},m=()=>{const h=r;r=[],h.length&&u(()=>{a(()=>{h.forEach(y=>{o(y)})})})};return{batch:h=>{let y;s++;try{y=h()}finally{s--,s||m()}return y},batchCalls:h=>(...y)=>{f(()=>{h(...y)})},schedule:f,setNotifyFunction:h=>{o=h},setBatchNotifyFunction:h=>{a=h},setScheduler:h=>{u=h}}}var it=Gv(),us,Vn,cs,ep,Zv=(ep=class extends Di{constructor(){super();pe(this,us,!0);pe(this,Vn);pe(this,cs);J(this,cs,s=>{if(typeof window<"u"&&window.addEventListener){const o=()=>s(!0),a=()=>s(!1);return window.addEventListener("online",o,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",o),window.removeEventListener("offline",a)}}})}onSubscribe(){E(this,Vn)||this.setEventListener(E(this,cs))}onUnsubscribe(){var s;this.hasListeners()||((s=E(this,Vn))==null||s.call(this),J(this,Vn,void 0))}setEventListener(s){var o;J(this,cs,s),(o=E(this,Vn))==null||o.call(this),J(this,Vn,s(this.setOnline.bind(this)))}setOnline(s){E(this,us)!==s&&(J(this,us,s),this.listeners.forEach(a=>{a(s)}))}isOnline(){return E(this,us)}},us=new WeakMap,Vn=new WeakMap,cs=new WeakMap,ep),ol=new Zv;function Yv(r){return Math.min(1e3*2**r,3e4)}function pp(r){return(r??"online")==="online"?ol.isOnline():!0}var Ou=class extends Error{constructor(r){super("CancelledError"),this.revert=r==null?void 0:r.revert,this.silent=r==null?void 0:r.silent}};function mp(r){let s=!1,o=0,a;const u=Mu(),f=()=>u.status!=="pending",m=b=>{var R;if(!f()){const A=new Ou(b);P(A),(R=r.onCancel)==null||R.call(r,A)}},h=()=>{s=!0},y=()=>{s=!1},k=()=>tc.isFocused()&&(r.networkMode==="always"||ol.isOnline())&&r.canRun(),w=()=>pp(r.networkMode)&&r.canRun(),x=b=>{f()||(a==null||a(),u.resolve(b))},P=b=>{f()||(a==null||a(),u.reject(b))},_=()=>new Promise(b=>{var R;a=A=>{(f()||k())&&b(A)},(R=r.onPause)==null||R.call(r)}).then(()=>{var b;a=void 0,f()||(b=r.onContinue)==null||b.call(r)}),D=()=>{if(f())return;let b;const R=o===0?r.initialPromise:void 0;try{b=R??r.fn()}catch(A){b=Promise.reject(A)}Promise.resolve(b).then(x).catch(A=>{var G;if(f())return;const I=r.retry??(Ei.isServer()?0:3),V=r.retryDelay??Yv,z=typeof V=="function"?V(o,A):V,K=I===!0||typeof I=="number"&&ok()?void 0:_()).then(()=>{s?P(A):D()})})};return{promise:u,status:()=>u.status,cancel:m,continue:()=>(a==null||a(),u),cancelRetry:h,continueRetry:y,canStart:w,start:()=>(w()?D():_().then(D),u)}}var hr,tp,gp=(tp=class{constructor(){pe(this,hr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Cu(this.gcTime)&&J(this,hr,dr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(r){this.gcTime=Math.max(this.gcTime||0,r??(Ei.isServer()?1/0:300*1e3))}clearGcTimeout(){E(this,hr)!==void 0&&(dr.clearTimeout(E(this,hr)),J(this,hr,void 0))}},hr=new WeakMap,tp);function Xv(r){return{onFetch:(s,o)=>{var w,x,P,_,D;const a=s.options,u=(P=(x=(w=s.fetchOptions)==null?void 0:w.meta)==null?void 0:x.fetchMore)==null?void 0:P.direction,f=((_=s.state.data)==null?void 0:_.pages)||[],m=((D=s.state.data)==null?void 0:D.pageParams)||[];let h={pages:[],pageParams:[]},y=0;const k=async()=>{let b=!1;const R=V=>{Kv(V,()=>s.signal,()=>b=!0)},A=fp(s.options,s.fetchOptions),I=async(V,z,K)=>{if(b)return Promise.reject(s.signal.reason);if(z==null&&V.pages.length)return Promise.resolve(V);const ue=(()=>{const ke={client:s.client,queryKey:s.queryKey,pageParam:z,direction:K?"backward":"forward",meta:s.options.meta};return R(ke),ke})(),oe=await A(ue),{maxPages:ee}=s.options,me=K?Qv:Wv;return{pages:me(V.pages,oe,ee),pageParams:me(V.pageParams,z,ee)}};if(u&&f.length){const V=u==="backward",z=V?Jv:xh,K={pages:f,pageParams:m},G=z(a,K);h=await I(K,G,V)}else{const V=r??f.length;do{const z=y===0?m[0]??a.initialPageParam:xh(a,h);if(y>0&&z==null)break;h=await I(h,z),y++}while(y{var b,R;return(R=(b=s.options).persister)==null?void 0:R.call(b,k,{client:s.client,queryKey:s.queryKey,meta:s.options.meta,signal:s.signal},o)}:s.fetchFn=k}}}function xh(r,{pages:s,pageParams:o}){const a=s.length-1;return s.length>0?r.getNextPageParam(s[a],s,o[a],o):void 0}function Jv(r,{pages:s,pageParams:o}){var a;return s.length>0?(a=r.getPreviousPageParam)==null?void 0:a.call(r,s[0],s,o[0],o):void 0}var ds,pr,fs,At,mr,nt,Ri,gr,_t,vp,pn,np,ey=(np=class extends gp{constructor(s){super();pe(this,_t);pe(this,ds);pe(this,pr);pe(this,fs);pe(this,At);pe(this,mr);pe(this,nt);pe(this,Ri);pe(this,gr);J(this,gr,!1),J(this,Ri,s.defaultOptions),this.setOptions(s.options),this.observers=[],J(this,mr,s.client),J(this,At,E(this,mr).getQueryCache()),this.queryKey=s.queryKey,this.queryHash=s.queryHash,J(this,pr,kh(this.options)),this.state=s.state??E(this,pr),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return E(this,ds)}get promise(){var s;return(s=E(this,nt))==null?void 0:s.promise}setOptions(s){if(this.options={...E(this,Ri),...s},s!=null&&s._type&&J(this,ds,s._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const o=kh(this.options);o.data!==void 0&&(this.setState(wh(o.data,o.dataUpdatedAt)),J(this,pr,o))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&E(this,At).remove(this)}setData(s,o){const a=Ru(this.state.data,s,this.options);return _e(this,_t,pn).call(this,{data:a,type:"success",dataUpdatedAt:o==null?void 0:o.updatedAt,manual:o==null?void 0:o.manual}),a}setState(s){_e(this,_t,pn).call(this,{type:"setState",state:s})}cancel(s){var a,u;const o=(a=E(this,nt))==null?void 0:a.promise;return(u=E(this,nt))==null||u.cancel(s),o?o.then(bt).catch(bt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return E(this,pr)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(s=>Pt(s.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===rc||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(s=>Gn(s.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(s=>s.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(s=0){return this.state.data===void 0?!0:s==="static"?!1:this.state.isInvalidated?!0:!cp(this.state.dataUpdatedAt,s)}onFocus(){var o;const s=this.observers.find(a=>a.shouldFetchOnWindowFocus());s==null||s.refetch({cancelRefetch:!1}),(o=E(this,nt))==null||o.continue()}onOnline(){var o;const s=this.observers.find(a=>a.shouldFetchOnReconnect());s==null||s.refetch({cancelRefetch:!1}),(o=E(this,nt))==null||o.continue()}addObserver(s){this.observers.includes(s)||(this.observers.push(s),this.clearGcTimeout(),E(this,At).notify({type:"observerAdded",query:this,observer:s}))}removeObserver(s){this.observers.includes(s)&&(this.observers=this.observers.filter(o=>o!==s),this.observers.length||(E(this,nt)&&(E(this,gr)||_e(this,_t,vp).call(this)?E(this,nt).cancel({revert:!0}):E(this,nt).cancelRetry()),this.scheduleGc()),E(this,At).notify({type:"observerRemoved",query:this,observer:s}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||_e(this,_t,pn).call(this,{type:"invalidate"})}async fetch(s,o){var k,w,x,P,_,D,b,R,A,I,V;if(this.state.fetchStatus!=="idle"&&((k=E(this,nt))==null?void 0:k.status())!=="rejected"){if(this.state.data!==void 0&&(o!=null&&o.cancelRefetch))this.cancel({silent:!0});else if(E(this,nt))return E(this,nt).continueRetry(),E(this,nt).promise}if(s&&this.setOptions(s),!this.options.queryFn){const z=this.observers.find(K=>K.options.queryFn);z&&this.setOptions(z.options)}const a=new AbortController,u=z=>{Object.defineProperty(z,"signal",{enumerable:!0,get:()=>(J(this,gr,!0),a.signal)})},f=()=>{const z=fp(this.options,o),G=(()=>{const ue={client:E(this,mr),queryKey:this.queryKey,meta:this.meta};return u(ue),ue})();return J(this,gr,!1),this.options.persister?this.options.persister(z,G,this):z(G)},h=(()=>{const z={fetchOptions:o,options:this.options,queryKey:this.queryKey,client:E(this,mr),state:this.state,fetchFn:f};return u(z),z})(),y=E(this,ds)==="infinite"?Xv(this.options.pages):this.options.behavior;y==null||y.onFetch(h,this),J(this,fs,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((w=h.fetchOptions)==null?void 0:w.meta))&&_e(this,_t,pn).call(this,{type:"fetch",meta:(x=h.fetchOptions)==null?void 0:x.meta}),J(this,nt,mp({initialPromise:o==null?void 0:o.initialPromise,fn:h.fetchFn,onCancel:z=>{z instanceof Ou&&z.revert&&this.setState({...E(this,fs),fetchStatus:"idle"}),a.abort()},onFail:(z,K)=>{_e(this,_t,pn).call(this,{type:"failed",failureCount:z,error:K})},onPause:()=>{_e(this,_t,pn).call(this,{type:"pause"})},onContinue:()=>{_e(this,_t,pn).call(this,{type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0}));try{const z=await E(this,nt).start();if(z===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(z),(_=(P=E(this,At).config).onSuccess)==null||_.call(P,z,this),(b=(D=E(this,At).config).onSettled)==null||b.call(D,z,this.state.error,this),z}catch(z){if(z instanceof Ou){if(z.silent)return E(this,nt).promise;if(z.revert){if(this.state.data===void 0)throw z;return this.state.data}}throw _e(this,_t,pn).call(this,{type:"error",error:z}),(A=(R=E(this,At).config).onError)==null||A.call(R,z,this),(V=(I=E(this,At).config).onSettled)==null||V.call(I,this.state.data,z,this),z}finally{this.scheduleGc()}}},ds=new WeakMap,pr=new WeakMap,fs=new WeakMap,At=new WeakMap,mr=new WeakMap,nt=new WeakMap,Ri=new WeakMap,gr=new WeakMap,_t=new WeakSet,vp=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},pn=function(s){const o=a=>{switch(s.type){case"failed":return{...a,fetchFailureCount:s.failureCount,fetchFailureReason:s.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...yp(a.data,this.options),fetchMeta:s.meta??null};case"success":const u={...a,...wh(s.data,s.dataUpdatedAt),dataUpdateCount:a.dataUpdateCount+1,...!s.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return J(this,fs,s.manual?u:void 0),u;case"error":const f=s.error;return{...a,error:f,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:f,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...s.state}}};this.state=o(this.state),it.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),E(this,At).notify({query:this,type:"updated",action:s})})},np);function yp(r,s){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:pp(s.networkMode)?"fetching":"paused",...r===void 0&&{error:null,status:"pending"}}}function wh(r,s){return{data:r,dataUpdatedAt:s??Date.now(),error:null,isInvalidated:!1,status:"success"}}function kh(r){const s=typeof r.initialData=="function"?r.initialData():r.initialData,o=s!==void 0,a=o?typeof r.initialDataUpdatedAt=="function"?r.initialDataUpdatedAt():r.initialDataUpdatedAt:0;return{data:s,dataUpdateCount:0,dataUpdatedAt:o?a??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:o?"success":"pending",fetchStatus:"idle"}}var kt,Re,Mi,pt,vr,hs,mn,Hn,Oi,ps,ms,yr,xr,Wn,gs,Te,xi,Tu,Lu,Du,Au,zu,Fu,Iu,xp,rp,ty=(rp=class extends Di{constructor(s,o){super();pe(this,Te);pe(this,kt);pe(this,Re);pe(this,Mi);pe(this,pt);pe(this,vr);pe(this,hs);pe(this,mn);pe(this,Hn);pe(this,Oi);pe(this,ps);pe(this,ms);pe(this,yr);pe(this,xr);pe(this,Wn);pe(this,gs,new Set);this.options=o,J(this,kt,s),J(this,Hn,null),J(this,mn,Mu()),this.bindMethods(),this.setOptions(o)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(E(this,Re).addObserver(this),bh(E(this,Re),this.options)?_e(this,Te,xi).call(this):this.updateResult(),_e(this,Te,Au).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Uu(E(this,Re),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Uu(E(this,Re),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,_e(this,Te,zu).call(this),_e(this,Te,Fu).call(this),E(this,Re).removeObserver(this)}setOptions(s){const o=this.options,a=E(this,Re);if(this.options=E(this,kt).defaultQueryOptions(s),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Pt(this.options.enabled,E(this,Re))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");_e(this,Te,Iu).call(this),E(this,Re).setOptions(this.options),o._defaulted&&!_u(this.options,o)&&E(this,kt).getQueryCache().notify({type:"observerOptionsUpdated",query:E(this,Re),observer:this});const u=this.hasListeners();u&&Sh(E(this,Re),a,this.options,o)&&_e(this,Te,xi).call(this),this.updateResult(),u&&(E(this,Re)!==a||Pt(this.options.enabled,E(this,Re))!==Pt(o.enabled,E(this,Re))||Gn(this.options.staleTime,E(this,Re))!==Gn(o.staleTime,E(this,Re)))&&_e(this,Te,Tu).call(this);const f=_e(this,Te,Lu).call(this);u&&(E(this,Re)!==a||Pt(this.options.enabled,E(this,Re))!==Pt(o.enabled,E(this,Re))||f!==E(this,Wn))&&_e(this,Te,Du).call(this,f)}getOptimisticResult(s){const o=E(this,kt).getQueryCache().build(E(this,kt),s),a=this.createResult(o,s);return ry(this,a)&&(J(this,pt,a),J(this,hs,this.options),J(this,vr,E(this,Re).state)),a}getCurrentResult(){return E(this,pt)}trackResult(s,o){return new Proxy(s,{get:(a,u)=>(this.trackProp(u),o==null||o(u),u==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&E(this,mn).status==="pending"&&E(this,mn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,u))})}trackProp(s){E(this,gs).add(s)}getCurrentQuery(){return E(this,Re)}refetch({...s}={}){return this.fetch({...s})}fetchOptimistic(s){const o=E(this,kt).defaultQueryOptions(s),a=E(this,kt).getQueryCache().build(E(this,kt),o);return a.fetch().then(()=>this.createResult(a,o))}fetch(s){return _e(this,Te,xi).call(this,{...s,cancelRefetch:s.cancelRefetch??!0}).then(()=>(this.updateResult(),E(this,pt)))}createResult(s,o){var ee;const a=E(this,Re),u=this.options,f=E(this,pt),m=E(this,vr),h=E(this,hs),k=s!==a?s.state:E(this,Mi),{state:w}=s;let x={...w},P=!1,_;if(o._optimisticResults){const me=this.hasListeners(),ke=!me&&bh(s,o),le=me&&Sh(s,a,o,u);(ke||le)&&(x={...x,...yp(w.data,s.options)}),o._optimisticResults==="isRestoring"&&(x.fetchStatus="idle")}let{error:D,errorUpdatedAt:b,status:R}=x;_=x.data;let A=!1;if(o.placeholderData!==void 0&&_===void 0&&R==="pending"){let me;f!=null&&f.isPlaceholderData&&o.placeholderData===(h==null?void 0:h.placeholderData)?(me=f.data,A=!0):me=typeof o.placeholderData=="function"?o.placeholderData((ee=E(this,ms))==null?void 0:ee.state.data,E(this,ms)):o.placeholderData,me!==void 0&&(R="success",_=Ru(f==null?void 0:f.data,me,o),P=!0)}if(o.select&&_!==void 0&&!A)if(f&&_===(m==null?void 0:m.data)&&o.select===E(this,Oi))_=E(this,ps);else try{J(this,Oi,o.select),_=o.select(_),_=Ru(f==null?void 0:f.data,_,o),J(this,ps,_),J(this,Hn,null)}catch(me){J(this,Hn,me)}E(this,Hn)&&(D=E(this,Hn),_=E(this,ps),b=Date.now(),R="error");const I=x.fetchStatus==="fetching",V=R==="pending",z=R==="error",K=V&&I,G=_!==void 0,oe={status:R,fetchStatus:x.fetchStatus,isPending:V,isSuccess:R==="success",isError:z,isInitialLoading:K,isLoading:K,data:_,dataUpdatedAt:x.dataUpdatedAt,error:D,errorUpdatedAt:b,failureCount:x.fetchFailureCount,failureReason:x.fetchFailureReason,errorUpdateCount:x.errorUpdateCount,isFetched:s.isFetched(),isFetchedAfterMount:x.dataUpdateCount>k.dataUpdateCount||x.errorUpdateCount>k.errorUpdateCount,isFetching:I,isRefetching:I&&!V,isLoadingError:z&&!G,isPaused:x.fetchStatus==="paused",isPlaceholderData:P,isRefetchError:z&&G,isStale:sc(s,o),refetch:this.refetch,promise:E(this,mn),isEnabled:Pt(o.enabled,s)!==!1};if(this.options.experimental_prefetchInRender){const me=oe.data!==void 0,ke=oe.status==="error"&&!me,le=ce=>{ke?ce.reject(oe.error):me&&ce.resolve(oe.data)},Le=()=>{const ce=J(this,mn,oe.promise=Mu());le(ce)},Z=E(this,mn);switch(Z.status){case"pending":s.queryHash===a.queryHash&&le(Z);break;case"fulfilled":(ke||oe.data!==Z.value)&&Le();break;case"rejected":(!ke||oe.error!==Z.reason)&&Le();break}}return oe}updateResult(){const s=E(this,pt),o=this.createResult(E(this,Re),this.options);if(J(this,vr,E(this,Re).state),J(this,hs,this.options),E(this,vr).data!==void 0&&J(this,ms,E(this,Re)),_u(o,s))return;J(this,pt,o);const a=()=>{if(!s)return!0;const{notifyOnChangeProps:u}=this.options,f=typeof u=="function"?u():u;if(f==="all"||!f&&!E(this,gs).size)return!0;const m=new Set(f??E(this,gs));return this.options.throwOnError&&m.add("error"),Object.keys(E(this,pt)).some(h=>{const y=h;return E(this,pt)[y]!==s[y]&&m.has(y)})};_e(this,Te,xp).call(this,{listeners:a()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&_e(this,Te,Au).call(this)}},kt=new WeakMap,Re=new WeakMap,Mi=new WeakMap,pt=new WeakMap,vr=new WeakMap,hs=new WeakMap,mn=new WeakMap,Hn=new WeakMap,Oi=new WeakMap,ps=new WeakMap,ms=new WeakMap,yr=new WeakMap,xr=new WeakMap,Wn=new WeakMap,gs=new WeakMap,Te=new WeakSet,xi=function(s){_e(this,Te,Iu).call(this);let o=E(this,Re).fetch(this.options,s);return s!=null&&s.throwOnError||(o=o.catch(bt)),o},Tu=function(){_e(this,Te,zu).call(this);const s=Gn(this.options.staleTime,E(this,Re));if(Ei.isServer()||E(this,pt).isStale||!Cu(s))return;const a=cp(E(this,pt).dataUpdatedAt,s)+1;J(this,yr,dr.setTimeout(()=>{E(this,pt).isStale||this.updateResult()},a))},Lu=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(E(this,Re)):this.options.refetchInterval)??!1},Du=function(s){_e(this,Te,Fu).call(this),J(this,Wn,s),!(Ei.isServer()||Pt(this.options.enabled,E(this,Re))===!1||!Cu(E(this,Wn))||E(this,Wn)===0)&&J(this,xr,dr.setInterval(()=>{(this.options.refetchIntervalInBackground||tc.isFocused())&&_e(this,Te,xi).call(this)},E(this,Wn)))},Au=function(){_e(this,Te,Tu).call(this),_e(this,Te,Du).call(this,_e(this,Te,Lu).call(this))},zu=function(){E(this,yr)!==void 0&&(dr.clearTimeout(E(this,yr)),J(this,yr,void 0))},Fu=function(){E(this,xr)!==void 0&&(dr.clearInterval(E(this,xr)),J(this,xr,void 0))},Iu=function(){const s=E(this,kt).getQueryCache().build(E(this,kt),this.options);if(s===E(this,Re))return;const o=E(this,Re);J(this,Re,s),J(this,Mi,s.state),this.hasListeners()&&(o==null||o.removeObserver(this),s.addObserver(this))},xp=function(s){it.batch(()=>{s.listeners&&this.listeners.forEach(o=>{o(E(this,pt))}),E(this,kt).getQueryCache().notify({query:E(this,Re),type:"observerResultsUpdated"})})},rp);function ny(r,s){return Pt(s.enabled,r)!==!1&&r.state.data===void 0&&!(r.state.status==="error"&&Pt(s.retryOnMount,r)===!1)}function bh(r,s){return ny(r,s)||r.state.data!==void 0&&Uu(r,s,s.refetchOnMount)}function Uu(r,s,o){if(Pt(s.enabled,r)!==!1&&Gn(s.staleTime,r)!=="static"){const a=typeof o=="function"?o(r):o;return a==="always"||a!==!1&&sc(r,s)}return!1}function Sh(r,s,o,a){return(r!==s||Pt(a.enabled,r)===!1)&&(!o.suspense||r.state.status!=="error")&&sc(r,o)}function sc(r,s){return Pt(s.enabled,r)!==!1&&r.isStaleByTime(Gn(s.staleTime,r))}function ry(r,s){return!_u(r.getCurrentResult(),s)}var Ti,Jt,dt,wr,en,In,sp,sy=(sp=class extends gp{constructor(s){super();pe(this,en);pe(this,Ti);pe(this,Jt);pe(this,dt);pe(this,wr);J(this,Ti,s.client),this.mutationId=s.mutationId,J(this,dt,s.mutationCache),J(this,Jt,[]),this.state=s.state||iy(),this.setOptions(s.options),this.scheduleGc()}setOptions(s){this.options=s,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(s){E(this,Jt).includes(s)||(E(this,Jt).push(s),this.clearGcTimeout(),E(this,dt).notify({type:"observerAdded",mutation:this,observer:s}))}removeObserver(s){J(this,Jt,E(this,Jt).filter(o=>o!==s)),this.scheduleGc(),E(this,dt).notify({type:"observerRemoved",mutation:this,observer:s})}optionalRemove(){E(this,Jt).length||(this.state.status==="pending"?this.scheduleGc():E(this,dt).remove(this))}continue(){var s;return((s=E(this,wr))==null?void 0:s.continue())??this.execute(this.state.variables)}async execute(s){var m,h,y,k,w,x,P,_,D,b,R,A,I,V,z,K,G,ue;const o=()=>{_e(this,en,In).call(this,{type:"continue"})},a={client:E(this,Ti),meta:this.options.meta,mutationKey:this.options.mutationKey};J(this,wr,mp({fn:()=>this.options.mutationFn?this.options.mutationFn(s,a):Promise.reject(new Error("No mutationFn found")),onFail:(oe,ee)=>{_e(this,en,In).call(this,{type:"failed",failureCount:oe,error:ee})},onPause:()=>{_e(this,en,In).call(this,{type:"pause"})},onContinue:o,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>E(this,dt).canRun(this)}));const u=this.state.status==="pending",f=!E(this,wr).canStart();try{if(u)o();else{_e(this,en,In).call(this,{type:"pending",variables:s,isPaused:f}),E(this,dt).config.onMutate&&await E(this,dt).config.onMutate(s,this,a);const ee=await((h=(m=this.options).onMutate)==null?void 0:h.call(m,s,a));ee!==this.state.context&&_e(this,en,In).call(this,{type:"pending",context:ee,variables:s,isPaused:f})}const oe=await E(this,wr).start();return await((k=(y=E(this,dt).config).onSuccess)==null?void 0:k.call(y,oe,s,this.state.context,this,a)),await((x=(w=this.options).onSuccess)==null?void 0:x.call(w,oe,s,this.state.context,a)),await((_=(P=E(this,dt).config).onSettled)==null?void 0:_.call(P,oe,null,this.state.variables,this.state.context,this,a)),await((b=(D=this.options).onSettled)==null?void 0:b.call(D,oe,null,s,this.state.context,a)),_e(this,en,In).call(this,{type:"success",data:oe}),oe}catch(oe){try{await((A=(R=E(this,dt).config).onError)==null?void 0:A.call(R,oe,s,this.state.context,this,a))}catch(ee){Promise.reject(ee)}try{await((V=(I=this.options).onError)==null?void 0:V.call(I,oe,s,this.state.context,a))}catch(ee){Promise.reject(ee)}try{await((K=(z=E(this,dt).config).onSettled)==null?void 0:K.call(z,void 0,oe,this.state.variables,this.state.context,this,a))}catch(ee){Promise.reject(ee)}try{await((ue=(G=this.options).onSettled)==null?void 0:ue.call(G,void 0,oe,s,this.state.context,a))}catch(ee){Promise.reject(ee)}throw _e(this,en,In).call(this,{type:"error",error:oe}),oe}finally{E(this,dt).runNext(this)}}},Ti=new WeakMap,Jt=new WeakMap,dt=new WeakMap,wr=new WeakMap,en=new WeakSet,In=function(s){const o=a=>{switch(s.type){case"failed":return{...a,failureCount:s.failureCount,failureReason:s.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:s.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:s.isPaused,status:"pending",variables:s.variables,submittedAt:Date.now()};case"success":return{...a,data:s.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:s.error,failureCount:a.failureCount+1,failureReason:s.error,isPaused:!1,status:"error"}}};this.state=o(this.state),it.batch(()=>{E(this,Jt).forEach(a=>{a.onMutationUpdate(s)}),E(this,dt).notify({mutation:this,type:"updated",action:s})})},sp);function iy(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var gn,Ht,Li,ip,oy=(ip=class extends Di{constructor(s={}){super();pe(this,gn);pe(this,Ht);pe(this,Li);this.config=s,J(this,gn,new Set),J(this,Ht,new Map),J(this,Li,0)}build(s,o,a){const u=new sy({client:s,mutationCache:this,mutationId:++Ko(this,Li)._,options:s.defaultMutationOptions(o),state:a});return this.add(u),u}add(s){E(this,gn).add(s);const o=Go(s);if(typeof o=="string"){const a=E(this,Ht).get(o);a?a.push(s):E(this,Ht).set(o,[s])}this.notify({type:"added",mutation:s})}remove(s){if(E(this,gn).delete(s)){const o=Go(s);if(typeof o=="string"){const a=E(this,Ht).get(o);if(a)if(a.length>1){const u=a.indexOf(s);u!==-1&&a.splice(u,1)}else a[0]===s&&E(this,Ht).delete(o)}}this.notify({type:"removed",mutation:s})}canRun(s){const o=Go(s);if(typeof o=="string"){const a=E(this,Ht).get(o),u=a==null?void 0:a.find(f=>f.state.status==="pending");return!u||u===s}else return!0}runNext(s){var a;const o=Go(s);if(typeof o=="string"){const u=(a=E(this,Ht).get(o))==null?void 0:a.find(f=>f!==s&&f.state.isPaused);return(u==null?void 0:u.continue())??Promise.resolve()}else return Promise.resolve()}clear(){it.batch(()=>{E(this,gn).forEach(s=>{this.notify({type:"removed",mutation:s})}),E(this,gn).clear(),E(this,Ht).clear()})}getAll(){return Array.from(E(this,gn))}find(s){const o={exact:!0,...s};return this.getAll().find(a=>gh(o,a))}findAll(s={}){return this.getAll().filter(o=>gh(s,o))}notify(s){it.batch(()=>{this.listeners.forEach(o=>{o(s)})})}resumePausedMutations(){const s=this.getAll().filter(o=>o.state.isPaused);return it.batch(()=>Promise.all(s.map(o=>o.continue().catch(bt))))}},gn=new WeakMap,Ht=new WeakMap,Li=new WeakMap,ip);function Go(r){var s;return(s=r.options.scope)==null?void 0:s.id}var tn,op,ly=(op=class extends Di{constructor(s={}){super();pe(this,tn);this.config=s,J(this,tn,new Map)}build(s,o,a){const u=o.queryKey,f=o.queryHash??nc(u,o);let m=this.get(f);return m||(m=new ey({client:s,queryKey:u,queryHash:f,options:s.defaultQueryOptions(o),state:a,defaultOptions:s.getQueryDefaults(u)}),this.add(m)),m}add(s){E(this,tn).has(s.queryHash)||(E(this,tn).set(s.queryHash,s),this.notify({type:"added",query:s}))}remove(s){const o=E(this,tn).get(s.queryHash);o&&(s.destroy(),o===s&&E(this,tn).delete(s.queryHash),this.notify({type:"removed",query:s}))}clear(){it.batch(()=>{this.getAll().forEach(s=>{this.remove(s)})})}get(s){return E(this,tn).get(s)}getAll(){return[...E(this,tn).values()]}find(s){const o={exact:!0,...s};return this.getAll().find(a=>mh(o,a))}findAll(s={}){const o=this.getAll();return Object.keys(s).length>0?o.filter(a=>mh(s,a)):o}notify(s){it.batch(()=>{this.listeners.forEach(o=>{o(s)})})}onFocus(){it.batch(()=>{this.getAll().forEach(s=>{s.onFocus()})})}onOnline(){it.batch(()=>{this.getAll().forEach(s=>{s.onOnline()})})}},tn=new WeakMap,op),Qe,Qn,Kn,vs,ys,qn,xs,ws,lp,ay=(lp=class{constructor(r={}){pe(this,Qe);pe(this,Qn);pe(this,Kn);pe(this,vs);pe(this,ys);pe(this,qn);pe(this,xs);pe(this,ws);J(this,Qe,r.queryCache||new ly),J(this,Qn,r.mutationCache||new oy),J(this,Kn,r.defaultOptions||{}),J(this,vs,new Map),J(this,ys,new Map),J(this,qn,0)}mount(){Ko(this,qn)._++,E(this,qn)===1&&(J(this,xs,tc.subscribe(async r=>{r&&(await this.resumePausedMutations(),E(this,Qe).onFocus())})),J(this,ws,ol.subscribe(async r=>{r&&(await this.resumePausedMutations(),E(this,Qe).onOnline())})))}unmount(){var r,s;Ko(this,qn)._--,E(this,qn)===0&&((r=E(this,xs))==null||r.call(this),J(this,xs,void 0),(s=E(this,ws))==null||s.call(this),J(this,ws,void 0))}isFetching(r){return E(this,Qe).findAll({...r,fetchStatus:"fetching"}).length}isMutating(r){return E(this,Qn).findAll({...r,status:"pending"}).length}getQueryData(r){var o;const s=this.defaultQueryOptions({queryKey:r});return(o=E(this,Qe).get(s.queryHash))==null?void 0:o.state.data}ensureQueryData(r){const s=this.defaultQueryOptions(r),o=E(this,Qe).build(this,s),a=o.state.data;return a===void 0?this.fetchQuery(r):(r.revalidateIfStale&&o.isStaleByTime(Gn(s.staleTime,o))&&this.prefetchQuery(s),Promise.resolve(a))}getQueriesData(r){return E(this,Qe).findAll(r).map(({queryKey:s,state:o})=>{const a=o.data;return[s,a]})}setQueryData(r,s,o){const a=this.defaultQueryOptions({queryKey:r}),u=E(this,Qe).get(a.queryHash),f=u==null?void 0:u.state.data,m=Bv(s,f);if(m!==void 0)return E(this,Qe).build(this,a).setData(m,{...o,manual:!0})}setQueriesData(r,s,o){return it.batch(()=>E(this,Qe).findAll(r).map(({queryKey:a})=>[a,this.setQueryData(a,s,o)]))}getQueryState(r){var o;const s=this.defaultQueryOptions({queryKey:r});return(o=E(this,Qe).get(s.queryHash))==null?void 0:o.state}removeQueries(r){const s=E(this,Qe);it.batch(()=>{s.findAll(r).forEach(o=>{s.remove(o)})})}resetQueries(r,s){const o=E(this,Qe);return it.batch(()=>(o.findAll(r).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...r},s)))}cancelQueries(r,s={}){const o={revert:!0,...s},a=it.batch(()=>E(this,Qe).findAll(r).map(u=>u.cancel(o)));return Promise.all(a).then(bt).catch(bt)}invalidateQueries(r,s={}){return it.batch(()=>(E(this,Qe).findAll(r).forEach(o=>{o.invalidate()}),(r==null?void 0:r.refetchType)==="none"?Promise.resolve():this.refetchQueries({...r,type:(r==null?void 0:r.refetchType)??(r==null?void 0:r.type)??"active"},s)))}refetchQueries(r,s={}){const o={...s,cancelRefetch:s.cancelRefetch??!0},a=it.batch(()=>E(this,Qe).findAll(r).filter(u=>!u.isDisabled()&&!u.isStatic()).map(u=>{let f=u.fetch(void 0,o);return o.throwOnError||(f=f.catch(bt)),u.state.fetchStatus==="paused"?Promise.resolve():f}));return Promise.all(a).then(bt)}fetchQuery(r){const s=this.defaultQueryOptions(r);s.retry===void 0&&(s.retry=!1);const o=E(this,Qe).build(this,s);return o.isStaleByTime(Gn(s.staleTime,o))?o.fetch(s):Promise.resolve(o.state.data)}prefetchQuery(r){return this.fetchQuery(r).then(bt).catch(bt)}fetchInfiniteQuery(r){return r._type="infinite",this.fetchQuery(r)}prefetchInfiniteQuery(r){return this.fetchInfiniteQuery(r).then(bt).catch(bt)}ensureInfiniteQueryData(r){return r._type="infinite",this.ensureQueryData(r)}resumePausedMutations(){return ol.isOnline()?E(this,Qn).resumePausedMutations():Promise.resolve()}getQueryCache(){return E(this,Qe)}getMutationCache(){return E(this,Qn)}getDefaultOptions(){return E(this,Kn)}setDefaultOptions(r){J(this,Kn,r)}setQueryDefaults(r,s){E(this,vs).set(bi(r),{queryKey:r,defaultOptions:s})}getQueryDefaults(r){const s=[...E(this,vs).values()],o={};return s.forEach(a=>{Si(r,a.queryKey)&&Object.assign(o,a.defaultOptions)}),o}setMutationDefaults(r,s){E(this,ys).set(bi(r),{mutationKey:r,defaultOptions:s})}getMutationDefaults(r){const s=[...E(this,ys).values()],o={};return s.forEach(a=>{Si(r,a.mutationKey)&&Object.assign(o,a.defaultOptions)}),o}defaultQueryOptions(r){if(r._defaulted)return r;const s={...E(this,Kn).queries,...this.getQueryDefaults(r.queryKey),...r,_defaulted:!0};return s.queryHash||(s.queryHash=nc(s.queryKey,s)),s.refetchOnReconnect===void 0&&(s.refetchOnReconnect=s.networkMode!=="always"),s.throwOnError===void 0&&(s.throwOnError=!!s.suspense),!s.networkMode&&s.persister&&(s.networkMode="offlineFirst"),s.queryFn===rc&&(s.enabled=!1),s}defaultMutationOptions(r){return r!=null&&r._defaulted?r:{...E(this,Kn).mutations,...(r==null?void 0:r.mutationKey)&&this.getMutationDefaults(r.mutationKey),...r,_defaulted:!0}}clear(){E(this,Qe).clear(),E(this,Qn).clear()}},Qe=new WeakMap,Qn=new WeakMap,Kn=new WeakMap,vs=new WeakMap,ys=new WeakMap,qn=new WeakMap,xs=new WeakMap,ws=new WeakMap,lp),wp=g.createContext(void 0),ul=r=>{const s=g.useContext(wp);if(!s)throw new Error("No QueryClient set, use QueryClientProvider to set one");return s},uy=({client:r,children:s})=>(g.useEffect(()=>(r.mount(),()=>{r.unmount()}),[r]),d.jsx(wp.Provider,{value:r,children:s})),kp=g.createContext(!1),cy=()=>g.useContext(kp);kp.Provider;function dy(){let r=!1;return{clearReset:()=>{r=!1},reset:()=>{r=!0},isReset:()=>r}}var fy=g.createContext(dy()),hy=()=>g.useContext(fy),py=(r,s,o)=>{const a=o!=null&&o.state.error&&typeof r.throwOnError=="function"?hp(r.throwOnError,[o.state.error,o]):r.throwOnError;(r.suspense||r.experimental_prefetchInRender||a)&&(s.isReset()||(r.retryOnMount=!1))},my=r=>{g.useEffect(()=>{r.clearReset()},[r])},gy=({result:r,errorResetBoundary:s,throwOnError:o,query:a,suspense:u})=>r.isError&&!s.isReset()&&!r.isFetching&&a&&(u&&r.data===void 0||hp(o,[r.error,a])),vy=r=>{if(r.suspense){const o=u=>u==="static"?u:Math.max(u??1e3,1e3),a=r.staleTime;r.staleTime=typeof a=="function"?(...u)=>o(a(...u)):o(a),typeof r.gcTime=="number"&&(r.gcTime=Math.max(r.gcTime,1e3))}},yy=(r,s)=>r.isLoading&&r.isFetching&&!s,xy=(r,s)=>(r==null?void 0:r.suspense)&&s.isPending,Eh=(r,s,o)=>s.fetchOptimistic(r).catch(()=>{o.clearReset()});function wy(r,s,o){var _,D,b,R;const a=cy(),u=hy(),f=ul(),m=f.defaultQueryOptions(r);(D=(_=f.getDefaultOptions().queries)==null?void 0:_._experimental_beforeQuery)==null||D.call(_,m);const h=f.getQueryCache().get(m.queryHash),y=r.subscribed!==!1;m._optimisticResults=a?"isRestoring":y?"optimistic":void 0,vy(m),py(m,u,h),my(u);const k=!f.getQueryCache().get(m.queryHash),[w]=g.useState(()=>new s(f,m)),x=w.getOptimisticResult(m),P=!a&&y;if(g.useSyncExternalStore(g.useCallback(A=>{const I=P?w.subscribe(it.batchCalls(A)):bt;return w.updateResult(),I},[w,P]),()=>w.getCurrentResult(),()=>w.getCurrentResult()),g.useEffect(()=>{w.setOptions(m)},[m,w]),xy(m,x))throw Eh(m,w,u);if(gy({result:x,errorResetBoundary:u,throwOnError:m.throwOnError,query:h,suspense:m.suspense}))throw x.error;if((R=(b=f.getDefaultOptions().queries)==null?void 0:b._experimental_afterQuery)==null||R.call(b,m,x),m.experimental_prefetchInRender&&!Ei.isServer()&&yy(x,a)){const A=k?Eh(m,w,u):h==null?void 0:h.promise;A==null||A.catch(bt).finally(()=>{w.updateResult()})}return m.notifyOnChangeProps?x:w.trackResult(x)}function Be(r,s){return wy(r,ty)}const ky="modulepreload",by=function(r){return"/"+r},Nh={},Wt=function(s,o,a){let u=Promise.resolve();if(o&&o.length>0){let m=function(k){return Promise.all(k.map(w=>Promise.resolve(w).then(x=>({status:"fulfilled",value:x}),x=>({status:"rejected",reason:x}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),y=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));u=m(o.map(k=>{if(k=by(k),k in Nh)return;Nh[k]=!0;const w=k.endsWith(".css"),x=w?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${k}"]${x}`))return;const P=document.createElement("link");if(P.rel=w?"stylesheet":ky,w||(P.as="script"),P.crossOrigin="",P.href=k,y&&P.setAttribute("nonce",y),document.head.appendChild(P),w)return new Promise((_,D)=>{P.addEventListener("load",_),P.addEventListener("error",()=>D(new Error(`Unable to preload CSS for ${k}`)))})}))}function f(m){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=m,window.dispatchEvent(h),!h.defaultPrevented)throw m}return u.then(m=>{for(const h of m||[])h.status==="rejected"&&f(h.reason);return s().catch(f)})};/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Sy=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),bp=(...r)=>r.filter((s,o,a)=>!!s&&s.trim()!==""&&a.indexOf(s)===o).join(" ").trim();/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Ey={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"};/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ny=g.forwardRef(({color:r="currentColor",size:s=24,strokeWidth:o=2,absoluteStrokeWidth:a,className:u="",children:f,iconNode:m,...h},y)=>g.createElement("svg",{ref:y,...Ey,width:s,height:s,stroke:r,strokeWidth:a?Number(o)*24/Number(s):o,className:bp("lucide",u),...h},[...m.map(([k,w])=>g.createElement(k,w)),...Array.isArray(f)?f:[f]]));/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ge=(r,s)=>{const o=g.forwardRef(({className:a,...u},f)=>g.createElement(Ny,{ref:f,iconNode:s,className:bp(`lucide-${Sy(r)}`,a),...u}));return o.displayName=`${r}`,o};/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const jy=ge("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"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const jh=ge("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cy=ge("BookMarked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["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"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ni=ge("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"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _y=ge("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Sp=ge("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Py=ge("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ry=ge("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const My=ge("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Oy=ge("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wi=ge("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ty=ge("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ep=ge("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ly=ge("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Dy=ge("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ay=ge("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Np=ge("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zy=ge("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Fy=ge("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const jp=ge("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Iy=ge("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Uy=ge("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $y=ge("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const By=ge("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Vy=ge("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Hy=ge("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ic=ge("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Wy=ge("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qy=ge("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ky=ge("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const qy=ge("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ji=ge("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Gy=ge("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Zy=ge("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ch=ge("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oc=ge("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Yy=ge("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ss=ge("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xy=ge("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cl=ge("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const lc=ge("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cp=ge("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _p=ge("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pp=ge("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Jy=ge("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e0=ge("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const t0=ge("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const n0=ge("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ci=ge("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const r0=ge("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const dl=ge("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),is=[{id:"dashboard",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:Qy,group:"Operativ"},{id:"ideen",label:"Ideen",hint:"Schreib hin, was entstehen soll",icon:qy,group:"Operativ"},{id:"auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:ic,group:"Operativ"},{id:"skills",label:"Skills & Jobs",hint:"Autonome Skills manuell auslösen",icon:Ni,group:"Operativ"},{id:"chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:Hy,group:"Operativ"},{id:"wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:Ky,group:"Wissen"},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:oc,group:"Werkzeuge"},{id:"konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:t0,group:"Werkzeuge"},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:Ep,group:"Werkzeuge"},{id:"models",label:"Modelle",hint:"Speicher, laden & Rollen",icon:Sp,group:"Wartung"},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Ni,group:"Wartung"}];var _h=1,s0=.9,i0=.8,o0=.17,pu=.1,mu=.999,l0=.9999,a0=.99,u0=/[\\\/_+.#"@\[\(\{&]/,c0=/[\\\/_+.#"@\[\(\{&]/g,d0=/[\s-]/,Rp=/[\s-]/g;function $u(r,s,o,a,u,f,m){if(f===s.length)return u===r.length?_h:a0;var h=`${u},${f}`;if(m[h]!==void 0)return m[h];for(var y=a.charAt(f),k=o.indexOf(y,u),w=0,x,P,_,D;k>=0;)x=$u(r,s,o,a,k+1,f+1,m),x>w&&(k===u?x*=_h:u0.test(r.charAt(k-1))?(x*=i0,_=r.slice(u,k-1).match(c0),_&&u>0&&(x*=Math.pow(mu,_.length))):d0.test(r.charAt(k-1))?(x*=s0,D=r.slice(u,k-1).match(Rp),D&&u>0&&(x*=Math.pow(mu,D.length))):(x*=o0,u>0&&(x*=Math.pow(mu,k-u))),r.charAt(k)!==s.charAt(f)&&(x*=l0)),(xx&&(x=P*pu)),x>w&&(w=x),k=o.indexOf(y,k+1);return m[h]=w,w}function Ph(r){return r.toLowerCase().replace(Rp," ")}function f0(r,s,o){return r=o&&o.length>0?`${r+" "+o.join(" ")}`:r,$u(r,s,Ph(r),Ph(s),0,0,{})}function Zn(r,s,{checkForDefaultPrevented:o=!0}={}){return function(u){if(r==null||r(u),o===!1||!u.defaultPrevented)return s==null?void 0:s(u)}}function Rh(r,s){if(typeof r=="function")return r(s);r!=null&&(r.current=s)}function ks(...r){return s=>{let o=!1;const a=r.map(u=>{const f=Rh(u,s);return!o&&typeof f=="function"&&(o=!0),f});if(o)return()=>{for(let u=0;u{var A;const{scope:P,children:_,...D}=x,b=((A=P==null?void 0:P[r])==null?void 0:A[y])||h,R=g.useMemo(()=>D,Object.values(D));return d.jsx(b.Provider,{value:R,children:_})};k.displayName=f+"Provider";function w(x,P){var b;const _=((b=P==null?void 0:P[r])==null?void 0:b[y])||h,D=g.useContext(_);if(D)return D;if(m!==void 0)return m;throw new Error(`\`${x}\` must be used within \`${f}\``)}return[k,w]}const u=()=>{const f=o.map(m=>g.createContext(m));return function(h){const y=(h==null?void 0:h[r])||f;return g.useMemo(()=>({[`__scope${r}`]:{...h,[r]:y}}),[h,y])}};return u.scopeName=r,[a,p0(u,...s)]}function p0(...r){const s=r[0];if(r.length===1)return s;const o=()=>{const a=r.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(f){const m=a.reduce((h,{useScope:y,scopeName:k})=>{const x=y(f)[`__scope${k}`];return{...h,...x}},{});return g.useMemo(()=>({[`__scope${s.scopeName}`]:m}),[m])}};return o.scopeName=s.scopeName,o}var _i=globalThis!=null&&globalThis.document?g.useLayoutEffect:()=>{},m0=ec[" useId ".trim().toString()]||(()=>{}),g0=0;function vn(r){const[s,o]=g.useState(m0());return _i(()=>{o(a=>a??String(g0++))},[r]),s?`radix-${s}`:""}var v0=ec[" useInsertionEffect ".trim().toString()]||_i;function y0({prop:r,defaultProp:s,onChange:o=()=>{},caller:a}){const[u,f,m]=x0({defaultProp:s,onChange:o}),h=r!==void 0,y=h?r:u;{const w=g.useRef(r!==void 0);g.useEffect(()=>{const x=w.current;x!==h&&console.warn(`${a} is changing from ${x?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),w.current=h},[h,a])}const k=g.useCallback(w=>{var x;if(h){const P=w0(w)?w(r):w;P!==r&&((x=m.current)==null||x.call(m,P))}else f(w)},[h,r,f,m]);return[y,k]}function x0({defaultProp:r,onChange:s}){const[o,a]=g.useState(r),u=g.useRef(o),f=g.useRef(s);return v0(()=>{f.current=s},[s]),g.useEffect(()=>{var m;u.current!==o&&((m=f.current)==null||m.call(f,o),u.current=o)},[o,u]),[o,a,f]}function w0(r){return typeof r=="function"}var Mp=up();function Op(r){const s=g.forwardRef((o,a)=>{let{children:u,...f}=o,m=null,h=!1;const y=[];Mh(u)&&typeof Zo=="function"&&(u=Zo(u._payload)),g.Children.forEach(u,P=>{var _;if(N0(P)){h=!0;const D=P;let b="child"in D.props?D.props.child:D.props.children;Mh(b)&&typeof Zo=="function"&&(b=Zo(b._payload)),m=b0(D,b),y.push((_=m==null?void 0:m.props)==null?void 0:_.children)}else y.push(P)}),m?m=g.cloneElement(m,void 0,y):!h&&g.Children.count(u)===1&&g.isValidElement(u)&&(m=u);const k=m?E0(m):void 0,w=br(a,k);if(!m){if(u||u===0)throw new Error(h?P0(r):_0(r));return u}const x=S0(f,m.props??{});return m.type!==g.Fragment&&(x.ref=a?w:k),g.cloneElement(m,x)});return s.displayName=`${r}.Slot`,s}var k0=Symbol.for("radix.slottable"),b0=(r,s)=>{if("child"in r.props){const o=r.props.child;return g.isValidElement(o)?g.cloneElement(o,void 0,r.props.children(o.props.children)):null}return g.isValidElement(s)?s:null};function S0(r,s){const o={...s};for(const a in s){const u=r[a],f=s[a];/^on[A-Z]/.test(a)?u&&f?o[a]=(...h)=>{const y=f(...h);return u(...h),y}:u&&(o[a]=u):a==="style"?o[a]={...u,...f}:a==="className"&&(o[a]=[u,f].filter(Boolean).join(" "))}return{...r,...o}}function E0(r){var a,u;let s=(a=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:a.get,o=s&&"isReactWarning"in s&&s.isReactWarning;return o?r.ref:(s=(u=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:u.get,o=s&&"isReactWarning"in s&&s.isReactWarning,o?r.props.ref:r.props.ref||r.ref)}function N0(r){return g.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===k0}var j0=Symbol.for("react.lazy");function Mh(r){return r!=null&&typeof r=="object"&&"$$typeof"in r&&r.$$typeof===j0&&"_payload"in r&&C0(r._payload)}function C0(r){return typeof r=="object"&&r!==null&&"then"in r}var _0=r=>`${r} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,P0=r=>`${r} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Zo=ec[" use ".trim().toString()],R0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ot=R0.reduce((r,s)=>{const o=Op(`Primitive.${s}`),a=g.forwardRef((u,f)=>{const{asChild:m,...h}=u,y=m?o:s;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(y,{...h,ref:f})});return a.displayName=`Primitive.${s}`,{...r,[s]:a}},{});function M0(r,s){r&&Mp.flushSync(()=>r.dispatchEvent(s))}function Pi(r){const s=g.useRef(r);return g.useEffect(()=>{s.current=r}),g.useMemo(()=>((...o)=>{var a;return(a=s.current)==null?void 0:a.call(s,...o)}),[])}function O0(r,s=globalThis==null?void 0:globalThis.document){const o=Pi(r);g.useEffect(()=>{const a=u=>{u.key==="Escape"&&o(u)};return s.addEventListener("keydown",a,{capture:!0}),()=>s.removeEventListener("keydown",a,{capture:!0})},[o,s])}var T0="DismissableLayer",Bu="dismissableLayer.update",L0="dismissableLayer.pointerDownOutside",D0="dismissableLayer.focusOutside",Oh,ac=g.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Tp=g.forwardRef((r,s)=>{const{disableOutsidePointerEvents:o=!1,deferPointerDownOutside:a=!1,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:h,onDismiss:y,...k}=r,w=g.useContext(ac),[x,P]=g.useState(null),_=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,D]=g.useState({}),b=br(s,ee=>P(ee)),R=Array.from(w.layers),[A]=[...w.layersWithOutsidePointerEventsDisabled].slice(-1),I=R.indexOf(A),V=x?R.indexOf(x):-1,z=w.layersWithOutsidePointerEventsDisabled.size>0,K=V>=I,G=g.useRef(!1),ue=I0(ee=>{const me=ee.target;if(!(me instanceof Node))return;const ke=[...w.branches].some(le=>le.contains(me));!K||ke||(f==null||f(ee),h==null||h(ee),ee.defaultPrevented||y==null||y())},{ownerDocument:_,deferPointerDownOutside:a,isDeferredPointerDownOutsideRef:G,dismissableSurfaces:w.dismissableSurfaces}),oe=U0(ee=>{if(a&&G.current)return;const me=ee.target;[...w.branches].some(le=>le.contains(me))||(m==null||m(ee),h==null||h(ee),ee.defaultPrevented||y==null||y())},_);return O0(ee=>{V===w.layers.size-1&&(u==null||u(ee),!ee.defaultPrevented&&y&&(ee.preventDefault(),y()))},_),g.useEffect(()=>{if(x)return o&&(w.layersWithOutsidePointerEventsDisabled.size===0&&(Oh=_.body.style.pointerEvents,_.body.style.pointerEvents="none"),w.layersWithOutsidePointerEventsDisabled.add(x)),w.layers.add(x),Th(),()=>{o&&(w.layersWithOutsidePointerEventsDisabled.delete(x),w.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=Oh))}},[x,_,o,w]),g.useEffect(()=>()=>{x&&(w.layers.delete(x),w.layersWithOutsidePointerEventsDisabled.delete(x),Th())},[x,w]),g.useEffect(()=>{const ee=()=>D({});return document.addEventListener(Bu,ee),()=>document.removeEventListener(Bu,ee)},[]),d.jsx(ot.div,{...k,ref:b,style:{pointerEvents:z?K?"auto":"none":void 0,...r.style},onFocusCapture:Zn(r.onFocusCapture,oe.onFocusCapture),onBlurCapture:Zn(r.onBlurCapture,oe.onBlurCapture),onPointerDownCapture:Zn(r.onPointerDownCapture,ue.onPointerDownCapture)})});Tp.displayName=T0;var A0="DismissableLayerBranch",z0=g.forwardRef((r,s)=>{const o=g.useContext(ac),a=g.useRef(null),u=br(s,a);return g.useEffect(()=>{const f=a.current;if(f)return o.branches.add(f),()=>{o.branches.delete(f)}},[o.branches]),d.jsx(ot.div,{...r,ref:u})});z0.displayName=A0;function F0(){const r=g.useContext(ac),[s,o]=g.useState(null);return g.useEffect(()=>{if(s)return r.dismissableSurfaces.add(s),()=>{r.dismissableSurfaces.delete(s)}},[s,r.dismissableSurfaces]),o}function I0(r,s){const{ownerDocument:o=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:a=!1,isDeferredPointerDownOutsideRef:u,dismissableSurfaces:f}=s,m=Pi(r),h=g.useRef(!1),y=g.useRef(!1),k=g.useRef(new Map),w=g.useRef(()=>{});return g.useEffect(()=>{function x(){y.current=!1,u.current=!1,k.current.clear()}function P(){return Array.from(k.current.values()).some(Boolean)}function _(I){if(!y.current)return;const V=I.target;V instanceof Node&&[...f].some(K=>K.contains(V))||k.current.set(I.type,!0),I.type==="click"&&window.setTimeout(()=>{y.current&&w.current()},0)}function D(I){y.current&&k.current.set(I.type,!1)}const b=I=>{if(I.target&&!h.current){let V=function(){o.removeEventListener("click",w.current);const K=P();x(),K||Lp(L0,m,z,{discrete:!0})};const z={originalEvent:I};y.current=!0,u.current=a&&I.button===0,k.current.clear(),!a||I.button!==0?V():(o.removeEventListener("click",w.current),w.current=V,o.addEventListener("click",w.current,{once:!0}))}else o.removeEventListener("click",w.current),x();h.current=!1},R=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const I of R)o.addEventListener(I,_,!0),o.addEventListener(I,D);const A=window.setTimeout(()=>{o.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(A),o.removeEventListener("pointerdown",b),o.removeEventListener("click",w.current);for(const I of R)o.removeEventListener(I,_,!0),o.removeEventListener(I,D)}},[o,m,a,u,f]),{onPointerDownCapture:()=>h.current=!0}}function U0(r,s=globalThis==null?void 0:globalThis.document){const o=Pi(r),a=g.useRef(!1);return g.useEffect(()=>{const u=f=>{f.target&&!a.current&&Lp(D0,o,{originalEvent:f},{discrete:!1})};return s.addEventListener("focusin",u),()=>s.removeEventListener("focusin",u)},[s,o]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function Th(){const r=new CustomEvent(Bu);document.dispatchEvent(r)}function Lp(r,s,o,{discrete:a}){const u=o.originalEvent.target,f=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:o});s&&u.addEventListener(r,s,{once:!0}),a?M0(u,f):u.dispatchEvent(f)}var gu="focusScope.autoFocusOnMount",vu="focusScope.autoFocusOnUnmount",Lh={bubbles:!1,cancelable:!0},$0="FocusScope",Dp=g.forwardRef((r,s)=>{const{loop:o=!1,trapped:a=!1,onMountAutoFocus:u,onUnmountAutoFocus:f,...m}=r,[h,y]=g.useState(null),k=Pi(u),w=Pi(f),x=g.useRef(null),P=br(s,b=>y(b)),_=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(a){let b=function(V){if(_.paused||!h)return;const z=V.target;h.contains(z)?x.current=z:Un(x.current,{select:!0})},R=function(V){if(_.paused||!h)return;const z=V.relatedTarget;z!==null&&(h.contains(z)||Un(x.current,{select:!0}))},A=function(V){if(document.activeElement===document.body)for(const K of V)K.removedNodes.length>0&&Un(h)};document.addEventListener("focusin",b),document.addEventListener("focusout",R);const I=new MutationObserver(A);return h&&I.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",R),I.disconnect()}}},[a,h,_.paused]),g.useEffect(()=>{if(h){Ah.add(_);const b=document.activeElement;if(!h.contains(b)){const A=new CustomEvent(gu,Lh);h.addEventListener(gu,k),h.dispatchEvent(A),A.defaultPrevented||(B0(K0(Ap(h)),{select:!0}),document.activeElement===b&&Un(h))}return()=>{h.removeEventListener(gu,k),setTimeout(()=>{const A=new CustomEvent(vu,Lh);h.addEventListener(vu,w),h.dispatchEvent(A),A.defaultPrevented||Un(b??document.body,{select:!0}),h.removeEventListener(vu,w),Ah.remove(_)},0)}}},[h,k,w,_]);const D=g.useCallback(b=>{if(!o&&!a||_.paused)return;const R=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,A=document.activeElement;if(R&&A){const I=b.currentTarget,[V,z]=V0(I);V&&z?!b.shiftKey&&A===z?(b.preventDefault(),o&&Un(V,{select:!0})):b.shiftKey&&A===V&&(b.preventDefault(),o&&Un(z,{select:!0})):A===I&&b.preventDefault()}},[o,a,_.paused]);return d.jsx(ot.div,{tabIndex:-1,...m,ref:P,onKeyDown:D})});Dp.displayName=$0;function B0(r,{select:s=!1}={}){const o=document.activeElement;for(const a of r)if(Un(a,{select:s}),document.activeElement!==o)return}function V0(r){const s=Ap(r),o=Dh(s,r),a=Dh(s.reverse(),r);return[o,a]}function Ap(r){const s=[],o=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const u=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||u?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)s.push(o.currentNode);return s}function Dh(r,s){for(const o of r)if(!H0(o,{upTo:s}))return o}function H0(r,{upTo:s}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(s!==void 0&&r===s)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function W0(r){return r instanceof HTMLInputElement&&"select"in r}function Un(r,{select:s=!1}={}){if(r&&r.focus){const o=document.activeElement;r.focus({preventScroll:!0}),r!==o&&W0(r)&&s&&r.select()}}var Ah=Q0();function Q0(){let r=[];return{add(s){const o=r[0];s!==o&&(o==null||o.pause()),r=zh(r,s),r.unshift(s)},remove(s){var o;r=zh(r,s),(o=r[0])==null||o.resume()}}}function zh(r,s){const o=[...r],a=o.indexOf(s);return a!==-1&&o.splice(a,1),o}function K0(r){return r.filter(s=>s.tagName!=="A")}var q0="Portal",zp=g.forwardRef((r,s)=>{var h;const{container:o,...a}=r,[u,f]=g.useState(!1);_i(()=>f(!0),[]);const m=o||u&&((h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body);return m?Mp.createPortal(d.jsx(ot.div,{...a,ref:s}),m):null});zp.displayName=q0;function G0(r,s){return g.useReducer((o,a)=>s[o][a]??o,r)}var fl=r=>{const{present:s,children:o}=r,a=Z0(s),u=typeof o=="function"?o({present:a.isPresent}):g.Children.only(o),f=Y0(a.ref,X0(u));return typeof o=="function"||a.isPresent?g.cloneElement(u,{ref:f}):null};fl.displayName="Presence";function Z0(r){const[s,o]=g.useState(),a=g.useRef(null),u=g.useRef(r),f=g.useRef("none"),m=r?"mounted":"unmounted",[h,y]=G0(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return g.useEffect(()=>{const k=Yo(a.current);f.current=h==="mounted"?k:"none"},[h]),_i(()=>{const k=a.current,w=u.current;if(w!==r){const P=f.current,_=Yo(k);r?y("MOUNT"):_==="none"||(k==null?void 0:k.display)==="none"?y("UNMOUNT"):y(w&&P!==_?"ANIMATION_OUT":"UNMOUNT"),u.current=r}},[r,y]),_i(()=>{if(s){let k;const w=s.ownerDocument.defaultView??window,x=_=>{const b=Yo(a.current).includes(CSS.escape(_.animationName));if(_.target===s&&b&&(y("ANIMATION_END"),!u.current)){const R=s.style.animationFillMode;s.style.animationFillMode="forwards",k=w.setTimeout(()=>{s.style.animationFillMode==="forwards"&&(s.style.animationFillMode=R)})}},P=_=>{_.target===s&&(f.current=Yo(a.current))};return s.addEventListener("animationstart",P),s.addEventListener("animationcancel",x),s.addEventListener("animationend",x),()=>{w.clearTimeout(k),s.removeEventListener("animationstart",P),s.removeEventListener("animationcancel",x),s.removeEventListener("animationend",x)}}else y("ANIMATION_END")},[s,y]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:g.useCallback(k=>{a.current=k?getComputedStyle(k):null,o(k)},[])}}function Fh(r,s){if(typeof r=="function")return r(s);r!=null&&(r.current=s)}function Y0(...r){const s=g.useRef(r);return s.current=r,g.useCallback(o=>{const a=s.current;let u=!1;const f=a.map(m=>{const h=Fh(m,o);return!u&&typeof h=="function"&&(u=!0),h});if(u)return()=>{for(let m=0;m{Xt||(Xt={start:Ih(),end:Ih()});const{start:r,end:s}=Xt;return document.body.firstElementChild!==r&&document.body.insertAdjacentElement("afterbegin",r),document.body.lastElementChild!==s&&document.body.insertAdjacentElement("beforeend",s),Xo++,()=>{Xo===1&&(Xt==null||Xt.start.remove(),Xt==null||Xt.end.remove(),Xt=null),Xo=Math.max(0,Xo-1)}},[])}function Ih(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var nn=function(){return nn=Object.assign||function(s){for(var o,a=1,u=arguments.length;a"u")return gx;var s=vx(r),o=document.documentElement.clientWidth,a=window.innerWidth;return{left:s[0],top:s[1],right:s[2],gap:Math.max(0,a-o+s[2]-s[0])}},xx=$p(),os="data-scroll-locked",wx=function(r,s,o,a){var u=r.left,f=r.top,m=r.right,h=r.gap;return o===void 0&&(o="margin"),` - .`.concat(tx,` { - overflow: hidden `).concat(a,`; - padding-right: `).concat(h,"px ").concat(a,`; - } - body[`).concat(os,`] { - overflow: hidden `).concat(a,`; - overscroll-behavior: contain; - `).concat([s&&"position: relative ".concat(a,";"),o==="margin"&&` - padding-left: `.concat(u,`px; - padding-top: `).concat(f,`px; - padding-right: `).concat(m,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(h,"px ").concat(a,`; - `),o==="padding"&&"padding-right: ".concat(h,"px ").concat(a,";")].filter(Boolean).join(""),` - } - - .`).concat(rl,` { - right: `).concat(h,"px ").concat(a,`; - } - - .`).concat(sl,` { - margin-right: `).concat(h,"px ").concat(a,`; - } - - .`).concat(rl," .").concat(rl,` { - right: 0 `).concat(a,`; - } - - .`).concat(sl," .").concat(sl,` { - margin-right: 0 `).concat(a,`; - } - - body[`).concat(os,`] { - `).concat(nx,": ").concat(h,`px; - } -`)},$h=function(){var r=parseInt(document.body.getAttribute(os)||"0",10);return isFinite(r)?r:0},kx=function(){g.useEffect(function(){return document.body.setAttribute(os,($h()+1).toString()),function(){var r=$h()-1;r<=0?document.body.removeAttribute(os):document.body.setAttribute(os,r.toString())}},[])},bx=function(r){var s=r.noRelative,o=r.noImportant,a=r.gapMode,u=a===void 0?"margin":a;kx();var f=g.useMemo(function(){return yx(u)},[u]);return g.createElement(xx,{styles:wx(f,!s,u,o?"":"!important")})},Vu=!1;if(typeof window<"u")try{var Jo=Object.defineProperty({},"passive",{get:function(){return Vu=!0,!0}});window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Vu=!1}var Yr=Vu?{passive:!1}:!1,Sx=function(r){return r.tagName==="TEXTAREA"},Bp=function(r,s){if(!(r instanceof Element))return!1;var o=window.getComputedStyle(r);return o[s]!=="hidden"&&!(o.overflowY===o.overflowX&&!Sx(r)&&o[s]==="visible")},Ex=function(r){return Bp(r,"overflowY")},Nx=function(r){return Bp(r,"overflowX")},Bh=function(r,s){var o=s.ownerDocument,a=s;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var u=Vp(r,a);if(u){var f=Hp(r,a),m=f[1],h=f[2];if(m>h)return!0}a=a.parentNode}while(a&&a!==o.body);return!1},jx=function(r){var s=r.scrollTop,o=r.scrollHeight,a=r.clientHeight;return[s,o,a]},Cx=function(r){var s=r.scrollLeft,o=r.scrollWidth,a=r.clientWidth;return[s,o,a]},Vp=function(r,s){return r==="v"?Ex(s):Nx(s)},Hp=function(r,s){return r==="v"?jx(s):Cx(s)},_x=function(r,s){return r==="h"&&s==="rtl"?-1:1},Px=function(r,s,o,a,u){var f=_x(r,window.getComputedStyle(s).direction),m=f*a,h=o.target,y=s.contains(h),k=!1,w=m>0,x=0,P=0;do{if(!h)break;var _=Hp(r,h),D=_[0],b=_[1],R=_[2],A=b-R-f*D;(D||A)&&Vp(r,h)&&(x+=A,P+=D);var I=h.parentNode;h=I&&I.nodeType===Node.DOCUMENT_FRAGMENT_NODE?I.host:I}while(!y&&h!==document.body||y&&(s.contains(h)||s===h));return(w&&Math.abs(x)<1||!w&&Math.abs(P)<1)&&(k=!0),k},el=function(r){return"changedTouches"in r?[r.changedTouches[0].clientX,r.changedTouches[0].clientY]:[0,0]},Vh=function(r){return[r.deltaX,r.deltaY]},Hh=function(r){return r&&"current"in r?r.current:r},Rx=function(r,s){return r[0]===s[0]&&r[1]===s[1]},Mx=function(r){return` - .block-interactivity-`.concat(r,` {pointer-events: none;} - .allow-interactivity-`).concat(r,` {pointer-events: all;} -`)},Ox=0,Xr=[];function Tx(r){var s=g.useRef([]),o=g.useRef([0,0]),a=g.useRef(),u=g.useState(Ox++)[0],f=g.useState($p)[0],m=g.useRef(r);g.useEffect(function(){m.current=r},[r]),g.useEffect(function(){if(r.inert){document.body.classList.add("block-interactivity-".concat(u));var b=ex([r.lockRef.current],(r.shards||[]).map(Hh),!0).filter(Boolean);return b.forEach(function(R){return R.classList.add("allow-interactivity-".concat(u))}),function(){document.body.classList.remove("block-interactivity-".concat(u)),b.forEach(function(R){return R.classList.remove("allow-interactivity-".concat(u))})}}},[r.inert,r.lockRef.current,r.shards]);var h=g.useCallback(function(b,R){if("touches"in b&&b.touches.length===2||b.type==="wheel"&&b.ctrlKey)return!m.current.allowPinchZoom;var A=el(b),I=o.current,V="deltaX"in b?b.deltaX:I[0]-A[0],z="deltaY"in b?b.deltaY:I[1]-A[1],K,G=b.target,ue=Math.abs(V)>Math.abs(z)?"h":"v";if("touches"in b&&ue==="h"&&G.type==="range")return!1;var oe=window.getSelection(),ee=oe&&oe.anchorNode,me=ee?ee===G||ee.contains(G):!1;if(me)return!1;var ke=Bh(ue,G);if(!ke)return!0;if(ke?K=ue:(K=ue==="v"?"h":"v",ke=Bh(ue,G)),!ke)return!1;if(!a.current&&"changedTouches"in b&&(V||z)&&(a.current=K),!K)return!0;var le=a.current||K;return Px(le,R,b,le==="h"?V:z)},[]),y=g.useCallback(function(b){var R=b;if(!(!Xr.length||Xr[Xr.length-1]!==f)){var A="deltaY"in R?Vh(R):el(R),I=s.current.filter(function(K){return K.name===R.type&&(K.target===R.target||R.target===K.shadowParent)&&Rx(K.delta,A)})[0];if(I&&I.should){R.cancelable&&R.preventDefault();return}if(!I){var V=(m.current.shards||[]).map(Hh).filter(Boolean).filter(function(K){return K.contains(R.target)}),z=V.length>0?h(R,V[0]):!m.current.noIsolation;z&&R.cancelable&&R.preventDefault()}}},[]),k=g.useCallback(function(b,R,A,I){var V={name:b,delta:R,target:A,should:I,shadowParent:Lx(A)};s.current.push(V),setTimeout(function(){s.current=s.current.filter(function(z){return z!==V})},1)},[]),w=g.useCallback(function(b){o.current=el(b),a.current=void 0},[]),x=g.useCallback(function(b){k(b.type,Vh(b),b.target,h(b,r.lockRef.current))},[]),P=g.useCallback(function(b){k(b.type,el(b),b.target,h(b,r.lockRef.current))},[]);g.useEffect(function(){return Xr.push(f),r.setCallbacks({onScrollCapture:x,onWheelCapture:x,onTouchMoveCapture:P}),document.addEventListener("wheel",y,Yr),document.addEventListener("touchmove",y,Yr),document.addEventListener("touchstart",w,Yr),function(){Xr=Xr.filter(function(b){return b!==f}),document.removeEventListener("wheel",y,Yr),document.removeEventListener("touchmove",y,Yr),document.removeEventListener("touchstart",w,Yr)}},[]);var _=r.removeScrollBar,D=r.inert;return g.createElement(g.Fragment,null,D?g.createElement(f,{styles:Mx(u)}):null,_?g.createElement(bx,{noRelative:r.noRelative,gapMode:r.gapMode}):null)}function Lx(r){for(var s=null;r!==null;)r instanceof ShadowRoot&&(s=r.host,r=r.host),r=r.parentNode;return s}const Dx=ux(Up,Tx);var Wp=g.forwardRef(function(r,s){return g.createElement(hl,nn({},r,{ref:s,sideCar:Dx}))});Wp.classNames=hl.classNames;var Ax=function(r){if(typeof document>"u")return null;var s=Array.isArray(r)?r[0]:r;return s.ownerDocument.body},Jr=new WeakMap,tl=new WeakMap,nl={},ku=0,Qp=function(r){return r&&(r.host||Qp(r.parentNode))},zx=function(r,s){return s.map(function(o){if(r.contains(o))return o;var a=Qp(o);return a&&r.contains(a)?a:(console.error("aria-hidden",o,"in not contained inside",r,". Doing nothing"),null)}).filter(function(o){return!!o})},Fx=function(r,s,o,a){var u=zx(s,Array.isArray(r)?r:[r]);nl[o]||(nl[o]=new WeakMap);var f=nl[o],m=[],h=new Set,y=new Set(u),k=function(x){!x||h.has(x)||(h.add(x),k(x.parentNode))};u.forEach(k);var w=function(x){!x||y.has(x)||Array.prototype.forEach.call(x.children,function(P){if(h.has(P))w(P);else try{var _=P.getAttribute(a),D=_!==null&&_!=="false",b=(Jr.get(P)||0)+1,R=(f.get(P)||0)+1;Jr.set(P,b),f.set(P,R),m.push(P),b===1&&D&&tl.set(P,!0),R===1&&P.setAttribute(o,"true"),D||P.setAttribute(a,"true")}catch(A){console.error("aria-hidden: cannot operate on ",P,A)}})};return w(s),h.clear(),ku++,function(){m.forEach(function(x){var P=Jr.get(x)-1,_=f.get(x)-1;Jr.set(x,P),f.set(x,_),P||(tl.has(x)||x.removeAttribute(a),tl.delete(x)),_||x.removeAttribute(o)}),ku--,ku||(Jr=new WeakMap,Jr=new WeakMap,tl=new WeakMap,nl={})}},Ix=function(r,s,o){o===void 0&&(o="data-aria-hidden");var a=Array.from(Array.isArray(r)?r:[r]),u=Ax(r);return u?(a.push.apply(a,Array.from(u.querySelectorAll("[aria-live], script"))),Fx(a,u,o,"aria-hidden")):function(){return null}},pl="Dialog",[Kp]=h0(pl),[Ux,Qt]=Kp(pl),qp=r=>{const{__scopeDialog:s,children:o,open:a,defaultOpen:u,onOpenChange:f,modal:m=!0}=r,h=g.useRef(null),y=g.useRef(null),[k,w]=y0({prop:a,defaultProp:u??!1,onChange:f,caller:pl});return d.jsx(Ux,{scope:s,triggerRef:h,contentRef:y,contentId:vn(),titleId:vn(),descriptionId:vn(),open:k,onOpenChange:w,onOpenToggle:g.useCallback(()=>w(x=>!x),[w]),modal:m,children:o})};qp.displayName=pl;var Gp="DialogTrigger",$x=g.forwardRef((r,s)=>{const{__scopeDialog:o,...a}=r,u=Qt(Gp,o),f=br(s,u.triggerRef);return d.jsx(ot.button,{type:"button","aria-haspopup":"dialog","aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":cc(u.open),...a,ref:f,onClick:Zn(r.onClick,u.onOpenToggle)})});$x.displayName=Gp;var uc="DialogPortal",[Bx,Zp]=Kp(uc,{forceMount:void 0}),Yp=r=>{const{__scopeDialog:s,forceMount:o,children:a,container:u}=r,f=Qt(uc,s);return d.jsx(Bx,{scope:s,forceMount:o,children:g.Children.map(a,m=>d.jsx(fl,{present:o||f.open,children:d.jsx(zp,{asChild:!0,container:u,children:m})}))})};Yp.displayName=uc;var ll="DialogOverlay",Xp=g.forwardRef((r,s)=>{const o=Zp(ll,r.__scopeDialog),{forceMount:a=o.forceMount,...u}=r,f=Qt(ll,r.__scopeDialog);return f.modal?d.jsx(fl,{present:a||f.open,children:d.jsx(Hx,{...u,ref:s})}):null});Xp.displayName=ll;var Vx=Op("DialogOverlay.RemoveScroll"),Hx=g.forwardRef((r,s)=>{const{__scopeDialog:o,...a}=r,u=Qt(ll,o),f=F0(),m=br(s,f);return d.jsx(Wp,{as:Vx,allowPinchZoom:!0,shards:[u.contentRef],children:d.jsx(ot.div,{"data-state":cc(u.open),...a,ref:m,style:{pointerEvents:"auto",...a.style}})})}),bs="DialogContent",Jp=g.forwardRef((r,s)=>{const o=Zp(bs,r.__scopeDialog),{forceMount:a=o.forceMount,...u}=r,f=Qt(bs,r.__scopeDialog);return d.jsx(fl,{present:a||f.open,children:f.modal?d.jsx(Wx,{...u,ref:s}):d.jsx(Qx,{...u,ref:s})})});Jp.displayName=bs;var Wx=g.forwardRef((r,s)=>{const o=Qt(bs,r.__scopeDialog),a=g.useRef(null),u=br(s,o.contentRef,a);return g.useEffect(()=>{const f=a.current;if(f)return Ix(f)},[]),d.jsx(em,{...r,ref:u,trapFocus:o.open,disableOutsidePointerEvents:o.open,onCloseAutoFocus:Zn(r.onCloseAutoFocus,f=>{var m;f.preventDefault(),(m=o.triggerRef.current)==null||m.focus()}),onPointerDownOutside:Zn(r.onPointerDownOutside,f=>{const m=f.detail.originalEvent,h=m.button===0&&m.ctrlKey===!0;(m.button===2||h)&&f.preventDefault()}),onFocusOutside:Zn(r.onFocusOutside,f=>f.preventDefault())})}),Qx=g.forwardRef((r,s)=>{const o=Qt(bs,r.__scopeDialog),a=g.useRef(!1),u=g.useRef(!1);return d.jsx(em,{...r,ref:s,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:f=>{var m,h;(m=r.onCloseAutoFocus)==null||m.call(r,f),f.defaultPrevented||(a.current||(h=o.triggerRef.current)==null||h.focus(),f.preventDefault()),a.current=!1,u.current=!1},onInteractOutside:f=>{var y,k;(y=r.onInteractOutside)==null||y.call(r,f),f.defaultPrevented||(a.current=!0,f.detail.originalEvent.type==="pointerdown"&&(u.current=!0));const m=f.target;((k=o.triggerRef.current)==null?void 0:k.contains(m))&&f.preventDefault(),f.detail.originalEvent.type==="focusin"&&u.current&&f.preventDefault()}})}),em=g.forwardRef((r,s)=>{const{__scopeDialog:o,trapFocus:a,onOpenAutoFocus:u,onCloseAutoFocus:f,...m}=r,h=Qt(bs,o);return J0(),d.jsx(d.Fragment,{children:d.jsx(Dp,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:u,onUnmountAutoFocus:f,children:d.jsx(Tp,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":cc(h.open),...m,ref:s,deferPointerDownOutside:!0,onDismiss:()=>h.onOpenChange(!1)})})})}),tm="DialogTitle",Kx=g.forwardRef((r,s)=>{const{__scopeDialog:o,...a}=r,u=Qt(tm,o);return d.jsx(ot.h2,{id:u.titleId,...a,ref:s})});Kx.displayName=tm;var nm="DialogDescription",qx=g.forwardRef((r,s)=>{const{__scopeDialog:o,...a}=r,u=Qt(nm,o);return d.jsx(ot.p,{id:u.descriptionId,...a,ref:s})});qx.displayName=nm;var rm="DialogClose",Gx=g.forwardRef((r,s)=>{const{__scopeDialog:o,...a}=r,u=Qt(rm,o);return d.jsx(ot.button,{type:"button",...a,ref:s,onClick:Zn(r.onClick,()=>u.onOpenChange(!1))})});Gx.displayName=rm;function cc(r){return r?"open":"closed"}var hi='[cmdk-group=""]',bu='[cmdk-group-items=""]',Zx='[cmdk-group-heading=""]',sm='[cmdk-item=""]',Wh=`${sm}:not([aria-disabled="true"])`,Hu="cmdk-item-select",ns="data-value",Yx=(r,s,o)=>f0(r,s,o),im=g.createContext(void 0),Ai=()=>g.useContext(im),om=g.createContext(void 0),dc=()=>g.useContext(om),lm=g.createContext(void 0),am=g.forwardRef((r,s)=>{let o=rs(()=>{var N,q;return{search:"",value:(q=(N=r.value)!=null?N:r.defaultValue)!=null?q:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),a=rs(()=>new Set),u=rs(()=>new Map),f=rs(()=>new Map),m=rs(()=>new Set),h=um(r),{label:y,children:k,value:w,onValueChange:x,filter:P,shouldFilter:_,loop:D,disablePointerSelection:b=!1,vimBindings:R=!0,...A}=r,I=vn(),V=vn(),z=vn(),K=g.useRef(null),G=a1();kr(()=>{if(w!==void 0){let N=w.trim();o.current.value=N,ue.emit()}},[w]),kr(()=>{G(6,Le)},[]);let ue=g.useMemo(()=>({subscribe:N=>(m.current.add(N),()=>m.current.delete(N)),snapshot:()=>o.current,setState:(N,q,Y)=>{var W,se,de,ye;if(!Object.is(o.current[N],q)){if(o.current[N]=q,N==="search")le(),me(),G(1,ke);else if(N==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let we=document.getElementById(z);we?we.focus():(W=document.getElementById(I))==null||W.focus()}if(G(7,()=>{var we;o.current.selectedItemId=(we=Z())==null?void 0:we.id,ue.emit()}),Y||G(5,Le),((se=h.current)==null?void 0:se.value)!==void 0){let we=q??"";(ye=(de=h.current).onValueChange)==null||ye.call(de,we);return}}ue.emit()}},emit:()=>{m.current.forEach(N=>N())}}),[]),oe=g.useMemo(()=>({value:(N,q,Y)=>{var W;q!==((W=f.current.get(N))==null?void 0:W.value)&&(f.current.set(N,{value:q,keywords:Y}),o.current.filtered.items.set(N,ee(q,Y)),G(2,()=>{me(),ue.emit()}))},item:(N,q)=>(a.current.add(N),q&&(u.current.has(q)?u.current.get(q).add(N):u.current.set(q,new Set([N]))),G(3,()=>{le(),me(),o.current.value||ke(),ue.emit()}),()=>{f.current.delete(N),a.current.delete(N),o.current.filtered.items.delete(N);let Y=Z();G(4,()=>{le(),(Y==null?void 0:Y.getAttribute("id"))===N&&ke(),ue.emit()})}),group:N=>(u.current.has(N)||u.current.set(N,new Set),()=>{f.current.delete(N),u.current.delete(N)}),filter:()=>h.current.shouldFilter,label:y||r["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:I,inputId:z,labelId:V,listInnerRef:K}),[]);function ee(N,q){var Y,W;let se=(W=(Y=h.current)==null?void 0:Y.filter)!=null?W:Yx;return N?se(N,o.current.search,q):0}function me(){if(!o.current.search||h.current.shouldFilter===!1)return;let N=o.current.filtered.items,q=[];o.current.filtered.groups.forEach(W=>{let se=u.current.get(W),de=0;se.forEach(ye=>{let we=N.get(ye);de=Math.max(we,de)}),q.push([W,de])});let Y=K.current;ce().sort((W,se)=>{var de,ye;let we=W.getAttribute("id"),Ge=se.getAttribute("id");return((de=N.get(Ge))!=null?de:0)-((ye=N.get(we))!=null?ye:0)}).forEach(W=>{let se=W.closest(bu);se?se.appendChild(W.parentElement===se?W:W.closest(`${bu} > *`)):Y.appendChild(W.parentElement===Y?W:W.closest(`${bu} > *`))}),q.sort((W,se)=>se[1]-W[1]).forEach(W=>{var se;let de=(se=K.current)==null?void 0:se.querySelector(`${hi}[${ns}="${encodeURIComponent(W[0])}"]`);de==null||de.parentElement.appendChild(de)})}function ke(){let N=ce().find(Y=>Y.getAttribute("aria-disabled")!=="true"),q=N==null?void 0:N.getAttribute(ns);ue.setState("value",q||void 0)}function le(){var N,q,Y,W;if(!o.current.search||h.current.shouldFilter===!1){o.current.filtered.count=a.current.size;return}o.current.filtered.groups=new Set;let se=0;for(let de of a.current){let ye=(q=(N=f.current.get(de))==null?void 0:N.value)!=null?q:"",we=(W=(Y=f.current.get(de))==null?void 0:Y.keywords)!=null?W:[],Ge=ee(ye,we);o.current.filtered.items.set(de,Ge),Ge>0&&se++}for(let[de,ye]of u.current)for(let we of ye)if(o.current.filtered.items.get(we)>0){o.current.filtered.groups.add(de);break}o.current.filtered.count=se}function Le(){var N,q,Y;let W=Z();W&&(((N=W.parentElement)==null?void 0:N.firstChild)===W&&((Y=(q=W.closest(hi))==null?void 0:q.querySelector(Zx))==null||Y.scrollIntoView({block:"nearest"})),W.scrollIntoView({block:"nearest"}))}function Z(){var N;return(N=K.current)==null?void 0:N.querySelector(`${sm}[aria-selected="true"]`)}function ce(){var N;return Array.from(((N=K.current)==null?void 0:N.querySelectorAll(Wh))||[])}function Ce(N){let q=ce()[N];q&&ue.setState("value",q.getAttribute(ns))}function Ne(N){var q;let Y=Z(),W=ce(),se=W.findIndex(ye=>ye===Y),de=W[se+N];(q=h.current)!=null&&q.loop&&(de=se+N<0?W[W.length-1]:se+N===W.length?W[0]:W[se+N]),de&&ue.setState("value",de.getAttribute(ns))}function F(N){let q=Z(),Y=q==null?void 0:q.closest(hi),W;for(;Y&&!W;)Y=N>0?o1(Y,hi):l1(Y,hi),W=Y==null?void 0:Y.querySelector(Wh);W?ue.setState("value",W.getAttribute(ns)):Ne(N)}let ne=()=>Ce(ce().length-1),Q=N=>{N.preventDefault(),N.metaKey?ne():N.altKey?F(1):Ne(1)},C=N=>{N.preventDefault(),N.metaKey?Ce(0):N.altKey?F(-1):Ne(-1)};return g.createElement(ot.div,{ref:s,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:N=>{var q;(q=A.onKeyDown)==null||q.call(A,N);let Y=N.nativeEvent.isComposing||N.keyCode===229;if(!(N.defaultPrevented||Y))switch(N.key){case"n":case"j":{R&&N.ctrlKey&&Q(N);break}case"ArrowDown":{Q(N);break}case"p":case"k":{R&&N.ctrlKey&&C(N);break}case"ArrowUp":{C(N);break}case"Home":{N.preventDefault(),Ce(0);break}case"End":{N.preventDefault(),ne();break}case"Enter":{N.preventDefault();let W=Z();if(W){let se=new Event(Hu);W.dispatchEvent(se)}}}}},g.createElement("label",{"cmdk-label":"",htmlFor:oe.inputId,id:oe.labelId,style:c1},y),ml(r,N=>g.createElement(om.Provider,{value:ue},g.createElement(im.Provider,{value:oe},N))))}),Xx=g.forwardRef((r,s)=>{var o,a;let u=vn(),f=g.useRef(null),m=g.useContext(lm),h=Ai(),y=um(r),k=(a=(o=y.current)==null?void 0:o.forceMount)!=null?a:m==null?void 0:m.forceMount;kr(()=>{if(!k)return h.item(u,m==null?void 0:m.id)},[k]);let w=cm(u,f,[r.value,r.children,f],r.keywords),x=dc(),P=Yn(G=>G.value&&G.value===w.current),_=Yn(G=>k||h.filter()===!1?!0:G.search?G.filtered.items.get(u)>0:!0);g.useEffect(()=>{let G=f.current;if(!(!G||r.disabled))return G.addEventListener(Hu,D),()=>G.removeEventListener(Hu,D)},[_,r.onSelect,r.disabled]);function D(){var G,ue;b(),(ue=(G=y.current).onSelect)==null||ue.call(G,w.current)}function b(){x.setState("value",w.current,!0)}if(!_)return null;let{disabled:R,value:A,onSelect:I,forceMount:V,keywords:z,...K}=r;return g.createElement(ot.div,{ref:ks(f,s),...K,id:u,"cmdk-item":"",role:"option","aria-disabled":!!R,"aria-selected":!!P,"data-disabled":!!R,"data-selected":!!P,onPointerMove:R||h.getDisablePointerSelection()?void 0:b,onClick:R?void 0:D},r.children)}),Jx=g.forwardRef((r,s)=>{let{heading:o,children:a,forceMount:u,...f}=r,m=vn(),h=g.useRef(null),y=g.useRef(null),k=vn(),w=Ai(),x=Yn(_=>u||w.filter()===!1?!0:_.search?_.filtered.groups.has(m):!0);kr(()=>w.group(m),[]),cm(m,h,[r.value,r.heading,y]);let P=g.useMemo(()=>({id:m,forceMount:u}),[u]);return g.createElement(ot.div,{ref:ks(h,s),...f,"cmdk-group":"",role:"presentation",hidden:x?void 0:!0},o&&g.createElement("div",{ref:y,"cmdk-group-heading":"","aria-hidden":!0,id:k},o),ml(r,_=>g.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":o?k:void 0},g.createElement(lm.Provider,{value:P},_))))}),e1=g.forwardRef((r,s)=>{let{alwaysRender:o,...a}=r,u=g.useRef(null),f=Yn(m=>!m.search);return!o&&!f?null:g.createElement(ot.div,{ref:ks(u,s),...a,"cmdk-separator":"",role:"separator"})}),t1=g.forwardRef((r,s)=>{let{onValueChange:o,...a}=r,u=r.value!=null,f=dc(),m=Yn(k=>k.search),h=Yn(k=>k.selectedItemId),y=Ai();return g.useEffect(()=>{r.value!=null&&f.setState("search",r.value)},[r.value]),g.createElement(ot.input,{ref:s,...a,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":y.listId,"aria-labelledby":y.labelId,"aria-activedescendant":h,id:y.inputId,type:"text",value:u?r.value:m,onChange:k=>{u||f.setState("search",k.target.value),o==null||o(k.target.value)}})}),n1=g.forwardRef((r,s)=>{let{children:o,label:a="Suggestions",...u}=r,f=g.useRef(null),m=g.useRef(null),h=Yn(k=>k.selectedItemId),y=Ai();return g.useEffect(()=>{if(m.current&&f.current){let k=m.current,w=f.current,x,P=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let _=k.offsetHeight;w.style.setProperty("--cmdk-list-height",_.toFixed(1)+"px")})});return P.observe(k),()=>{cancelAnimationFrame(x),P.unobserve(k)}}},[]),g.createElement(ot.div,{ref:ks(f,s),...u,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":a,id:y.listId},ml(r,k=>g.createElement("div",{ref:ks(m,y.listInnerRef),"cmdk-list-sizer":""},k)))}),r1=g.forwardRef((r,s)=>{let{open:o,onOpenChange:a,overlayClassName:u,contentClassName:f,container:m,...h}=r;return g.createElement(qp,{open:o,onOpenChange:a},g.createElement(Yp,{container:m},g.createElement(Xp,{"cmdk-overlay":"",className:u}),g.createElement(Jp,{"aria-label":r.label,"cmdk-dialog":"",className:f},g.createElement(am,{ref:s,...h}))))}),s1=g.forwardRef((r,s)=>Yn(o=>o.filtered.count===0)?g.createElement(ot.div,{ref:s,...r,"cmdk-empty":"",role:"presentation"}):null),i1=g.forwardRef((r,s)=>{let{progress:o,children:a,label:u="Loading...",...f}=r;return g.createElement(ot.div,{ref:s,...f,"cmdk-loading":"",role:"progressbar","aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,"aria-label":u},ml(r,m=>g.createElement("div",{"aria-hidden":!0},m)))}),es=Object.assign(am,{List:n1,Item:Xx,Input:t1,Group:Jx,Separator:e1,Dialog:r1,Empty:s1,Loading:i1});function o1(r,s){let o=r.nextElementSibling;for(;o;){if(o.matches(s))return o;o=o.nextElementSibling}}function l1(r,s){let o=r.previousElementSibling;for(;o;){if(o.matches(s))return o;o=o.previousElementSibling}}function um(r){let s=g.useRef(r);return kr(()=>{s.current=r}),s}var kr=typeof window>"u"?g.useEffect:g.useLayoutEffect;function rs(r){let s=g.useRef();return s.current===void 0&&(s.current=r()),s}function Yn(r){let s=dc(),o=()=>r(s.snapshot());return g.useSyncExternalStore(s.subscribe,o,o)}function cm(r,s,o,a=[]){let u=g.useRef(),f=Ai();return kr(()=>{var m;let h=(()=>{var k;for(let w of o){if(typeof w=="string")return w.trim();if(typeof w=="object"&&"current"in w)return w.current?(k=w.current.textContent)==null?void 0:k.trim():u.current}})(),y=a.map(k=>k.trim());f.value(r,h,y),(m=s.current)==null||m.setAttribute(ns,h),u.current=h}),u}var a1=()=>{let[r,s]=g.useState(),o=rs(()=>new Map);return kr(()=>{o.current.forEach(a=>a()),o.current=new Map},[r]),(a,u)=>{o.current.set(a,u),s({})}};function u1(r){let s=r.type;return typeof s=="function"?s(r.props):"render"in s?s.render(r.props):r}function ml({asChild:r,children:s},o){return r&&g.isValidElement(s)?g.cloneElement(u1(s),{ref:s.ref},o(s.props.children)):o(s)}var c1={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function d1({onNavigate:r}){const[s,o]=g.useState(!1);return g.useEffect(()=>{const a=u=>{(u.metaKey||u.ctrlKey)&&u.key.toLowerCase()==="k"&&(u.preventDefault(),o(f=>!f))};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[]),d.jsx(es.Dialog,{open:s,onOpenChange:o,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>o(!1),children:d.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:a=>a.stopPropagation(),children:[d.jsx(es.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),d.jsxs(es.List,{className:"max-h-80 overflow-y-auto p-2",children:[d.jsx(es.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),d.jsx(es.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:is.map(a=>d.jsxs(es.Item,{value:`${a.label} ${a.hint}`,onSelect:()=>{r(a.id),o(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[d.jsx(a.icon,{className:"h-4 w-4 text-primary"}),d.jsx("span",{children:a.label}),d.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:a.hint})]},a.id))})]})]})})}const dm="mc_expert_mode",Wu="mc-expert-mode-change",f1=()=>{try{return localStorage.getItem(dm)==="true"}catch{return!1}};function h1(r){return window.addEventListener(Wu,r),window.addEventListener("storage",r),()=>{window.removeEventListener(Wu,r),window.removeEventListener("storage",r)}}function Qh(r){localStorage.setItem(dm,String(r)),window.dispatchEvent(new Event(Wu))}function p1(){return g.useSyncExternalStore(h1,f1,()=>!1)}function fm(r){var s,o,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var u=r.length;for(s=0;s{const s=y1(r),{conflictingClassGroups:o,conflictingClassGroupModifiers:a}=r;return{getClassGroupId:m=>{const h=m.split(fc);return h[0]===""&&h.length!==1&&h.shift(),hm(h,s)||v1(m)},getConflictingClassGroupIds:(m,h)=>{const y=o[m]||[];return h&&a[m]?[...y,...a[m]]:y}}},hm=(r,s)=>{var m;if(r.length===0)return s.classGroupId;const o=r[0],a=s.nextPart.get(o),u=a?hm(r.slice(1),a):void 0;if(u)return u;if(s.validators.length===0)return;const f=r.join(fc);return(m=s.validators.find(({validator:h})=>h(f)))==null?void 0:m.classGroupId},Kh=/^\[(.+)\]$/,v1=r=>{if(Kh.test(r)){const s=Kh.exec(r)[1],o=s==null?void 0:s.substring(0,s.indexOf(":"));if(o)return"arbitrary.."+o}},y1=r=>{const{theme:s,prefix:o}=r,a={nextPart:new Map,validators:[]};return w1(Object.entries(r.classGroups),o).forEach(([f,m])=>{Qu(m,a,f,s)}),a},Qu=(r,s,o,a)=>{r.forEach(u=>{if(typeof u=="string"){const f=u===""?s:qh(s,u);f.classGroupId=o;return}if(typeof u=="function"){if(x1(u)){Qu(u(a),s,o,a);return}s.validators.push({validator:u,classGroupId:o});return}Object.entries(u).forEach(([f,m])=>{Qu(m,qh(s,f),o,a)})})},qh=(r,s)=>{let o=r;return s.split(fc).forEach(a=>{o.nextPart.has(a)||o.nextPart.set(a,{nextPart:new Map,validators:[]}),o=o.nextPart.get(a)}),o},x1=r=>r.isThemeGetter,w1=(r,s)=>s?r.map(([o,a])=>{const u=a.map(f=>typeof f=="string"?s+f:typeof f=="object"?Object.fromEntries(Object.entries(f).map(([m,h])=>[s+m,h])):f);return[o,u]}):r,k1=r=>{if(r<1)return{get:()=>{},set:()=>{}};let s=0,o=new Map,a=new Map;const u=(f,m)=>{o.set(f,m),s++,s>r&&(s=0,a=o,o=new Map)};return{get(f){let m=o.get(f);if(m!==void 0)return m;if((m=a.get(f))!==void 0)return u(f,m),m},set(f,m){o.has(f)?o.set(f,m):u(f,m)}}},pm="!",b1=r=>{const{separator:s,experimentalParseClassName:o}=r,a=s.length===1,u=s[0],f=s.length,m=h=>{const y=[];let k=0,w=0,x;for(let R=0;Rw?x-w:void 0;return{modifiers:y,hasImportantModifier:_,baseClassName:D,maybePostfixModifierPosition:b}};return o?h=>o({className:h,parseClassName:m}):m},S1=r=>{if(r.length<=1)return r;const s=[];let o=[];return r.forEach(a=>{a[0]==="["?(s.push(...o.sort(),a),o=[]):o.push(a)}),s.push(...o.sort()),s},E1=r=>({cache:k1(r.cacheSize),parseClassName:b1(r),...g1(r)}),N1=/\s+/,j1=(r,s)=>{const{parseClassName:o,getClassGroupId:a,getConflictingClassGroupIds:u}=s,f=[],m=r.trim().split(N1);let h="";for(let y=m.length-1;y>=0;y-=1){const k=m[y],{modifiers:w,hasImportantModifier:x,baseClassName:P,maybePostfixModifierPosition:_}=o(k);let D=!!_,b=a(D?P.substring(0,_):P);if(!b){if(!D){h=k+(h.length>0?" "+h:h);continue}if(b=a(P),!b){h=k+(h.length>0?" "+h:h);continue}D=!1}const R=S1(w).join(":"),A=x?R+pm:R,I=A+b;if(f.includes(I))continue;f.push(I);const V=u(b,D);for(let z=0;z0?" "+h:h)}return h};function C1(){let r=0,s,o,a="";for(;r{if(typeof r=="string")return r;let s,o="";for(let a=0;ax(w),r());return o=E1(k),a=o.cache.get,u=o.cache.set,f=h,h(y)}function h(y){const k=a(y);if(k)return k;const w=j1(y,o);return u(y,w),w}return function(){return f(C1.apply(null,arguments))}}const Ue=r=>{const s=o=>o[r]||[];return s.isThemeGetter=!0,s},gm=/^\[(?:([a-z-]+):)?(.+)\]$/i,P1=/^\d+\/\d+$/,R1=new Set(["px","full","screen"]),M1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,O1=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,T1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,L1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,D1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,hn=r=>ls(r)||R1.has(r)||P1.test(r),zn=r=>Es(r,"length",V1),ls=r=>!!r&&!Number.isNaN(Number(r)),Su=r=>Es(r,"number",ls),pi=r=>!!r&&Number.isInteger(Number(r)),A1=r=>r.endsWith("%")&&ls(r.slice(0,-1)),be=r=>gm.test(r),Fn=r=>M1.test(r),z1=new Set(["length","size","percentage"]),F1=r=>Es(r,z1,vm),I1=r=>Es(r,"position",vm),U1=new Set(["image","url"]),$1=r=>Es(r,U1,W1),B1=r=>Es(r,"",H1),mi=()=>!0,Es=(r,s,o)=>{const a=gm.exec(r);return a?a[1]?typeof s=="string"?a[1]===s:s.has(a[1]):o(a[2]):!1},V1=r=>O1.test(r)&&!T1.test(r),vm=()=>!1,H1=r=>L1.test(r),W1=r=>D1.test(r),Q1=()=>{const r=Ue("colors"),s=Ue("spacing"),o=Ue("blur"),a=Ue("brightness"),u=Ue("borderColor"),f=Ue("borderRadius"),m=Ue("borderSpacing"),h=Ue("borderWidth"),y=Ue("contrast"),k=Ue("grayscale"),w=Ue("hueRotate"),x=Ue("invert"),P=Ue("gap"),_=Ue("gradientColorStops"),D=Ue("gradientColorStopPositions"),b=Ue("inset"),R=Ue("margin"),A=Ue("opacity"),I=Ue("padding"),V=Ue("saturate"),z=Ue("scale"),K=Ue("sepia"),G=Ue("skew"),ue=Ue("space"),oe=Ue("translate"),ee=()=>["auto","contain","none"],me=()=>["auto","hidden","clip","visible","scroll"],ke=()=>["auto",be,s],le=()=>[be,s],Le=()=>["",hn,zn],Z=()=>["auto",ls,be],ce=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Ce=()=>["solid","dashed","dotted","double","none"],Ne=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],F=()=>["start","end","center","between","around","evenly","stretch"],ne=()=>["","0",be],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>[ls,be];return{cacheSize:500,separator:":",theme:{colors:[mi],spacing:[hn,zn],blur:["none","",Fn,be],brightness:C(),borderColor:[r],borderRadius:["none","","full",Fn,be],borderSpacing:le(),borderWidth:Le(),contrast:C(),grayscale:ne(),hueRotate:C(),invert:ne(),gap:le(),gradientColorStops:[r],gradientColorStopPositions:[A1,zn],inset:ke(),margin:ke(),opacity:C(),padding:le(),saturate:C(),scale:C(),sepia:ne(),skew:C(),space:le(),translate:le()},classGroups:{aspect:[{aspect:["auto","square","video",be]}],container:["container"],columns:[{columns:[Fn]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ce(),be]}],overflow:[{overflow:me()}],"overflow-x":[{"overflow-x":me()}],"overflow-y":[{"overflow-y":me()}],overscroll:[{overscroll:ee()}],"overscroll-x":[{"overscroll-x":ee()}],"overscroll-y":[{"overscroll-y":ee()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",pi,be]}],basis:[{basis:ke()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",be]}],grow:[{grow:ne()}],shrink:[{shrink:ne()}],order:[{order:["first","last","none",pi,be]}],"grid-cols":[{"grid-cols":[mi]}],"col-start-end":[{col:["auto",{span:["full",pi,be]},be]}],"col-start":[{"col-start":Z()}],"col-end":[{"col-end":Z()}],"grid-rows":[{"grid-rows":[mi]}],"row-start-end":[{row:["auto",{span:[pi,be]},be]}],"row-start":[{"row-start":Z()}],"row-end":[{"row-end":Z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",be]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",be]}],gap:[{gap:[P]}],"gap-x":[{"gap-x":[P]}],"gap-y":[{"gap-y":[P]}],"justify-content":[{justify:["normal",...F()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...F(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...F(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[I]}],px:[{px:[I]}],py:[{py:[I]}],ps:[{ps:[I]}],pe:[{pe:[I]}],pt:[{pt:[I]}],pr:[{pr:[I]}],pb:[{pb:[I]}],pl:[{pl:[I]}],m:[{m:[R]}],mx:[{mx:[R]}],my:[{my:[R]}],ms:[{ms:[R]}],me:[{me:[R]}],mt:[{mt:[R]}],mr:[{mr:[R]}],mb:[{mb:[R]}],ml:[{ml:[R]}],"space-x":[{"space-x":[ue]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[ue]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",be,s]}],"min-w":[{"min-w":[be,s,"min","max","fit"]}],"max-w":[{"max-w":[be,s,"none","full","min","max","fit","prose",{screen:[Fn]},Fn]}],h:[{h:[be,s,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[be,s,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[be,s,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[be,s,"auto","min","max","fit"]}],"font-size":[{text:["base",Fn,zn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Su]}],"font-family":[{font:[mi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",be]}],"line-clamp":[{"line-clamp":["none",ls,Su]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",hn,be]}],"list-image":[{"list-image":["none",be]}],"list-style-type":[{list:["none","disc","decimal",be]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[r]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[r]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ce(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",hn,zn]}],"underline-offset":[{"underline-offset":["auto",hn,be]}],"text-decoration-color":[{decoration:[r]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:le()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",be]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",be]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ce(),I1]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",F1]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},$1]}],"bg-color":[{bg:[r]}],"gradient-from-pos":[{from:[D]}],"gradient-via-pos":[{via:[D]}],"gradient-to-pos":[{to:[D]}],"gradient-from":[{from:[_]}],"gradient-via":[{via:[_]}],"gradient-to":[{to:[_]}],rounded:[{rounded:[f]}],"rounded-s":[{"rounded-s":[f]}],"rounded-e":[{"rounded-e":[f]}],"rounded-t":[{"rounded-t":[f]}],"rounded-r":[{"rounded-r":[f]}],"rounded-b":[{"rounded-b":[f]}],"rounded-l":[{"rounded-l":[f]}],"rounded-ss":[{"rounded-ss":[f]}],"rounded-se":[{"rounded-se":[f]}],"rounded-ee":[{"rounded-ee":[f]}],"rounded-es":[{"rounded-es":[f]}],"rounded-tl":[{"rounded-tl":[f]}],"rounded-tr":[{"rounded-tr":[f]}],"rounded-br":[{"rounded-br":[f]}],"rounded-bl":[{"rounded-bl":[f]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...Ce(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:Ce()}],"border-color":[{border:[u]}],"border-color-x":[{"border-x":[u]}],"border-color-y":[{"border-y":[u]}],"border-color-s":[{"border-s":[u]}],"border-color-e":[{"border-e":[u]}],"border-color-t":[{"border-t":[u]}],"border-color-r":[{"border-r":[u]}],"border-color-b":[{"border-b":[u]}],"border-color-l":[{"border-l":[u]}],"divide-color":[{divide:[u]}],"outline-style":[{outline:["",...Ce()]}],"outline-offset":[{"outline-offset":[hn,be]}],"outline-w":[{outline:[hn,zn]}],"outline-color":[{outline:[r]}],"ring-w":[{ring:Le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[r]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[hn,zn]}],"ring-offset-color":[{"ring-offset":[r]}],shadow:[{shadow:["","inner","none",Fn,B1]}],"shadow-color":[{shadow:[mi]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...Ne(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Ne()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[a]}],contrast:[{contrast:[y]}],"drop-shadow":[{"drop-shadow":["","none",Fn,be]}],grayscale:[{grayscale:[k]}],"hue-rotate":[{"hue-rotate":[w]}],invert:[{invert:[x]}],saturate:[{saturate:[V]}],sepia:[{sepia:[K]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[a]}],"backdrop-contrast":[{"backdrop-contrast":[y]}],"backdrop-grayscale":[{"backdrop-grayscale":[k]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w]}],"backdrop-invert":[{"backdrop-invert":[x]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[V]}],"backdrop-sepia":[{"backdrop-sepia":[K]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[m]}],"border-spacing-x":[{"border-spacing-x":[m]}],"border-spacing-y":[{"border-spacing-y":[m]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",be]}],duration:[{duration:C()}],ease:[{ease:["linear","in","out","in-out",be]}],delay:[{delay:C()}],animate:[{animate:["none","spin","ping","pulse","bounce",be]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[z]}],"scale-x":[{"scale-x":[z]}],"scale-y":[{"scale-y":[z]}],rotate:[{rotate:[pi,be]}],"translate-x":[{"translate-x":[oe]}],"translate-y":[{"translate-y":[oe]}],"skew-x":[{"skew-x":[G]}],"skew-y":[{"skew-y":[G]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",be]}],accent:[{accent:["auto",r]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",be]}],"caret-color":[{caret:[r]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":le()}],"scroll-mx":[{"scroll-mx":le()}],"scroll-my":[{"scroll-my":le()}],"scroll-ms":[{"scroll-ms":le()}],"scroll-me":[{"scroll-me":le()}],"scroll-mt":[{"scroll-mt":le()}],"scroll-mr":[{"scroll-mr":le()}],"scroll-mb":[{"scroll-mb":le()}],"scroll-ml":[{"scroll-ml":le()}],"scroll-p":[{"scroll-p":le()}],"scroll-px":[{"scroll-px":le()}],"scroll-py":[{"scroll-py":le()}],"scroll-ps":[{"scroll-ps":le()}],"scroll-pe":[{"scroll-pe":le()}],"scroll-pt":[{"scroll-pt":le()}],"scroll-pr":[{"scroll-pr":le()}],"scroll-pb":[{"scroll-pb":le()}],"scroll-pl":[{"scroll-pl":le()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",be]}],fill:[{fill:[r,"none"]}],"stroke-w":[{stroke:[hn,zn,Su]}],stroke:[{stroke:[r,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},K1=_1(Q1);function Ee(...r){return K1(m1(r))}function tk(r){return r?r.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function q1(){const r=p1();return d.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[d.jsxs("button",{onClick:()=>Qh(!1),"aria-pressed":!r,className:Ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",r?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[d.jsx(e0,{className:"h-3.5 w-3.5"})," Einfach"]}),d.jsxs("button",{onClick:()=>Qh(!0),"aria-pressed":r,className:Ee("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",r?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[d.jsx(Jy,{className:"h-3.5 w-3.5"})," Experte"]})]})}class G1 extends Error{constructor(o,a,u){super(u||`${o} ${a}`);Qo(this,"status");Qo(this,"detail");this.name="ApiError",this.status=o,this.detail=u}}async function Z1(r){try{const s=await r.text();if(!s)return null;try{const o=JSON.parse(s),a=(o==null?void 0:o.detail)??(o==null?void 0:o.err)??(o==null?void 0:o.message);return typeof a=="string"&&a.trim()?a.trim():Array.isArray(a)&&a.length&&a.map(u=>u==null?void 0:u.msg).filter(Boolean).join("; ")||null}catch{return s.slice(0,200).split(` -`)[0].trim()||null}}catch{return null}}async function Se(r,s){const o=await fetch(r,{...s,headers:{"Content-Type":"application/json",...s==null?void 0:s.headers}});if(!o.ok)throw new G1(o.status,o.statusText,await Z1(o));return o.json()}const nk=(r,s,o=!1,a=!0)=>Se("/api/groups",{method:"PUT",body:JSON.stringify({group:r,members:s,swap:o,persist:a})}),rk=r=>Se("/api/routing/policy",{method:"PUT",body:JSON.stringify(r)});function Y1({type:r,title:s,message:o,defaultValue:a,autoValue:u,autoLabel:f,onConfirm:m,onCancel:h}){const y=g.useRef(null);return d.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":s,children:d.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[d.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:s}),d.jsx("button",{onClick:h||(()=>m()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:d.jsx(dl,{className:"h-4 w-4","aria-hidden":"true"})})]}),d.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:o}),r==="prompt"&&d.jsxs("div",{className:"flex gap-2",children:[d.jsx("input",{ref:y,type:"text",defaultValue:a,"aria-label":s,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:k=>{var w;k.key==="Enter"&&m((w=y.current)==null?void 0:w.value)}}),u!==void 0&&d.jsx("button",{type:"button",onClick:()=>{y.current&&(y.current.value=u)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:f||"Auto"})]}),d.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(r==="confirm"||r==="prompt")&&d.jsx("button",{onClick:h,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),d.jsx("button",{onClick:()=>{var w;const k=r==="prompt"?(w=y.current)==null?void 0:w.value:void 0;m(k)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:r==="confirm"?"Ja, fortfahren":r==="prompt"?"Übernehmen":"OK"})]})]})})}function ym(){const[r,s]=g.useState(null),o=g.useCallback(()=>s(null),[]),a=g.useCallback((h,y,k)=>{s({type:"alert",title:h,message:y,onConfirm:()=>{s(null),k==null||k()}})},[]),u=g.useCallback((h,y,k,w)=>{s({type:"confirm",title:h,message:y,onConfirm:()=>{s(null),k()},onCancel:()=>{s(null),w==null||w()}})},[]),f=g.useCallback((h,y,k,w,x,P)=>{s({type:"prompt",title:h,message:y,defaultValue:k,autoValue:P==null?void 0:P.autoValue,autoLabel:P==null?void 0:P.autoLabel,onConfirm:_=>{s(null),w(_)},onCancel:()=>{s(null),x==null||x()}})},[]),m=r?d.jsx(Y1,{...r}):null;return{showAlert:a,showConfirm:u,showPrompt:f,close:o,dialogElement:m}}let il=!1;const X1=()=>il;function J1(){const r=ul();g.useEffect(()=>{const s=new EventSource("/api/events");return s.onopen=()=>{il=!0},s.onerror=()=>{il=!1},s.addEventListener("invalidate",o=>{var a;try{const u=((a=JSON.parse(o.data))==null?void 0:a.keys)??[];for(const f of u)r.invalidateQueries({queryKey:[f]})}catch{}}),()=>{il=!1,s.close()}},[r])}const Pe={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:r=>["drafts",r??""],connect:r=>["connect",r??""],connectHealth:["connect-health"],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},St={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},gl=r=>()=>X1()?r*5:r,ew=(r=St.schnell)=>Be({queryKey:Pe.auftragsbuch,queryFn:()=>Se("/api/auftragsbuch"),refetchInterval:gl(r)}),tw=(r=St.gemuetlich)=>Be({queryKey:Pe.ideen,queryFn:()=>Se("/api/ideen"),refetchInterval:gl(r)}),sk=(r,s=!1)=>Be({queryKey:["ideen-log",r],queryFn:()=>Se(`/api/ideen/${r}/log`),enabled:s,refetchInterval:4e3,staleTime:0}),ik=(r=150,s=St.gemuetlich)=>Be({queryKey:[...Pe.chronik,r],queryFn:()=>Se(`/api/chronik?limit=${r}`),refetchInterval:gl(s),select:o=>o.items??[]}),ok=()=>Be({queryKey:Pe.wissen,queryFn:()=>Se("/api/wissen")}),nw=(r=St.traege,s=!0)=>Be({queryKey:Pe.zeitmaschine,queryFn:()=>Se("/api/zeitmaschine"),refetchInterval:r,enabled:s}),rw=(r=12,s=St.schnell)=>Be({queryKey:Pe.voiceTrace,queryFn:()=>Se(`/api/voice/trace?limit=${r}`),refetchInterval:s,select:o=>o.turns??[]}),lk=(r=!0)=>Be({queryKey:Pe.memoryGraph,queryFn:()=>Se("/api/wissen/graph"),enabled:r,staleTime:60*1e3}),xm=()=>Be({queryKey:Pe.health,queryFn:()=>Se("/api/health"),refetchInterval:St.normal}),vl=(r=St.graph)=>Be({queryKey:Pe.systemStatus,queryFn:()=>Se("/api/system/status"),refetchInterval:r}),wm=(r,s=!0)=>Be({queryKey:["metrics-history",r],queryFn:()=>Se(`/api/system/history?minutes=${r}`),enabled:s,refetchInterval:6e4}),hc=(r=St.normal)=>Be({queryKey:Pe.services,queryFn:()=>Se("/api/system/services"),refetchInterval:r}),km=(r=St.schnell)=>Be({queryKey:Pe.models,queryFn:()=>Se("/api/models"),refetchInterval:gl(r)}),ak=(r=St.normal)=>Be({queryKey:Pe.groups,queryFn:()=>Se("/api/groups"),refetchInterval:r}),uk=()=>Be({queryKey:Pe.routingPolicy,queryFn:()=>Se("/api/routing/policy")}),sw=(r=3e3,s=!0)=>Be({queryKey:Pe.jobs,queryFn:()=>Se("/api/jobs"),refetchInterval:r,enabled:s,select:o=>o.jobs??[]}),bm=(r=St.graph)=>Be({queryKey:Pe.tokenStats,queryFn:()=>Se("/api/system/token-stats"),refetchInterval:r}),iw=(r=St.normal)=>Be({queryKey:Pe.agentStatus,queryFn:()=>Se("/api/agent/status"),refetchInterval:r}),ck=(r=St.traege)=>Be({queryKey:Pe.hermesBrain,queryFn:()=>Se("/api/agent/brain"),refetchInterval:r}),Sm=(r=St.traege)=>Be({queryKey:Pe.updates,queryFn:()=>Se("/api/maintenance/updates"),refetchInterval:r}),dk=()=>Be({queryKey:Pe.discover,queryFn:()=>Se("/api/discover")}),fk=r=>Be({queryKey:Pe.drafts(r),queryFn:()=>Se(`/api/models/drafts?target=${encodeURIComponent(r??"")}`),enabled:!!r}),hk=r=>Be({queryKey:Pe.connect(r),queryFn:()=>Se(r?`/api/connect?${r}`:"/api/connect")}),ow=()=>Be({queryKey:Pe.connectHealth,queryFn:()=>Se("/api/connect/health"),refetchInterval:15e3});function gi(r,...s){for(const o of s)r.invalidateQueries({queryKey:o})}function ts(r){return(r/1024**3).toFixed(1)}function Eu(r){return r?r>1024**3?`${(r/1024**3).toFixed(1)} GB`:`${(r/1024**2).toFixed(0)} MB`:""}function pk(r){if(!r)return"—";const s=r/1024**3;return s>=1?`${s.toFixed(1)} GB`:`${(r/1024**2).toFixed(0)} MB`}function mk(r){if(!r)return"";const s=Math.floor(r/60);return s>0?`${s} min`:`${r} s`}function gk(r){return r?`${Math.round(r/1024)}k`:"—"}function vk(r){return r?new Date(r*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function vi({icon:r,iconClass:s,name:o,status:a,available:u,busy:f,actionLabel:m,onAction:h}){return d.jsxs("div",{className:Ee("flex items-center gap-3 rounded-lg border px-3 py-2",u?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[d.jsx(r,{className:Ee("h-4 w-4 shrink-0",s)}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("div",{className:"text-xs text-foreground truncate",children:o}),d.jsx("div",{className:Ee("text-[10px] truncate",u?"text-amber-400/90":"text-muted-foreground"),children:a})]}),d.jsx("button",{onClick:h,disabled:!u||f,className:Ee("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",u?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:f?"…":m})]})}function lw({label:r,ok:s,system:o,busy:a,onRestart:u,onLogs:f}){return d.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[d.jsx("span",{className:Ee("w-1.5 h-1.5 rounded-full shrink-0",s===!0?"bg-emerald-500":s===!1?"bg-red-500":"bg-muted-foreground/40")}),d.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[r,o&&d.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),d.jsx("button",{onClick:u,disabled:a,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:d.jsx(ss,{className:Ee("h-3.5 w-3.5",a&&"animate-spin")})}),d.jsx("button",{onClick:f,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:d.jsx(Iy,{className:"h-3.5 w-3.5"})})]})}const aw=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,uw=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function cw(r){return aw.test(r)?"error":uw.test(r)?"warn":"info"}const dw={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function fw({service:r,text:s,loading:o,logStatus:a,onRefresh:u,onOpenSettings:f}){const[m,h]=g.useState(!1),[y,k]=g.useState(""),w=g.useRef(null),x=g.useMemo(()=>s?s.split(` -`).map(R=>({t:R,level:cw(R)})):[],[s]),P=g.useMemo(()=>x.filter(R=>R.level!=="info").length,[x]),_=y.trim().toLowerCase(),D=x.filter(R=>(!m||R.level!=="info")&&(!_||R.t.toLowerCase().includes(_))),b=a==="password_required"||a==="incorrect_password";return d.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[d.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[d.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[d.jsx(n0,{className:"h-3 w-3 text-primary"}),d.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",r]}),d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsxs("div",{className:"relative",children:[d.jsx(Xy,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),d.jsx("input",{value:y,onChange:R=>k(R.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),d.jsxs("button",{onClick:()=>h(R=>!R),title:"Nur Fehler und Warnungen zeigen",className:Ee("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",m?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[d.jsx(Ci,{className:"h-3 w-3"}),"Nur Probleme",P>0?` (${P})`:""]}),d.jsx("button",{onClick:u,disabled:o,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:d.jsx(ss,{className:Ee("h-3 w-3",o&&"animate-spin")})})]})]}),d.jsx("div",{ref:w,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:b?d.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[d.jsx(Ci,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),d.jsx("div",{className:"text-xs font-semibold text-amber-300",children:a==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),d.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",r," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),d.jsx("button",{onClick:f,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):o&&!s?d.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):x.length===0?d.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):D.length===0?d.jsx("span",{className:"text-muted-foreground",children:m?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):D.map((R,A)=>d.jsx("div",{className:Ee("whitespace-pre-wrap",dw[R.level]),children:R.t||" "},A))})]})}function hw({open:r,showAlert:s}){const[o,a]=g.useState(null),[u,f]=g.useState(""),[m,h]=g.useState(!1),[y,k]=g.useState(!1),[w,x]=g.useState(!1);async function P(){k(!0);try{a(await Se("/api/maintenance/geheimnisse"))}catch(D){s("Nicht erreichbar",`Der Geheimnis-Zustand konnte nicht geladen werden: ${(D==null?void 0:D.message)||D}`)}finally{k(!1)}}g.useEffect(()=>{r&&(f(""),h(!1),P())},[r]);async function _(D){x(!0);try{const b=await Se("/api/maintenance/geheimnisse",{method:"POST",body:JSON.stringify({schluessel:"hf_token",wert:D})});a(b),f(""),s(D?"Gespeichert":"Gelöscht",D?"Der Token liegt jetzt auf der Box — der Browser behält ihn nicht.":"Der Token wurde von der Box entfernt.")}catch(b){s("Fehlgeschlagen",(b==null?void 0:b.message)||String(b))}finally{x(!1)}}return d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),d.jsx("p",{className:"text-[10px] leading-normal text-muted-foreground",children:"Geheimnisse liegen auf der Box (Datei mit Rechten 0600), nicht im Browser. Diese Seite zeigt nur, ob etwas gesetzt ist — den Wert bekommt sie nie zurück."})]}),d.jsxs("div",{className:"mc-card-sm space-y-1.5 p-3",children:[d.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-semibold",children:[d.jsx(Cp,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"}),"Box-Sudo-Passwort — nicht mehr nötig"]}),d.jsxs("p",{className:"text-[10px] leading-normal text-muted-foreground",children:["Systemdienste, OS-Update und Neustart laufen passwortlos (",d.jsx("code",{className:"font-mono text-primary",children:"NOPASSWD"})," in",d.jsx("code",{className:"font-mono",children:" /etc/sudoers"}),"). Das frühere Feld hat nie etwas bewirkt und lag dabei im Browser-Speicher — es ist am 28.08.2026 ersatzlos entfallen. Verlangt ",d.jsx("code",{className:"font-mono",children:"sudo"})," auf der Box je doch ein Passwort, sagt die Wartung das im Klartext; das ist dann dort zu lösen."]})]}),d.jsxs("div",{className:"space-y-2",children:[d.jsxs("label",{htmlFor:"hf-token",className:"flex items-center gap-1.5 text-xs font-semibold",children:[d.jsx(Wy,{className:"h-4 w-4 text-violet-400","aria-hidden":"true"}),"HuggingFace-Token"]}),d.jsx("div",{className:"flex items-center gap-2 text-[11px]",children:y?d.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[d.jsx(ji,{className:"h-3 w-3 animate-spin","aria-hidden":"true"})," Zustand wird geladen …"]}):o!=null&&o.hf_token_gesetzt?d.jsxs("span",{className:"flex items-center gap-1.5 font-semibold text-emerald-400",children:[d.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500","aria-hidden":"true"}),"Gesetzt",o.hf_token_aus_env?" (aus der Dienst-Umgebung)":""]}):d.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[d.jsx("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50","aria-hidden":"true"}),"Nicht gesetzt"]})}),(o==null?void 0:o.hf_token_aus_env)&&d.jsxs("p",{className:"text-[9px] leading-normal text-amber-400/90",children:["Der Token kommt aus der Umgebung des Dienstes und hat Vorrang. Hier gespeicherte Werte bleiben wirkungslos, solange ",d.jsx("code",{className:"font-mono",children:"HF_TOKEN"})," gesetzt ist."]}),o&&!o.schreibbar&&d.jsx("p",{className:"text-[9px] leading-normal text-amber-400/90",children:"Die Ablage ist nicht beschreibbar — auf einem Entwicklungsrechner ohne den Modell-Ordner der Box ist das normal. Speichern würde hier ins Leere laufen."}),d.jsxs("div",{className:"relative",children:[d.jsx("input",{id:"hf-token",type:m?"text":"password",value:u,onChange:D=>f(D.target.value),autoComplete:"off",spellCheck:!1,placeholder:o!=null&&o.hf_token_gesetzt?"Neuen Token eingeben, um zu ersetzen":"hf_…",className:"h-10 w-full rounded-lg border border-border/60 bg-background/40 pl-3 pr-10 text-xs text-foreground outline-none transition-colors focus:border-primary"}),d.jsx("button",{type:"button",onClick:()=>h(!m),"aria-label":m?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground transition-colors hover:text-foreground",children:m?d.jsx(Fy,{className:"h-4 w-4","aria-hidden":"true"}):d.jsx(jp,{className:"h-4 w-4","aria-hidden":"true"})})]}),d.jsxs("p",{className:"text-[9px] leading-normal text-muted-foreground",children:["Nötig für Modelle mit Zugangsschranke. Wird beim Download als",d.jsx("code",{className:"font-mono",children:" HF_TOKEN"})," an den Job gereicht und verlässt die Box nicht."]})]}),d.jsxs("div",{className:"flex gap-3 pt-2",children:[d.jsxs("button",{onClick:()=>_(u.trim()),disabled:w||!u.trim(),className:"flex h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow shadow-primary/10 transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-40",children:[w&&d.jsx(ji,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}),"Auf der Box speichern"]}),d.jsx("button",{onClick:()=>_(null),disabled:w||!(o!=null&&o.hf_token_gesetzt),className:"flex h-9 cursor-pointer items-center justify-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-40",children:"Löschen"})]})]})}function pw({detail:r,maintenanceJob:s,onClose:o,onApply:a}){var y,k;const u=r.data,f={os:{icon:_p,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:cl,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:Pp,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Ni,cls:"text-amber-400",title:"Hermes-Agent"}}[r.kind],m=f.icon,h=u?r.kind==="os"?(u.count??0)===0:r.kind==="hermes"?(u.behind??0)===0:u.installed_build!=null&&u.latest_build!=null&&u.latest_build<=u.installed_build:!0;return d.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[d.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:o}),d.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[d.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(m,{className:Ee("h-4.5 w-4.5",f.cls)}),d.jsx("h3",{className:"text-sm font-semibold",children:f.title})]}),d.jsx("button",{onClick:o,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:d.jsx(dl,{className:"h-4 w-4"})})]}),d.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:r.loading?d.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[d.jsx(ss,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):u!=null&&u.error?d.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:u.error}):d.jsxs(d.Fragment,{children:[(u==null?void 0:u.action_needed)!=null&&d.jsxs("div",{className:Ee("flex items-start gap-2 rounded-lg border p-3",u.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[u.action_needed?d.jsx(Ci,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):d.jsx(Ty,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),d.jsxs("div",{className:"min-w-0",children:[d.jsxs("div",{className:Ee("text-xs font-semibold",u.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",u.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),u.action_needed&&u.action_text&&d.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:u.action_text})]})]}),(u==null?void 0:u.summary)&&d.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[d.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),d.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:u.summary})]}),r.kind==="os"?d.jsxs(d.Fragment,{children:[((u==null?void 0:u.count)??0)===0?d.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"text-muted-foreground",children:[u.count," Paket(e) werden aktualisiert:"]}),d.jsx("div",{className:"space-y-1",children:u.packages.map(w=>d.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[d.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[d.jsx(Ch,{className:"h-3 w-3 text-cyan-400 shrink-0"}),w.name]}),d.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[d.jsx("span",{children:w.current}),d.jsx(jh,{className:"h-3 w-3"}),d.jsx("span",{className:"text-emerald-400",children:w.candidate})]})]},w.name))})]}),(((y=u==null?void 0:u.held_back)==null?void 0:y.length)??0)>0&&d.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[d.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[d.jsx(Ly,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),d.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),d.jsx("div",{className:"space-y-1",children:u.held_back.map(w=>d.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[d.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[d.jsx(Ch,{className:"h-3 w-3 text-muted-foreground shrink-0"}),w.name]}),d.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:w.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},w.name))})]})]}):r.kind==="engine"||r.kind==="swap"?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[d.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(u==null?void 0:u.installed_build)??"?"]}),d.jsx(jh,{className:"h-3.5 w-3.5 text-muted-foreground"}),d.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(u==null?void 0:u.latest_build)??"?"]})]}),((u==null?void 0:u.name)||(u==null?void 0:u.latest_tag))&&d.jsxs("div",{className:"text-muted-foreground",children:["Release: ",d.jsx("span",{className:"text-foreground",children:u==null?void 0:u.name}),u!=null&&u.latest_tag?` (${u.latest_tag})`:""]}),(u==null?void 0:u.url)&&d.jsxs("a",{href:u.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",d.jsx(zy,{className:"h-3 w-3"})]}),(u==null?void 0:u.body)&&d.jsxs("details",{className:"group",children:[d.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),d.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:u.body})]})]}):(((k=u==null?void 0:u.commits)==null?void 0:k.length)??0)===0?d.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"text-muted-foreground",children:[u.behind," neue Commit(s) auf ",d.jsxs("span",{className:"font-mono text-foreground",children:["origin/",u.branch]}),":"]}),d.jsx("div",{className:"space-y-1",children:u.commits.map(w=>d.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[d.jsx($y,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),d.jsxs("div",{className:"min-w-0",children:[d.jsx("div",{className:"text-[11px] truncate",children:w.subject}),d.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[w.hash," · ",w.when]})]})]},w.hash))})]}),r.kind!=="os"&&!h&&d.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[d.jsx(Cp,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),d.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",r.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),d.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[d.jsx("button",{onClick:o,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),d.jsx("button",{onClick:a,disabled:r.loading||h||!!s,title:s?`Update läuft bereits: ${s.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:s?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function mw({open:r,onClose:s,defaultTab:o="maintenance"}){var jr,Cs;const a=ul(),{showAlert:u,showConfirm:f,dialogElement:m}=ym(),{data:h}=Sm(),{data:y}=hc(),k=sw(3e3,r).data??[],{data:w}=nw(void 0,r),[x,P]=g.useState("llama-swap"),[_,D]=g.useState(""),[b,R]=g.useState(!1),[A,I]=g.useState(null),[V,z]=g.useState({}),[K,G]=g.useState("maintenance"),[ue,oe]=g.useState(!1),[ee,me]=g.useState(""),[ke,le]=g.useState(!1),[Le,Z]=g.useState(!1),[ce,Ce]=g.useState(null),Ne=(y==null?void 0:y.services)??[],F=()=>gi(a,Pe.jobs);function ne(L){return L?new Date(L*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}g.useEffect(()=>{r&&o&&G(o)},[r,o]),g.useEffect(()=>{r&&gi(a,Pe.updates,Pe.services,Pe.jobs,Pe.zeitmaschine)},[r]);function Q(L){R(!0),I(null),Se(`/api/maintenance/logs?service=${L}&lines=150`).then(xe=>{xe.ok?D(xe.text):(D(`Fehler beim Laden der Logs: ${xe.err||"Unbekannter Fehler"}`),(xe.status==="incorrect_password"||xe.status==="password_required")&&I(xe.status))}).catch(xe=>D(`Fehler: ${xe.message}`)).finally(()=>R(!1))}g.useEffect(()=>{!r||K!=="logs"||Q(x)},[r,K,x]);function C(L){return(L==null?void 0:L.status)==="busy"?(u("Update läuft bereits",`Es läuft gerade „${L.running}". Bitte warte, bis es fertig ist.`),F(),!0):!1}function N(L){return(L==null?void 0:L.status)==="password_required"||(L==null?void 0:L.status)==="incorrect_password"?(u("Box-Passwort nötig",(L.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):L&&L.ok===!1?(u("Update fehlgeschlagen",L.err||"Unbekannter Fehler."),!0):!1}async function q(L){const xe={os:"os-update",engine:"engine-update",swap:"swap-update"}[L];try{const ze=await Se(`/api/maintenance/${xe}`,{method:"POST"});if(C(ze)||N(ze))return;F(),G("maintenance")}catch(ze){u("Fehler",`Update konnte nicht starten: ${ze.message}`)}}async function Y(){Z(!0);try{const L=await Se("/api/maintenance/hermes-update",{method:"POST"});if(C(L))return;F()}catch(L){u("Fehler",`Hermes-Update fehlgeschlagen: ${L.message}`)}finally{Z(!1)}}async function W(L){Ce({kind:L,loading:!0,data:null});try{const xe=await Se(`/api/maintenance/update-details?kind=${L}`);Ce({kind:L,loading:!1,data:xe})}catch(xe){Ce({kind:L,loading:!1,data:{kind:L,error:xe.message}})}}function se(){const L=ce==null?void 0:ce.kind;Ce(null),L==="os"||L==="engine"||L==="swap"?q(L):L==="hermes"&&Y()}function de(){var xe;const L=[h!=null&&h.engine?"Engine":null,h!=null&&h.swap?"Router":null,(xe=h==null?void 0:h.components)!=null&&xe.some(ze=>ze.update===!0)?"Hermes-Agent":null,h!=null&&h.os?`OS (${h.os} Pakete)`:null].filter(Boolean);f("Alle Updates einspielen?",`Nacheinander in einem Job: ${L.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const ze=await Se("/api/maintenance/update-all",{method:"POST"});if(C(ze)||N(ze))return;if((ze==null?void 0:ze.status)==="nothing"){u("Nichts zu tun","Es stehen keine Updates aus.");return}F(),G("maintenance")}catch(ze){u("Fehler",`„Alle aktualisieren" konnte nicht starten: ${ze.message}`)}})}async function ye(){oe(!0);try{await Se("/api/maintenance/check-updates",{method:"POST"}),gi(a,Pe.jobs,Pe.updates),G("maintenance")}catch(L){u("Fehler",`Fehler bei der Update-Suche: ${L.message}`)}finally{oe(!1)}}async function we(L,xe){try{await Se("/api/models/install",{method:"POST",body:JSON.stringify({repo:L,role:xe})}),u("Gestartet",`Modell-Upgrade für '${xe}' (${L}) gestartet.`),F(),G("maintenance")}catch(ze){u("Fehler",`Fehler beim Starten des Modell-Upgrades: ${ze.message}`)}}async function Ge(){f("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Se("/api/maintenance/reboot",{method:"POST"}),u("Reboot","Reboot ausgelöst. System startet neu...",()=>s())}catch(L){u("Fehler",`Fehler beim Reboot: ${L.message}`)}})}async function Sr(){le(!0),me("Snapshot wird erzeugt...");try{const L=await Se("/api/system/backup",{method:"POST"});me(L.ok?`Snapshot erzeugt: ${L.snapshot} (${L.files.length} Komponenten)`:"Backup fehlgeschlagen."),gi(a,Pe.zeitmaschine)}catch(L){me(`Fehler: ${L.message}`)}finally{le(!1)}}async function Ns(L){z(xe=>({...xe,[L]:!0}));try{const xe=await Se("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:L})});xe.ok?(u("Dienst neu gestartet",`Dienst ${L} wurde erfolgreich neu gestartet.`,()=>{K==="logs"&&x===L&&Q(L)}),gi(a,Pe.services,Pe.health,Pe.models)):u("Fehler",`Fehler beim Neustart: ${xe.err||"Unbekannter Fehler"}`)}catch(xe){u("Fehler",`Fehler beim Neustart: ${xe.message}`)}finally{z(xe=>({...xe,[L]:!1}))}}async function Er(L){try{await Se(`/api/jobs/${L}/cancel`,{method:"POST"}),F()}catch(xe){u("Fehler",`Fehler beim Abbrechen: ${xe.message}`)}}const rn=k.find(L=>(L.state==="running"||L.state==="queued")&&L.group==="maintenance"),js=(h?(h.os>0?1:0)+(h.engine?1:0)+(h.swap?1:0):0)+(((jr=h==null?void 0:h.components)==null?void 0:jr.filter(L=>L.update===!0).length)??0),Nr=(w==null?void 0:w.backups)??[];return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:Ee("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",r?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:s}),d.jsxs("div",{className:Ee("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",r?"translate-x-0":"translate-x-full"),children:[d.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(Np,{className:"h-4.5 w-4.5 text-primary"}),d.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),d.jsx("button",{onClick:s,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:d.jsx(dl,{className:"h-4 w-4"})})]}),d.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(L=>d.jsx("button",{onClick:()=>G(L),className:Ee("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",K===L?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:L==="maintenance"?"System-Wartung":L==="logs"?"System-Logs":"Einstellungen"},L))}),d.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[K==="maintenance"&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"space-y-2.5",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),d.jsxs("div",{className:"flex items-center gap-3",children:[js>0&&d.jsxs("button",{onClick:de,disabled:!!rn,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[d.jsx(Dy,{className:"h-3 w-3"})," Alle aktualisieren (",js,")"]}),d.jsxs("button",{onClick:ye,disabled:ue||!!rn,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[d.jsx(ss,{className:Ee("h-3 w-3",ue&&"animate-spin")})," Nach Updates suchen"]})]})]}),(h==null?void 0:h.last_check)&&d.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",ne(h.last_check)]}),rn&&d.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[d.jsx(ss,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),d.jsxs("span",{children:["Update läuft: ",d.jsx("span",{className:"font-semibold",children:rn.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),d.jsxs("div",{className:"space-y-1.5",children:[d.jsx(vi,{icon:_p,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(h!=null&&h.os),status:h!=null&&h.os?`${h.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>W("os")}),d.jsx(vi,{icon:cl,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(h!=null&&h.engine),status:h!=null&&h.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>W("engine")}),d.jsx(vi,{icon:Pp,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(h!=null&&h.swap),status:h!=null&&h.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>W("swap")}),(()=>{var xe;const L=(xe=h==null?void 0:h.components)==null?void 0:xe.find(ze=>ze.key==="hermes_agent");return d.jsx(vi,{icon:Ni,iconClass:"text-amber-400",name:"Hermes-Agent",available:(L==null?void 0:L.update)===!0,busy:Le,status:(L==null?void 0:L.update)===!0?`Update: ${L.latest}`:(L==null?void 0:L.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>W("hermes")})})(),(Cs=h==null?void 0:h.model_list)==null?void 0:Cs.map(L=>d.jsx(vi,{icon:_y,iconClass:"text-emerald-400",name:`Modell · ${L.role}`,available:!0,status:L.title,actionLabel:"Upgrade",onAction:()=>we(L.repo,L.role)},L.role))]})]}),d.jsxs("div",{className:"space-y-2.5",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),d.jsxs("div",{className:"space-y-1.5",children:[Ne.length===0&&d.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),Ne.map(L=>d.jsx(lw,{label:L.name,system:L.scope==="system",ok:L.ok,busy:V[L.unit],onRestart:()=>Ns(L.unit),onLogs:()=>{P(L.unit),G("logs")}},L.unit))]})]}),d.jsxs("div",{className:"space-y-2.5",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),d.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("div",{className:"text-xs text-foreground truncate",children:Nr[0]?`Letztes: ${Nr[0].snapshot}`:"Noch kein Backup"}),d.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[Nr.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),d.jsxs("button",{onClick:Sr,disabled:ke,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[d.jsx(Ry,{className:Ee("h-3.5 w-3.5",ke&&"animate-pulse")})," Snapshot"]})]}),ee&&d.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:ee})]}),d.jsxs("div",{className:"space-y-2.5",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),d.jsxs("button",{onClick:Ge,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[d.jsx(Yy,{className:"h-4.5 w-4.5"}),d.jsxs("div",{children:[d.jsx("div",{children:"Host-System neu starten"}),d.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),d.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[k.filter(L=>L.state==="running"||L.state==="queued").length," Aktiv"]})]}),d.jsx("div",{className:"space-y-3",children:k.length===0?d.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):k.map(L=>{const xe=L.state==="running"||L.state==="queued";return d.jsxs("div",{className:Ee("p-3 rounded-xl border transition-all duration-300",xe?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[d.jsxs("div",{className:"flex items-start justify-between gap-3",children:[d.jsxs("div",{className:"space-y-1",children:[d.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[xe&&d.jsxs("span",{className:"flex h-2 w-2 relative",children:[d.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),d.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),L.label]}),d.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[d.jsxs("span",{children:["ID: ",L.id]}),d.jsx("span",{children:"•"}),d.jsx("span",{className:Ee(L.state==="done"&&"text-emerald-400",L.state==="failed"&&"text-red-400",L.state==="running"&&"text-primary",L.state==="queued"&&"text-amber-400",L.state==="canceled"&&"text-muted-foreground"),children:L.state})]})]}),xe&&d.jsx("button",{onClick:()=>Er(L.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),L.state==="running"&&d.jsxs("div",{className:"mt-3 space-y-1",children:[d.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:d.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${L.progress??0}%`}})}),d.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[d.jsxs("span",{children:[L.progress??0,"%"]}),L.done_bytes!=null&&L.total_bytes!=null&&d.jsxs("span",{children:[Eu(L.done_bytes)," / ",Eu(L.total_bytes),L.rate_bps!=null&&` (${Eu(L.rate_bps)}/s)`]}),L.eta_s!=null&&d.jsxs("span",{children:["ETA: ",L.eta_s,"s"]})]})]})]},L.id)})})]})]}),K==="logs"&&d.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("select",{value:x,onChange:L=>P(L.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:Ne.map(L=>d.jsxs("option",{value:L.unit,children:[L.name," (",L.scope==="system"?"systemd-root":"user",")"]},L.unit))}),d.jsxs("button",{onClick:()=>Ns(x),disabled:V[x],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[d.jsx(ss,{className:Ee("h-3.5 w-3.5",V[x]&&"animate-spin")}),"Restart"]})]}),d.jsx(fw,{service:x,text:_,loading:b,logStatus:A,onRefresh:()=>Q(x),onOpenSettings:()=>G("settings")})]}),K==="settings"&&d.jsx(hw,{open:r,showAlert:u})]})]}),ce&&d.jsx(pw,{detail:ce,maintenanceJob:rn,onClose:()=>Ce(null),onApply:se}),m]})}let Ku=[],qu=[];const Gu=new Set,Em=()=>Gu.forEach(r=>r());function Nm(r){return Gu.add(r),()=>{Gu.delete(r)}}function gw(r){Ku=[...Ku,r].slice(-40),Em()}function vw(r){qu=[...qu,r].slice(-40),Em()}const yw=()=>g.useSyncExternalStore(Nm,()=>Ku),xw=()=>g.useSyncExternalStore(Nm,()=>qu);function ww(){const{data:r,dataUpdatedAt:s}=vl(),{data:o,dataUpdatedAt:a}=bm(),u=g.useRef(null);g.useEffect(()=>{var f,m,h,y;r&&gw({t:Date.now(),cpu:((f=r.cpu)==null?void 0:f.percent)??0,ram:((m=r.ram)==null?void 0:m.percent)??0,gpu:((h=r.gpu)==null?void 0:h.busy_percent)??null,disk:((y=r.disk)==null?void 0:y.percent)??null})},[s]),g.useEffect(()=>{if(!o)return;const f=Date.now(),m=o.prompt_tokens,h=o.completion_tokens;if(u.current){const y=Math.max((f-u.current.t)/1e3,.001);vw({t:f,prompt:Math.max(0,(m-u.current.p)/y),completion:Math.max(0,(h-u.current.c)/y)})}u.current={p:m,c:h,t:f}},[a])}function kw(){var oe,ee,me,ke,le,Le;const{data:r,isError:s}=xm(),{data:o,isError:a}=hc(),{data:u}=km(),{data:f}=vl(),m=s||a,h=!!r&&!!o,y=Z=>{var ce;return(ce=o==null?void 0:o.services.find(Ce=>Ce.unit===Z))==null?void 0:ce.ok},k=Z=>!!(o!=null&&o.services.some(ce=>ce.unit===Z)),w=r==null?void 0:r.engine_reachable,x=(oe=r==null?void 0:r.brain)==null?void 0:oe.ready,P=((ee=r==null?void 0:r.brain)==null?void 0:ee.model)||((me=u==null?void 0:u.models.find(Z=>Z.role==="hermes"))==null?void 0:me.name)||"",_=[];m&&_.push({id:"mc2",label:"Steuerpult (MC2)",icon:cl,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),_.push((()=>{const Z={id:"brain",label:"Lucys Hirn",icon:Py,critical:!0};return h?w===!1?{...Z,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:x===!1?{...Z,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:P?{kind:"loadModel",model:P,label:"Hirn aufwecken"}:void 0}:{...Z,status:"ok",detail:"Wach und ansprechbar."}:{...Z,status:"loading",detail:"Wird geprüft …"}})()),_.push((()=>{const Z={id:"vision",label:"Lucys Augen",icon:jp,critical:!1};if(!h||!u)return{...Z,status:"loading",detail:"Wird geprüft …"};const ce=u.models.find(Ne=>Ne.role==="vision");return ce?(u.running??[]).includes(ce.name)?{...Z,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...Z,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:ce.name,label:"Augen wecken"}}:{...Z,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),_.push((()=>{const Z={id:"memory",label:"Lucys Gedächtnis",icon:Cy,critical:!0},ce=y("hermes-gateway");return!h||ce===void 0?{...Z,status:"loading",detail:"Wird geprüft …"}:ce?{...Z,status:"ok",detail:"Hermes-Natives Gedächtnis aktiv (SQLite & Embeddings)."}:{...Z,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gateway antwortet nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Gateway neu starten"}}})()),_.push((()=>{const Z={id:"gateway",label:"Verbindung (Gateway)",icon:oc,critical:!0},ce=r?r.gateway_reachable:y("mc2-gateway");if(!h||ce===void 0)return{...Z,status:"loading",detail:"Wird geprüft …"};const Ce=k("mc2-gateway")?"mc2-gateway":"mission-control-2";return ce?{...Z,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...Z,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:Ce,label:"Gateway neu starten"}}})()),_.push((()=>{const Z={id:"steward",label:"Wächter (Steward)",icon:lc,critical:!1};return h?k("mc2-steward")?y("mc2-steward")?{...Z,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...Z,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...Z,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...Z,status:"loading",detail:"Wird geprüft …"}})()),_.push((()=>{const Z={id:"agent",label:"Lucys Agent (Hermes)",icon:Ni,critical:!0},ce=y("hermes-gateway");return!h||ce===void 0?{...Z,status:"loading",detail:"Wird geprüft …"}:ce?{...Z,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...Z,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),_.push((()=>{const Z={id:"voice",label:"Lucys Stimme",icon:Zy,critical:!1},ce=y("voice-service");return!h||ce===void 0?{...Z,status:"loading",detail:"Wird geprüft …"}:ce?{...Z,status:"ok",detail:"Lucy kann hören und sprechen."}:{...Z,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const D=((ke=f==null?void 0:f.ram)==null?void 0:ke.total)??0,b=((le=f==null?void 0:f.ram)==null?void 0:le.used)??0,R=((Le=f==null?void 0:f.ram)==null?void 0:Le.percent)??(D>0?Math.min(100,b/D*100):0),A=1024**3,I=D?R>=93?{status:"full",usedGb:b/A,totalGb:D/A,pct:R,text:"Speicher fast voll — Lucy könnte langsamer werden."}:R>=85?{status:"warn",usedGb:b/A,totalGb:D/A,pct:R,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:b/A,totalGb:D/A,pct:R,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},V=_.some(Z=>Z.status==="loading"),z=_.filter(Z=>Z.critical&&Z.status==="down"),K=_.filter(Z=>Z.status==="warn"||!Z.critical&&Z.status==="down"),G=I.status==="full";return{verdict:V&&!z.length?"loading":z.length?"problem":K.length||G?"warn":"gut",checks:_,memory:I,problems:z,warns:K,unreachable:m}}const bw={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},Sw={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function yi({icon:r,title:s,value:o,unit:a,tone:u="muted",hint:f,onClick:m}){return d.jsxs("button",{onClick:m,className:Ee("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",Sw[u]),children:[d.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[d.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:d.jsx(r,{className:"h-5 w-5"})}),d.jsx("span",{className:Ee("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",bw[u]),title:f})]}),d.jsxs("div",{className:"flex items-baseline gap-1.5",children:[d.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:o}),a&&d.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:a})]}),d.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[d.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:s}),d.jsx(wi,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),f&&d.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:f})]})}function Ew(){const{data:r,error:s}=vl(),o=yw();return{sys:r,hist:o,error:s}}const Nw=g.lazy(()=>Wt(()=>import("./LiveAreaChartImpl-Bb72EW29.js"),__vite__mapDeps([0,1])));function jm(r){return d.jsx(g.Suspense,{fallback:d.jsx(jw,{height:r.height??176}),children:d.jsx(Nw,{...r})})}function jw({height:r}){return d.jsx("div",{style:{height:r},className:"flex w-full items-end","aria-hidden":"true",children:d.jsx("div",{className:"h-px w-full bg-border/40"})})}const Cm={"1h":60,"24h":1440},Gh={live:"Live","1h":"1 h","24h":"24 h"};function _m({value:r,onChange:s}){return d.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(Gh).map(o=>d.jsx("button",{onClick:()=>s(o),className:Ee("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",r===o?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Gh[o]},o))})}const Cw=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function _w(){var w,x,P,_;const{sys:r,hist:s}=Ew(),[o,a]=g.useState("live"),u=wm(o==="live"?60:Cm[o],o!=="live"),f=g.useMemo(()=>{var D;return o==="live"?s:(((D=u.data)==null?void 0:D.points)??[]).map(b=>({t:b.t*1e3,cpu:b.cpu,ram:b.ram,gpu:b.gpu,disk:b.disk}))},[o,s,u.data]),m=!!(r!=null&&r.gpu&&r.gpu.busy_percent!=null&&r.gpu.gtt_used!=null&&r.gpu.gtt_total!=null),h=Cw.filter(D=>D.key!=="gpu"||m),y={cpu:(w=r==null?void 0:r.cpu)==null?void 0:w.percent,ram:(x=r==null?void 0:r.ram)==null?void 0:x.percent,gpu:m?r.gpu.busy_percent:null,disk:(P=r==null?void 0:r.disk)==null?void 0:P.percent},k={cpu:(_=r==null?void 0:r.cpu)!=null&&_.cores?`${r.cpu.cores} Cores`:"",ram:r?`${ts(r.ram.used)}/${ts(r.ram.total)} GB`:"",gpu:m?`${ts(r.gpu.gtt_used)}/${ts(r.gpu.gtt_total)} GB`:"",disk:r!=null&&r.disk?`${ts(r.disk.used)}/${ts(r.disk.total)} GB`:""};return d.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[d.jsx(Np,{className:"h-4.5 w-4.5 text-primary"}),d.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),o==="live"&&d.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),d.jsx("div",{className:"ml-auto",children:d.jsx(_m,{value:o,onChange:a})})]}),r?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:h.map(D=>d.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[d.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:D.color}}),d.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:D.label}),d.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(y[D.key]??0),"%"]}),k[D.key]&&d.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:k[D.key]})]},D.key))}),o!=="live"&&f.length===0&&d.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:u.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(o==="live"||f.length>0)&&d.jsx(jm,{data:f,series:h,unit:"%",yMode:"percent",height:176,showTime:!0})]}):d.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(r==null?void 0:r.temp)&&(r.temp.cpu||r.temp.gpu)&&d.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[r.temp.cpu!=null&&d.jsxs("span",{children:["CPU Temp: ",r.temp.cpu," °C"]}),r.temp.gpu!=null&&d.jsxs("span",{children:["GPU Temp: ",r.temp.gpu," °C"]})]})]})}const Ss=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],ki=r=>r==null?"–":`${(r/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function Pw(r){const s=Math.max(0,Date.now()/1e3-r);return s<60?`vor ${Math.round(s)} s`:s<3600?`vor ${Math.round(s/60)} min`:`vor ${Math.round(s/3600)} h`}function Zu(r){return Ss.reduce((s,o)=>s+(r[o.key]??0),0)}function Rw(r){let s=null;for(const o of Ss){const a=r[o.key];a!=null&&(s==null||a>s.ms)&&(s={label:o.label,color:o.color,ms:a})}return s}function Mw({t:r,scale:s}){const o=Ss.map(a=>`${a.label} ${ki(r[a.key])}`).join(" · ");return d.jsxs("div",{className:"flex items-center gap-2.5",children:[d.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:Pw(r.ts)}),d.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:o,children:[d.jsx("div",{className:"absolute inset-0 flex",children:Ss.map(a=>{const u=r[a.key];return!u||u<=0?null:d.jsx("div",{style:{width:`${u/s*100}%`,background:a.color},className:"h-full first:rounded-l-sm"},a.key)})}),r.error&&d.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),d.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:r.error?"–":ki(Zu(r))})]})}function Ow(){const{data:r}=rw(12),s=r??[],o=Math.max(1,...s.map(f=>Zu(f))),a=s[0],u=a?Rw(a):null;return d.jsxs("div",{className:"mc-card p-5",children:[d.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(Uy,{className:"h-4.5 w-4.5 text-primary"}),d.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),d.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),a?d.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[d.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${a.error?"text-rose-400":"text-foreground"}`,children:a.error?"Fehler":ki(Zu(a))}),d.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!a.error&&u&&d.jsxs(d.Fragment,{children:[" · Täter: ",d.jsx("span",{style:{color:u.color},className:"font-semibold",children:u.label})," ",ki(u.ms)]})]})]}):d.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),a&&!a.error&&d.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:Ss.filter(f=>a[f.key]!=null).map(f=>`${f.label} ${ki(a[f.key])}`).join(" · ")})]}),d.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Ss.map(f=>d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:f.color}}),d.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:f.label})]},f.key))})]}),s.length>0?d.jsx("div",{className:"space-y-1.5",children:s.map(f=>d.jsx(Mw,{t:f,scale:o},f.id))}):d.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),d.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Gedächtnis-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const Zh=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function Tw(){const{data:r}=bm(),s=xw(),[o,a]=g.useState("live"),u=wm(o==="live"?60:Cm[o],o!=="live"),f=g.useMemo(()=>{var w;if(o==="live")return s;const y=((w=u.data)==null?void 0:w.points)??[],k=[];for(let x=1;xd.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:y.color}}),d.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:y.label}),d.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((m==null?void 0:m[y.key])??0)})]},y.key))})]})]}),o!=="live"&&f.length===0?d.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:u.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):r?d.jsx(jm,{data:f,series:Zh,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):d.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),d.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}const al=r=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:r}}));function Lw({onNavigate:r}){var Z,ce,Ce,Ne;const{data:s}=km(),{data:o}=hc(),{data:a}=Sm(),{data:u}=iw(),{data:f}=ow(),{data:m}=ew(),{data:h}=tw(),y=kw(),{showAlert:k,dialogElement:w}=ym(),x=ul(),[P,_]=g.useState({});async function D(F,ne){_(Q=>({...Q,[F]:!0}));try{if(ne.kind==="loadModel")await Se(`/api/models/${encodeURIComponent(ne.model)}/load`,{method:"POST"});else{const Q=await Se("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:ne.service})});Q.ok||k("Reparatur nicht ganz geklappt",(Q.err||"Unbekannter Fehler")+(ne.needsSudo?` - -Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}x.invalidateQueries({queryKey:Pe.health}),x.invalidateQueries({queryKey:Pe.services}),x.invalidateQueries({queryKey:Pe.models})}catch(Q){k("Reparatur fehlgeschlagen",String((Q==null?void 0:Q.message)||Q))}finally{_(Q=>({...Q,[F]:!1}))}}const b=((Z=s==null?void 0:s.running)==null?void 0:Z.length)??0,R=(o==null?void 0:o.services.filter(F=>F.ok).length)??0,A=(o==null?void 0:o.services.length)??0,I=A-R,V=(a?(a.os>0?1:0)+(a.engine>0?1:0)+(a.swap>0?1:0)+(a.models>0?1:0):0)+(((ce=a==null?void 0:a.components)==null?void 0:ce.filter(F=>F.update===!0).length)??0),z=m!=null&&m.available?m.open_count:0,K=h!=null&&h.available?h.items.filter(F=>F.status==="blocked").length:0,G=f?[f.gateway,f.memory,f.desktop_gateway]:[],ue=G.filter(F=>F==null?void 0:F.ok).length,oe=f?f.gateway.ok?f.memory.ok?f.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",ee=(Ce=s==null?void 0:s.models)==null?void 0:Ce.find(F=>F.role==="hermes"),me=ee!=null&&ee.name?(Ne=ee.name.split("/").pop())==null?void 0:Ne.replace(/\.gguf$/i,""):"",ke=o==null?void 0:o.services.filter(F=>!F.ok).map(F=>F.name).join(", "),le=a?[a.os>0&&"OS",a.engine>0&&"Engine",a.swap>0&&"Swap",a.models>0&&"Modelle"].filter(Boolean):[],Le=le.length>0?le.join(" + "):"";return d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),d.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),d.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[d.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[d.jsx(Dw,{verdict:y.verdict,memory:y.memory,warns:y.warns,problems:y.problems}),d.jsxs("section",{children:[d.jsx(Nu,{children:"Leistung"}),d.jsx("div",{className:"grid gap-4 md:grid-cols-1",children:d.jsx(_w,{})}),d.jsx("div",{className:"mt-4",children:d.jsx(Ow,{})}),d.jsx("div",{className:"mt-4",children:d.jsx(Tw,{})})]}),d.jsxs("section",{children:[d.jsx(Nu,{children:"Bereiche"}),d.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[d.jsx(yi,{icon:ic,title:"Auftragsbuch",value:m!=null&&m.available?z:"—",unit:z===1?"Vorschlag":"Vorschläge",tone:m?K>0||z>0?"warn":"ok":"loading",hint:K>0?`${K} Karte${K===1?"":"n"} wartet auf deine Antwort`:z>0?`${z} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>r("auftraege")}),d.jsx(yi,{icon:Sp,title:"Modelle",value:b,unit:"warm",tone:b>0?"ok":"muted",hint:me?`Hirn: ${me}`:"Kein Hermes-Modell geladen",onClick:()=>r("models")}),d.jsx(yi,{icon:cl,title:"Dienste",value:o?`${R}/${A}`:"…",unit:"laufen",tone:o?I>0?"warn":"ok":"loading",hint:ke?`Ausfall: ${ke}`:"Alle Dienste online",onClick:()=>al("maintenance")}),d.jsx(yi,{icon:lc,title:"Updates",value:a?V>0?V:"0":"…",unit:V>0?"bereit":"aktuell",tone:a?V>0?"warn":"ok":"loading",hint:V>0?`Verfügbar: ${Le}`:"Alles auf dem neuesten Stand",onClick:()=>al("maintenance")}),d.jsx(yi,{icon:oc,title:"Verbinden",value:f?`${ue}/${G.length}`:"…",unit:"Leitungen",tone:f?ue===G.length?"ok":"warn":"loading",hint:oe?`Gestört: ${oe}`:"Hermes Desktop & IDEs bereit",onClick:()=>r("connect")})]})]})]}),d.jsxs("div",{className:"space-y-6",children:[d.jsx(Aw,{problems:y.problems,pendingCount:V,openAuftraege:z,blockedIdeen:K,busy:P,onRepair:D,onNavigate:r}),d.jsxs("section",{children:[d.jsx(Nu,{children:"Werkzeuge & Diagnose"}),d.jsx(zw,{agent:u,svcErrors:I,onNavigate:r})]})]})]}),w]})}function Nu({children:r}){return d.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:r})}function Dw({verdict:r,memory:s,warns:o,problems:a}){const u=o.length?`${o[0].label}: ${o[0].detail}${o.length>1?` (+${o.length-1} weitere)`:""}`:s.status==="full"?s.text:"Nichts Schlimmes — nur ein Hinweis.",f=a.length?`${a[0].label}: ${a[0].detail}${a.length>1?` (+${a.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",m={loading:{ring:"border-border/60 bg-card/45",icon:ji,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:Vy,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:Ci,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:u},problem:{ring:"border-red-500/50 bg-red-500/5",icon:Ci,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:f}}[r],h=m.icon,y={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[s.status],k={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[s.status];return d.jsxs("div",{className:Ee("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",m.ring),children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:d.jsx(h,{className:Ee("h-6 w-6",m.iconCls)})}),d.jsxs("div",{className:"min-w-0",children:[d.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:m.title}),d.jsx("p",{className:"text-xs text-muted-foreground",children:m.sub})]})]}),d.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[d.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[d.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[d.jsx(By,{className:"h-3.5 w-3.5"})," Speicher"]}),d.jsx("span",{className:Ee("font-mono font-bold",y),children:s.status==="unknown"?"—":`${s.usedGb.toFixed(1)} / ${s.totalGb.toFixed(1)} GB`})]}),d.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:d.jsx("div",{className:Ee("h-full rounded-full transition-all duration-500",k),style:{width:`${s.pct}%`}})})]})]})}function Aw({problems:r,pendingCount:s,openAuftraege:o,blockedIdeen:a,busy:u,onRepair:f,onNavigate:m}){const h=s>0,y=o>0,k=a>0,w=r.length===0&&!h&&!y&&!k;return d.jsx("div",{className:"h-full flex flex-col justify-between",children:w?d.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[d.jsx(My,{className:"h-5 w-5 shrink-0 text-emerald-400"}),d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):d.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[r.map(x=>d.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[d.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[d.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:d.jsx(x.icon,{className:"h-4.5 w-4.5"})}),d.jsxs("div",{className:"min-w-0 flex-1",children:[d.jsx("p",{className:"text-sm font-bold text-foreground",children:x.label}),d.jsx("p",{className:"truncate text-xs text-muted-foreground",children:x.detail})]})]}),x.repair&&d.jsxs("button",{onClick:()=>x.repair&&f(x.id,x.repair),disabled:!!u[x.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[u[x.id]?d.jsx(ji,{className:"h-3.5 w-3.5 animate-spin"}):d.jsx(r0,{className:"h-3.5 w-3.5"}),x.repair.label]})]},x.id)),k&&d.jsxs("button",{onClick:()=>m("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:d.jsx(Ep,{className:"h-4.5 w-4.5"})}),d.jsxs("div",{children:[d.jsxs("p",{className:"text-sm font-bold text-foreground",children:[a," Karte",a===1?"":"n"," braucht deine Antwort"]}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),d.jsx(wi,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),y&&d.jsxs("button",{onClick:()=>m("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:d.jsx(ic,{className:"h-4.5 w-4.5"})}),d.jsxs("div",{children:[d.jsxs("p",{className:"text-sm font-bold text-foreground",children:[o," Vorschl",o===1?"ag":"äge"," im Auftragsbuch"]}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),d.jsx(wi,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),h&&d.jsxs("button",{onClick:()=>al("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:d.jsx(lc,{className:"h-4.5 w-4.5"})}),d.jsxs("div",{children:[d.jsxs("p",{className:"text-sm font-bold text-foreground",children:[s," Update",s===1?"":"s"," bereit"]}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),d.jsx(wi,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function zw({agent:r,svcErrors:s,onNavigate:o}){const a=[{label:"Hermes Agent",status:r?r.gateway_reachable?"Bereit":"Offline":"…",tone:r?r.gateway_reachable?"ok":"alert":"loading",action:()=>o("agent")},{label:"Konsole (Box-Shell)",status:r?r.box_console_reachable?"Bereit":"Offline":"…",tone:r?r.box_console_reachable?"ok":"warn":"loading",action:()=>o("konsole")},{label:"Systemlogs & Diagnose",status:s>0?`${s} Fehler`:"Keine Fehler",tone:s>0?"alert":"ok",action:()=>al("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>o("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>o("chronik")}];return d.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:d.jsx("div",{className:"divide-y divide-border/20",children:a.map((u,f)=>{const m={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[u.tone];return d.jsxs("button",{onClick:u.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[d.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:u.label}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:Ee("text-[10px] font-semibold font-mono",u.tone==="ok"?"text-emerald-400":u.tone==="warn"?"text-amber-400":u.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:u.status}),d.jsx("span",{className:Ee("h-1.5 w-1.5 rounded-full",m)})]})]},f)})})})}const Fw=g.lazy(()=>Wt(()=>import("./ModelsView-BYDzvdzC.js"),__vite__mapDeps([2,3,4,5,6,7,8])).then(r=>({default:r.ModelsView}))),Iw=g.lazy(()=>Wt(()=>import("./ConnectView-Cz-npKrg.js"),__vite__mapDeps([9,7])).then(r=>({default:r.ConnectView}))),Uw=g.lazy(()=>Wt(()=>import("./AgentView-BgTBq7Qa.js"),[]).then(r=>({default:r.AgentView}))),$w=g.lazy(()=>Wt(()=>import("./KonsoleView-pXiZKOZ7.js"),[]).then(r=>({default:r.KonsoleView}))),Bw=g.lazy(()=>Wt(()=>import("./GuideView-CP1Y1rbp.js"),__vite__mapDeps([10,6,8])).then(r=>({default:r.GuideView}))),Vw=g.lazy(()=>Wt(()=>import("./AuftragsbuchView-C0bzCKZ0.js"),__vite__mapDeps([11,12,7])).then(r=>({default:r.AuftragsbuchView}))),Hw=g.lazy(()=>Wt(()=>import("./IdeenView-wVxyfCCm.js"),__vite__mapDeps([13,12,4,8,7,5])).then(r=>({default:r.IdeenView}))),Ww=g.lazy(()=>Wt(()=>import("./SkillsView-C5MWeKc5.js"),__vite__mapDeps([14,3])).then(r=>({default:r.SkillsView}))),Qw=g.lazy(()=>Wt(()=>import("./ChronikView-Bz_yVFvS.js"),__vite__mapDeps([15,5])).then(r=>({default:r.ChronikView}))),Kw=g.lazy(()=>Wt(()=>import("./WissenView-DOJLqZxA.js"),__vite__mapDeps([16,1])).then(r=>({default:r.WissenView})));function qw(){return d.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:d.jsx(ji,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const Gw=/Mac|iPhone|iPad/.test(navigator.platform);function Zw(){ww(),J1();const[r,s]=g.useState(()=>{const b=window.location.hash.slice(1);return is.some(R=>R.id===b)?b:"dashboard"}),o=g.useCallback(b=>{window.location.hash.slice(1)===b?s(b):window.location.hash=b},[]),[a,u]=g.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[f,m]=g.useState(!1),[h,y]=g.useState(!1),[k,w]=g.useState("maintenance"),{data:x,isError:P}=xm(),{data:_}=vl();g.useEffect(()=>{document.documentElement.classList.add("dark")},[]),g.useEffect(()=>{const b=R=>{var I;w(((I=R.detail)==null?void 0:I.tab)||"maintenance"),y(!0)};return window.addEventListener("open-system-drawer",b),()=>window.removeEventListener("open-system-drawer",b)},[]),g.useEffect(()=>{const b=R=>{var I;const A=(I=R.detail)==null?void 0:I.view;A&&o(A)};return window.addEventListener("mc-navigate",b),()=>window.removeEventListener("mc-navigate",b)},[o]),g.useEffect(()=>{const b=()=>{const R=window.location.hash.slice(1);is.some(A=>A.id===R)&&s(R)};return window.addEventListener("hashchange",b),()=>window.removeEventListener("hashchange",b)},[]),g.useEffect(()=>{m(!1)},[r]);const D=is.find(b=>b.id===r);return d.jsxs("div",{className:"flex h-full relative",children:[d.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),d.jsx(d1,{onNavigate:o}),d.jsx(mw,{open:h,onClose:()=>y(!1),defaultTab:k}),d.jsx("aside",{className:Ee("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",a?"w-16":"w-60"),children:d.jsx(Yh,{collapsed:a,onToggleCollapse:()=>{u(b=>{const R=!b;return localStorage.setItem("mc_sidebar_collapsed",R.toString()),R})},view:r,health:x,backendDown:P,sysStatus:_})}),d.jsxs("div",{className:Ee("md:hidden fixed inset-0 z-50 transition-opacity duration-200",f?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!f,children:[d.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>m(!1)}),d.jsx("aside",{className:Ee("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",f?"translate-x-0":"-translate-x-full"),children:d.jsx(Yh,{collapsed:!1,onClose:()=>m(!1),view:r,health:x,backendDown:P,sysStatus:_})})]}),d.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[d.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[d.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[d.jsx("button",{onClick:()=>m(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:d.jsx(Gy,{className:"h-5 w-5","aria-hidden":"true"})}),d.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:D.hint})]}),d.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[d.jsx(q1,{}),d.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm:flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),d.jsxs("button",{onClick:()=>{const b=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(b)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[d.jsx(Ay,{className:"h-3.5 w-3.5"}),d.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),d.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:Gw?"⌘K":"Strg+K"})]})]})]}),d.jsx("main",{className:"flex-1 overflow-y-auto p-4 md:p-6 scrollbar-thin",children:d.jsxs(g.Suspense,{fallback:d.jsx(qw,{}),children:[r==="dashboard"&&d.jsx(Lw,{onNavigate:b=>o(b)}),r==="ideen"&&d.jsx(Hw,{}),r==="auftraege"&&d.jsx(Vw,{}),r==="skills"&&d.jsx(Ww,{}),r==="models"&&d.jsx(Fw,{}),r==="connect"&&d.jsx(Iw,{}),r==="wissen"&&d.jsx(Kw,{}),r==="chronik"&&d.jsx(Qw,{}),r==="agent"&&d.jsx(Uw,{}),r==="konsole"&&d.jsx($w,{}),r==="guide"&&d.jsx(Bw,{})]})})]})]})}function Yh({collapsed:r,onToggleCollapse:s,onClose:o,view:a,health:u,backendDown:f,sysStatus:m}){var h,y,k,w,x;return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:Ee("flex items-center py-4 border-b border-border/40 shrink-0",r?"flex-col gap-3 px-2":"justify-between px-5"),children:[d.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[d.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!r&&d.jsxs("div",{className:"leading-tight",children:[d.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),d.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),s&&d.jsx("button",{onClick:s,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":r?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:r?"Maximieren":"Minimieren",children:r?d.jsx(wi,{className:"h-4 w-4","aria-hidden":"true"}):d.jsx(Oy,{className:"h-4 w-4","aria-hidden":"true"})}),o&&d.jsx("button",{onClick:o,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:d.jsx(dl,{className:"h-4 w-4","aria-hidden":"true"})})]}),d.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let P=null;return is.map(_=>{const D=_.group!==P;return P=_.group,d.jsxs("div",{className:"space-y-1",children:[D&&(r?P!==is[0].group&&d.jsx("div",{className:"my-3 border-t border-border/30"}):d.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:_.group})),d.jsxs("a",{href:`#${_.id}`,onClick:o,"aria-current":a===_.id?"page":void 0,className:Ee("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",r?"justify-center p-2.5":"gap-3 px-3 py-2",a===_.id?r?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:r?_.label:void 0,"aria-label":r?_.label:void 0,children:[d.jsx(_.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!r&&d.jsx("span",{className:"truncate",children:_.label})]})]},_.id)})})()}),d.jsx("div",{className:Ee("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",r?"px-2 text-center":"px-5"),children:r?d.jsx("div",{className:"flex justify-center",children:d.jsx("span",{className:Ee("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",f||!u?"bg-red-500":u.engine_reachable?u.brain&&!u.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:f?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":u?u.engine_reachable?u.brain&&!u.brain.ready?`Hirn offline (${u.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):d.jsxs("div",{className:"space-y-2 text-left",children:[f?d.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[d.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),d.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):u?d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"flex items-center gap-2",children:[d.jsx("span",{className:Ee("h-2 w-2 rounded-full animate-pulse",u.engine_reachable?"bg-emerald-500":"bg-amber-500")}),d.jsxs("span",{className:"truncate",children:["Engine ",u.engine_reachable?"online":"offline"]})]}),u.brain&&!u.brain.ready&&d.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${u.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[d.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),d.jsxs("span",{className:"truncate",children:["Hirn offline",u.brain.model?` (${u.brain.model})`:""]})]})]}):d.jsxs("span",{className:"flex items-center gap-2",children:[d.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",d.jsx("span",{className:"truncate",children:"Backend offline"})]}),(m==null?void 0:m.versions)&&d.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[d.jsxs("div",{className:"truncate",title:m.versions.mc2?`${m.versions.mc2.branch}-${m.versions.mc2.hash}${m.versions.mc2.dirty?"*":""} (${m.versions.mc2.date})`:"nicht gefunden",children:[d.jsx("strong",{children:"MC2:"})," ",m.versions.mc2?`${m.versions.mc2.hash}${m.versions.mc2.dirty?"*":""}`:"—"]}),d.jsxs("div",{className:"truncate",title:((h=m.versions.engine)==null?void 0:h.type)==="git"?`${m.versions.engine.branch}-${m.versions.engine.hash}${m.versions.engine.dirty?"*":""} (${m.versions.engine.date})`:((y=m.versions.engine)==null?void 0:y.version_text)||"unbekannt",children:[d.jsx("strong",{children:"Engine:"})," ",((k=m.versions.engine)==null?void 0:k.type)==="git"?`${m.versions.engine.hash}${m.versions.engine.dirty?"*":""}`:((x=(w=m.versions.engine)==null?void 0:w.version_text)==null?void 0:x.split(" ").pop())||"—"]}),d.jsxs("div",{className:"truncate",title:m.versions.hermes_agent?`${m.versions.hermes_agent.branch}-${m.versions.hermes_agent.hash}${m.versions.hermes_agent.dirty?"*":""} (${m.versions.hermes_agent.date})`:"nicht gefunden",children:[d.jsx("strong",{children:"Hermes Agent:"})," ",m.versions.hermes_agent?`${m.versions.hermes_agent.hash}${m.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}class Yw extends Ju.Component{constructor(){super(...arguments);Qo(this,"state",{error:null})}static getDerivedStateFromError(o){return{error:o}}componentDidCatch(o,a){console.error("Unbehandelter UI-Fehler:",o,a.componentStack)}render(){return this.state.error?d.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:d.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[d.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),d.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),d.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const ju="mc_neuladen_wegen_version";function Xw(){window.addEventListener("vite:preloadError",r=>{sessionStorage.getItem(ju)||(r.preventDefault(),sessionStorage.setItem(ju,"1"),window.location.reload())}),window.addEventListener("load",()=>{window.setTimeout(()=>sessionStorage.removeItem(ju),5e3)})}Xw();const Jw=new ay({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});Av.createRoot(document.getElementById("root")).render(d.jsx(Ju.StrictMode,{children:d.jsx(Yw,{children:d.jsx(uy,{client:Jw,children:d.jsx(Zw,{})})})}));export{Uy as $,ow as A,Py as B,My as C,jh as D,jp as E,wi as F,Ty as G,By as H,iw as I,zy as J,tk as K,ji as L,Ni as M,jy as N,_p as O,Yy as P,t0 as Q,ss as R,Xy as S,Ci as T,gi as U,cl as V,r0 as W,dl as X,Sp as Y,oc as Z,qy as _,uk as a,e0 as a0,ew as a1,tw as a2,Ly as a3,vk as a4,ic as a5,sk as a6,Ep as a7,Iy as a8,Di as a9,_u as aa,bi as ab,iy as ac,it as ad,bt as ae,hp as af,Be as ag,sw as ah,mk as ai,ik as aj,Hy as ak,lc as al,Vy as am,nw as an,Ju as ao,ap,ok as aq,lk as ar,Ky as as,m1 as at,Xu as au,Mp as av,ec as aw,Ee as b,ge as c,rk as d,Cy as e,km as f,ak as g,vl as h,ck as i,d as j,ym as k,pk as l,fk as m,Se as n,ts as o,p1 as p,Pe as q,g as r,nk as s,Np as t,ul as u,gk as v,dk as w,Sm as x,Eu as y,hk as z}; diff --git a/frontend/dist/assets/index-Bb8GyPHo.js b/frontend/dist/assets/index-Bb8GyPHo.js new file mode 100644 index 0000000..fd399d8 --- /dev/null +++ b/frontend/dist/assets/index-Bb8GyPHo.js @@ -0,0 +1,245 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SystemDrawer-TPlJzWjm.js","assets/refresh-cw-C3saW9zg.js","assets/file-text-Bdam-Njc.js","assets/search-CKPXZNvI.js","assets/shield-DNyHWe3b.js","assets/circle-check-Crmfz00W.js","assets/arrow-right-D09OliuI.js","assets/clock-uyqKk7Jn.js","assets/external-link-P1_1JELD.js","assets/power-BF5yiJ4i.js","assets/CommandPalette-Bzgk4pnl.js","assets/index-wthGkuS_.js","assets/LiveAreaChartImpl-CGtRHSfm.js","assets/string-DoZi9Vij.js","assets/ModelsView-BM7QJHLl.js","assets/JobsBar-D2vfhT2b.js","assets/code-xml-D7ACEH7O.js","assets/zap-CsukfbMs.js","assets/chevron-down-BGRm8kVZ.js","assets/layers-y2iqT_Gl.js","assets/ConnectView-1pPeysE2.js","assets/AgentView-B0wsg8uQ.js","assets/KonsoleView-50ZTmnVb.js","assets/GuideView-DYdOo_ra.js","assets/AuftragsbuchView-Ca4tUml_.js","assets/SectionLabel-CS0KgrzT.js","assets/IdeenView-C8BKiJHT.js","assets/SkillsView-BPaqT2zI.js","assets/WissenView-zIpzRZKj.js"])))=>i.map(i=>d[i]); +var lv=Object.defineProperty;var Ih=n=>{throw TypeError(n)};var av=(n,r,i)=>r in n?lv(n,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[r]=i;var dl=(n,r,i)=>av(n,typeof r!="symbol"?r+"":r,i),Mu=(n,r,i)=>r.has(n)||Ih("Cannot "+i);var P=(n,r,i)=>(Mu(n,r,"read from private field"),i?i.call(n):r.get(n)),ce=(n,r,i)=>r.has(n)?Ih("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(n):r.set(n,i),ne=(n,r,i,l)=>(Mu(n,r,"write to private field"),l?l.call(n,i):r.set(n,i),i),xe=(n,r,i)=>(Mu(n,r,"access private method"),i);var fl=(n,r,i,l)=>({set _(a){ne(n,r,a,i)},get _(){return P(n,r,l)}});function uv(n,r){for(var i=0;il[a]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&l(f)}).observe(document,{childList:!0,subtree:!0});function i(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=i(a);fetch(a.href,c)}})();function qp(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Tu={exports:{}},Ri={},Iu={exports:{}},ve={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Dh;function cv(){if(Dh)return ve;Dh=1;var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),y=Symbol.iterator;function w(R){return R===null||typeof R!="object"?null:(R=y&&R[y]||R["@@iterator"],typeof R=="function"?R:null)}var k={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,b={};function C(R,A,pe){this.props=R,this.context=A,this.refs=b,this.updater=pe||k}C.prototype.isReactComponent={},C.prototype.setState=function(R,A){if(typeof R!="object"&&typeof R!="function"&&R!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,R,A,"setState")},C.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function L(){}L.prototype=C.prototype;function N(R,A,pe){this.props=R,this.context=A,this.refs=b,this.updater=pe||k}var F=N.prototype=new L;F.constructor=N,S(F,C.prototype),F.isPureReactComponent=!0;var I=Array.isArray,U=Object.prototype.hasOwnProperty,O={current:null},Y={key:!0,ref:!0,__self:!0,__source:!0};function Q(R,A,pe){var ge,ke={},ye=null,Re=null;if(A!=null)for(ge in A.ref!==void 0&&(Re=A.ref),A.key!==void 0&&(ye=""+A.key),A)U.call(A,ge)&&!Y.hasOwnProperty(ge)&&(ke[ge]=A[ge]);var Ee=arguments.length-2;if(Ee===1)ke.children=pe;else if(1>>1,A=V[R];if(0>>1;Ra(ke,X))yea(Re,ke)?(V[R]=Re,V[ye]=X,R=ye):(V[R]=ke,V[ge]=X,R=ge);else if(yea(Re,X))V[R]=Re,V[ye]=X,R=ye;else break e}}return oe}function a(V,oe){var X=V.sortIndex-oe.sortIndex;return X!==0?X:V.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var p=[],m=[],x=1,y=null,w=3,k=!1,S=!1,b=!1,C=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function F(V){for(var oe=i(m);oe!==null;){if(oe.callback===null)l(m);else if(oe.startTime<=V)l(m),oe.sortIndex=oe.expirationTime,r(p,oe);else break;oe=i(m)}}function I(V){if(b=!1,F(V),!S)if(i(p)!==null)S=!0,we(U);else{var oe=i(m);oe!==null&&he(I,oe.startTime-V)}}function U(V,oe){S=!1,b&&(b=!1,L(Q),Q=-1),k=!0;var X=w;try{for(F(oe),y=i(p);y!==null&&(!(y.expirationTime>oe)||V&&!J());){var R=y.callback;if(typeof R=="function"){y.callback=null,w=y.priorityLevel;var A=R(y.expirationTime<=oe);oe=n.unstable_now(),typeof A=="function"?y.callback=A:y===i(p)&&l(p),F(oe)}else l(p);y=i(p)}if(y!==null)var pe=!0;else{var ge=i(m);ge!==null&&he(I,ge.startTime-oe),pe=!1}return pe}finally{y=null,w=X,k=!1}}var O=!1,Y=null,Q=-1,z=5,q=-1;function J(){return!(n.unstable_now()-qV||125R?(V.sortIndex=X,r(m,V),i(p)===null&&V===i(m)&&(b?(L(Q),Q=-1):b=!0,he(I,X-R))):(V.sortIndex=A,r(p,V),S||k||(S=!0,we(U))),V},n.unstable_shouldYield=J,n.unstable_wrapCallback=function(V){var oe=w;return function(){var X=w;w=oe;try{return V.apply(this,arguments)}finally{w=X}}}})(zu)),zu}var Uh;function pv(){return Uh||(Uh=1,Fu.exports=hv()),Fu.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Bh;function mv(){if(Bh)return vt;Bh=1;var n=Xi(),r=pv();function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,m=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,x={},y={};function w(e){return p.call(y,e)?!0:p.call(x,e)?!1:m.test(e)?y[e]=!0:(x[e]=!0,!1)}function k(e,t,s,o){if(s!==null&&s.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function S(e,t,s,o){if(t===null||typeof t>"u"||k(e,t,s,o))return!0;if(o)return!1;if(s!==null)switch(s.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function b(e,t,s,o,u,d,g){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=u,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=d,this.removeEmptyString=g}var C={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){C[e]=new b(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];C[t]=new b(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){C[e]=new b(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){C[e]=new b(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){C[e]=new b(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){C[e]=new b(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){C[e]=new b(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){C[e]=new b(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){C[e]=new b(e,5,!1,e.toLowerCase(),null,!1,!1)});var L=/[\-:]([a-z])/g;function N(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(L,N);C[t]=new b(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(L,N);C[t]=new b(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(L,N);C[t]=new b(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){C[e]=new b(e,1,!1,e.toLowerCase(),null,!1,!1)}),C.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){C[e]=new b(e,1,!1,e.toLowerCase(),null,!0,!0)});function F(e,t,s,o){var u=C.hasOwnProperty(t)?C[t]:null;(u!==null?u.type!==0:o||!(2_||u[g]!==d[_]){var E=` +`+u[g].replace(" at new "," at ");return e.displayName&&E.includes("")&&(E=E.replace("",e.displayName)),E}while(1<=g&&0<=_);break}}}finally{pe=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?A(e):""}function ke(e){switch(e.tag){case 5:return A(e.type);case 16:return A("Lazy");case 13:return A("Suspense");case 19:return A("SuspenseList");case 0:case 2:case 15:return e=ge(e.type,!1),e;case 11:return e=ge(e.type.render,!1),e;case 1:return e=ge(e.type,!0),e;default:return""}}function ye(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Y:return"Fragment";case O:return"Portal";case z:return"Profiler";case Q:return"StrictMode";case de:return"Suspense";case W:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case J:return(e.displayName||"Context")+".Consumer";case q:return(e._context.displayName||"Context")+".Provider";case Z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ee:return t=e.displayName||null,t!==null?t:ye(e.type)||"Memo";case we:t=e._payload,e=e._init;try{return ye(e(t))}catch{}}return null}function Re(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(t);case 8:return t===Q?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ee(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ne(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function tt(e){var t=Ne(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var u=s.get,d=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(g){o=""+g,d.call(this,g)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return o},setValue:function(g){o=""+g},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ln(e){e._valueTracker||(e._valueTracker=tt(e))}function ur(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),o="";return e&&(o=Ne(e)?e.checked?"true":"false":e.value),e=o,e!==s?(t.setValue(e),!0):!1}function cr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Hr(e,t){var s=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function Vs(e,t){var s=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;s=Ee(t.value!=null?t.value:s),e._wrapperState={initialChecked:o,initialValue:s,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function qt(e,t){t=t.checked,t!=null&&F(e,"checked",t,!1)}function dr(e,t){qt(e,t);var s=Ee(t.value),o=t.type;if(s!=null)o==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?fr(e,t.type,s):t.hasOwnProperty("defaultValue")&&fr(e,t.type,Ee(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function an(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function fr(e,t,s){(t!=="number"||cr(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var hr=Array.isArray;function Cn(e,t,s,o){if(e=e.options,t){t={};for(var u=0;u"+t.valueOf().toString()+"",t=no.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ws(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=t;return}}e.textContent=t}var Qs={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},dg=["Webkit","ms","Moz","O"];Object.keys(Qs).forEach(function(e){dg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Qs[t]=Qs[e]})});function qc(e,t,s){return t==null||typeof t=="boolean"||t===""?"":s||typeof t!="number"||t===0||Qs.hasOwnProperty(e)&&Qs[e]?(""+t).trim():t+"px"}function Gc(e,t){e=e.style;for(var s in t)if(t.hasOwnProperty(s)){var o=s.indexOf("--")===0,u=qc(s,t[s],o);s==="float"&&(s="cssFloat"),o?e.setProperty(s,u):e[s]=u}}var fg=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hl(e,t){if(t){if(fg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(i(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(t.style!=null&&typeof t.style!="object")throw Error(i(62))}}function Wl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ql=null;function Kl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ql=null,Qr=null,Kr=null;function Yc(e){if(e=pi(e)){if(typeof ql!="function")throw Error(i(280));var t=e.stateNode;t&&(t=Eo(t),ql(e.stateNode,e.type,t))}}function Zc(e){Qr?Kr?Kr.push(e):Kr=[e]:Qr=e}function Xc(){if(Qr){var e=Qr,t=Kr;if(Kr=Qr=null,Yc(e),t)for(e=0;e>>=0,e===0?32:31-(bg(e)/_g|0)|0}var lo=64,ao=4194304;function Ys(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function uo(e,t){var s=e.pendingLanes;if(s===0)return 0;var o=0,u=e.suspendedLanes,d=e.pingedLanes,g=s&268435455;if(g!==0){var _=g&~u;_!==0?o=Ys(_):(d&=g,d!==0&&(o=Ys(d)))}else g=s&~u,g!==0?o=Ys(g):d!==0&&(o=Ys(d));if(o===0)return 0;if(t!==0&&t!==o&&(t&u)===0&&(u=o&-o,d=t&-t,u>=d||u===16&&(d&4194240)!==0))return t;if((o&4)!==0&&(o|=s&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0s;s++)t.push(e);return t}function Zs(e,t,s){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-At(t),e[t]=s}function jg(e,t){var s=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0=ii),Ed=" ",Pd=!1;function jd(e,t){switch(e){case"keyup":return ny.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Yr=!1;function sy(e,t){switch(e){case"compositionend":return Rd(t);case"keypress":return t.which!==32?null:(Pd=!0,Ed);case"textInput":return e=t.data,e===Ed&&Pd?null:e;default:return null}}function iy(e,t){if(Yr)return e==="compositionend"||!fa&&jd(e,t)?(e=wd(),mo=oa=Nn=null,Yr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:s,offset:t-e};e=o}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Fd(s)}}function Od(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Od(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ad(){for(var e=window,t=cr();t instanceof e.HTMLIFrameElement;){try{var s=typeof t.contentWindow.location.href=="string"}catch{s=!1}if(s)e=t.contentWindow;else break;t=cr(e.document)}return t}function ma(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function py(e){var t=Ad(),s=e.focusedElem,o=e.selectionRange;if(t!==s&&s&&s.ownerDocument&&Od(s.ownerDocument.documentElement,s)){if(o!==null&&ma(s)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in s)s.selectionStart=t,s.selectionEnd=Math.min(e,s.value.length);else if(e=(t=s.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var u=s.textContent.length,d=Math.min(o.start,u);o=o.end===void 0?d:Math.min(o.end,u),!e.extend&&d>o&&(u=o,o=d,d=u),u=zd(s,d);var g=zd(s,o);u&&g&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==g.node||e.focusOffset!==g.offset)&&(t=t.createRange(),t.setStart(u.node,u.offset),e.removeAllRanges(),d>o?(e.addRange(t),e.extend(g.node,g.offset)):(t.setEnd(g.node,g.offset),e.addRange(t)))}}for(t=[],e=s;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s=document.documentMode,Zr=null,ga=null,ui=null,ya=!1;function Ud(e,t,s){var o=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;ya||Zr==null||Zr!==cr(o)||(o=Zr,"selectionStart"in o&&ma(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),ui&&ai(ui,o)||(ui=o,o=bo(ga,"onSelect"),0ns||(e.current=Ra[ns],Ra[ns]=null,ns--)}function Me(e,t){ns++,Ra[ns]=e.current,e.current=t}var In={},it=Tn(In),ht=Tn(!1),gr=In;function rs(e,t){var s=e.type.contextTypes;if(!s)return In;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var u={},d;for(d in s)u[d]=t[d];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=u),u}function pt(e){return e=e.childContextTypes,e!=null}function Po(){Ie(ht),Ie(it)}function tf(e,t,s){if(it.current!==In)throw Error(i(168));Me(it,t),Me(ht,s)}function nf(e,t,s){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return s;o=o.getChildContext();for(var u in o)if(!(u in t))throw Error(i(108,Re(e)||"Unknown",u));return X({},s,o)}function jo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||In,gr=it.current,Me(it,e),Me(ht,ht.current),!0}function rf(e,t,s){var o=e.stateNode;if(!o)throw Error(i(169));s?(e=nf(e,t,gr),o.__reactInternalMemoizedMergedChildContext=e,Ie(ht),Ie(it),Me(it,e)):Ie(ht),Me(ht,s)}var cn=null,Ro=!1,Na=!1;function sf(e){cn===null?cn=[e]:cn.push(e)}function Ey(e){Ro=!0,sf(e)}function Dn(){if(!Na&&cn!==null){Na=!0;var e=0,t=je;try{var s=cn;for(je=1;e>=g,u-=g,dn=1<<32-At(t)+u|s<fe?(Je=ue,ue=null):Je=ue.sibling;var Ce=B(M,ue,T[fe],G);if(Ce===null){ue===null&&(ue=Je);break}e&&ue&&Ce.alternate===null&&t(M,ue),j=d(Ce,j,fe),ae===null?le=Ce:ae.sibling=Ce,ae=Ce,ue=Je}if(fe===T.length)return s(M,ue),ze&&vr(M,fe),le;if(ue===null){for(;fefe?(Je=ue,ue=null):Je=ue.sibling;var Hn=B(M,ue,Ce.value,G);if(Hn===null){ue===null&&(ue=Je);break}e&&ue&&Hn.alternate===null&&t(M,ue),j=d(Hn,j,fe),ae===null?le=Hn:ae.sibling=Hn,ae=Hn,ue=Je}if(Ce.done)return s(M,ue),ze&&vr(M,fe),le;if(ue===null){for(;!Ce.done;fe++,Ce=T.next())Ce=K(M,Ce.value,G),Ce!==null&&(j=d(Ce,j,fe),ae===null?le=Ce:ae.sibling=Ce,ae=Ce);return ze&&vr(M,fe),le}for(ue=o(M,ue);!Ce.done;fe++,Ce=T.next())Ce=te(ue,M,fe,Ce.value,G),Ce!==null&&(e&&Ce.alternate!==null&&ue.delete(Ce.key===null?fe:Ce.key),j=d(Ce,j,fe),ae===null?le=Ce:ae.sibling=Ce,ae=Ce);return e&&ue.forEach(function(ov){return t(M,ov)}),ze&&vr(M,fe),le}function We(M,j,T,G){if(typeof T=="object"&&T!==null&&T.type===Y&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case U:e:{for(var le=T.key,ae=j;ae!==null;){if(ae.key===le){if(le=T.type,le===Y){if(ae.tag===7){s(M,ae.sibling),j=u(ae,T.props.children),j.return=M,M=j;break e}}else if(ae.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===we&&df(le)===ae.type){s(M,ae.sibling),j=u(ae,T.props),j.ref=mi(M,ae,T),j.return=M,M=j;break e}s(M,ae);break}else t(M,ae);ae=ae.sibling}T.type===Y?(j=Er(T.props.children,M.mode,G,T.key),j.return=M,M=j):(G=rl(T.type,T.key,T.props,null,M.mode,G),G.ref=mi(M,j,T),G.return=M,M=G)}return g(M);case O:e:{for(ae=T.key;j!==null;){if(j.key===ae)if(j.tag===4&&j.stateNode.containerInfo===T.containerInfo&&j.stateNode.implementation===T.implementation){s(M,j.sibling),j=u(j,T.children||[]),j.return=M,M=j;break e}else{s(M,j);break}else t(M,j);j=j.sibling}j=Pu(T,M.mode,G),j.return=M,M=j}return g(M);case we:return ae=T._init,We(M,j,ae(T._payload),G)}if(hr(T))return se(M,j,T,G);if(oe(T))return ie(M,j,T,G);To(M,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,j!==null&&j.tag===6?(s(M,j.sibling),j=u(j,T),j.return=M,M=j):(s(M,j),j=Eu(T,M.mode,G),j.return=M,M=j),g(M)):s(M,j)}return We}var ls=ff(!0),hf=ff(!1),Io=Tn(null),Do=null,as=null,Fa=null;function za(){Fa=as=Do=null}function Oa(e){var t=Io.current;Ie(Io),e._currentValue=t}function Aa(e,t,s){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===s)break;e=e.return}}function us(e,t){Do=e,Fa=as=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(mt=!0),e.firstContext=null)}function It(e){var t=e._currentValue;if(Fa!==e)if(e={context:e,memoizedValue:t,next:null},as===null){if(Do===null)throw Error(i(308));as=e,Do.dependencies={lanes:0,firstContext:e}}else as=as.next=e;return t}var xr=null;function Ua(e){xr===null?xr=[e]:xr.push(e)}function pf(e,t,s,o){var u=t.interleaved;return u===null?(s.next=s,Ua(t)):(s.next=u.next,u.next=s),t.interleaved=s,hn(e,o)}function hn(e,t){e.lanes|=t;var s=e.alternate;for(s!==null&&(s.lanes|=t),s=e,e=e.return;e!==null;)e.childLanes|=t,s=e.alternate,s!==null&&(s.childLanes|=t),s=e,e=e.return;return s.tag===3?s.stateNode:null}var Fn=!1;function Ba(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mf(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function pn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function zn(e,t,s){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(be&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,hn(e,s)}return u=o.interleaved,u===null?(t.next=t,Ua(o)):(t.next=u.next,u.next=t),o.interleaved=t,hn(e,s)}function Fo(e,t,s){if(t=t.updateQueue,t!==null&&(t=t.shared,(s&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,s|=o,t.lanes=s,ta(e,s)}}function gf(e,t){var s=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,s===o)){var u=null,d=null;if(s=s.firstBaseUpdate,s!==null){do{var g={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};d===null?u=d=g:d=d.next=g,s=s.next}while(s!==null);d===null?u=d=t:d=d.next=t}else u=d=t;s={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:d,shared:o.shared,effects:o.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function zo(e,t,s,o){var u=e.updateQueue;Fn=!1;var d=u.firstBaseUpdate,g=u.lastBaseUpdate,_=u.shared.pending;if(_!==null){u.shared.pending=null;var E=_,D=E.next;E.next=null,g===null?d=D:g.next=D,g=E;var $=e.alternate;$!==null&&($=$.updateQueue,_=$.lastBaseUpdate,_!==g&&(_===null?$.firstBaseUpdate=D:_.next=D,$.lastBaseUpdate=E))}if(d!==null){var K=u.baseState;g=0,$=D=E=null,_=d;do{var B=_.lane,te=_.eventTime;if((o&B)===B){$!==null&&($=$.next={eventTime:te,lane:0,tag:_.tag,payload:_.payload,callback:_.callback,next:null});e:{var se=e,ie=_;switch(B=t,te=s,ie.tag){case 1:if(se=ie.payload,typeof se=="function"){K=se.call(te,K,B);break e}K=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=ie.payload,B=typeof se=="function"?se.call(te,K,B):se,B==null)break e;K=X({},K,B);break e;case 2:Fn=!0}}_.callback!==null&&_.lane!==0&&(e.flags|=64,B=u.effects,B===null?u.effects=[_]:B.push(_))}else te={eventTime:te,lane:B,tag:_.tag,payload:_.payload,callback:_.callback,next:null},$===null?(D=$=te,E=K):$=$.next=te,g|=B;if(_=_.next,_===null){if(_=u.shared.pending,_===null)break;B=_,_=B.next,B.next=null,u.lastBaseUpdate=B,u.shared.pending=null}}while(!0);if($===null&&(E=K),u.baseState=E,u.firstBaseUpdate=D,u.lastBaseUpdate=$,t=u.shared.interleaved,t!==null){u=t;do g|=u.lane,u=u.next;while(u!==t)}else d===null&&(u.shared.lanes=0);Sr|=g,e.lanes=g,e.memoizedState=K}}function yf(e,t,s){if(e=t.effects,t.effects=null,e!==null)for(t=0;ts?s:4,e(!0);var o=Qa.transition;Qa.transition={};try{e(!1),t()}finally{je=s,Qa.transition=o}}function Ff(){return Dt().memoizedState}function Ny(e,t,s){var o=Bn(e);if(s={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null},zf(e))Of(t,s);else if(s=pf(e,t,s,o),s!==null){var u=dt();Wt(s,e,o,u),Af(s,t,o)}}function Ly(e,t,s){var o=Bn(e),u={lane:o,action:s,hasEagerState:!1,eagerState:null,next:null};if(zf(e))Of(t,u);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var g=t.lastRenderedState,_=d(g,s);if(u.hasEagerState=!0,u.eagerState=_,Ut(_,g)){var E=t.interleaved;E===null?(u.next=u,Ua(t)):(u.next=E.next,E.next=u),t.interleaved=u;return}}catch{}finally{}s=pf(e,t,u,o),s!==null&&(u=dt(),Wt(s,e,o,u),Af(s,t,o))}}function zf(e){var t=e.alternate;return e===Be||t!==null&&t===Be}function Of(e,t){xi=Uo=!0;var s=e.pending;s===null?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function Af(e,t,s){if((s&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,s|=o,t.lanes=s,ta(e,s)}}var Vo={readContext:It,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useInsertionEffect:ot,useLayoutEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useMutableSource:ot,useSyncExternalStore:ot,useId:ot,unstable_isNewReconciler:!1},My={readContext:It,useCallback:function(e,t){return Jt().memoizedState=[e,t===void 0?null:t],e},useContext:It,useEffect:jf,useImperativeHandle:function(e,t,s){return s=s!=null?s.concat([e]):null,Bo(4194308,4,Lf.bind(null,t,e),s)},useLayoutEffect:function(e,t){return Bo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Bo(4,2,e,t)},useMemo:function(e,t){var s=Jt();return t=t===void 0?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var o=Jt();return t=s!==void 0?s(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Ny.bind(null,Be,e),[o.memoizedState,e]},useRef:function(e){var t=Jt();return e={current:e},t.memoizedState=e},useState:Ef,useDebugValue:Ja,useDeferredValue:function(e){return Jt().memoizedState=e},useTransition:function(){var e=Ef(!1),t=e[0];return e=Ry.bind(null,e[1]),Jt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,s){var o=Be,u=Jt();if(ze){if(s===void 0)throw Error(i(407));s=s()}else{if(s=t(),Xe===null)throw Error(i(349));(kr&30)!==0||kf(o,t,s)}u.memoizedState=s;var d={value:s,getSnapshot:t};return u.queue=d,jf(bf.bind(null,o,d,e),[e]),o.flags|=2048,Si(9,Sf.bind(null,o,d,s,t),void 0,null),s},useId:function(){var e=Jt(),t=Xe.identifierPrefix;if(ze){var s=fn,o=dn;s=(o&~(1<<32-At(o)-1)).toString(32)+s,t=":"+t+"R"+s,s=wi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=g.createElement(s,{is:o.is}):(e=g.createElement(s),s==="select"&&(g=e,o.multiple?g.multiple=!0:o.size&&(g.size=o.size))):e=g.createElementNS(e,s),e[Zt]=t,e[hi]=o,ih(e,t,!1,!1),t.stateNode=e;e:{switch(g=Wl(s,o),s){case"dialog":Te("cancel",e),Te("close",e),u=o;break;case"iframe":case"object":case"embed":Te("load",e),u=o;break;case"video":case"audio":for(u=0;ups&&(t.flags|=128,o=!0,bi(d,!1),t.lanes=4194304)}else{if(!o)if(e=Oo(g),e!==null){if(t.flags|=128,o=!0,s=e.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),bi(d,!0),d.tail===null&&d.tailMode==="hidden"&&!g.alternate&&!ze)return lt(t),null}else 2*He()-d.renderingStartTime>ps&&s!==1073741824&&(t.flags|=128,o=!0,bi(d,!1),t.lanes=4194304);d.isBackwards?(g.sibling=t.child,t.child=g):(s=d.last,s!==null?s.sibling=g:t.child=g,d.last=g)}return d.tail!==null?(t=d.tail,d.rendering=t,d.tail=t.sibling,d.renderingStartTime=He(),t.sibling=null,s=Ue.current,Me(Ue,o?s&1|2:s&1),t):(lt(t),null);case 22:case 23:return bu(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(Et&1073741824)!==0&&(lt(t),t.subtreeFlags&6&&(t.flags|=8192)):lt(t),null;case 24:return null;case 25:return null}throw Error(i(156,t.tag))}function Uy(e,t){switch(Ma(t),t.tag){case 1:return pt(t.type)&&Po(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cs(),Ie(ht),Ie(it),Wa(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Va(t),null;case 13:if(Ie(Ue),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));os()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ie(Ue),null;case 4:return cs(),null;case 10:return Oa(t.type._context),null;case 22:case 23:return bu(),null;case 24:return null;default:return null}}var Ko=!1,at=!1,By=typeof WeakSet=="function"?WeakSet:Set,re=null;function fs(e,t){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(o){$e(e,t,o)}else s.current=null}function du(e,t,s){try{s()}catch(o){$e(e,t,o)}}var ah=!1;function $y(e,t){if(ba=ho,e=Ad(),ma(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var o=s.getSelection&&s.getSelection();if(o&&o.rangeCount!==0){s=o.anchorNode;var u=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{s.nodeType,d.nodeType}catch{s=null;break e}var g=0,_=-1,E=-1,D=0,$=0,K=e,B=null;t:for(;;){for(var te;K!==s||u!==0&&K.nodeType!==3||(_=g+u),K!==d||o!==0&&K.nodeType!==3||(E=g+o),K.nodeType===3&&(g+=K.nodeValue.length),(te=K.firstChild)!==null;)B=K,K=te;for(;;){if(K===e)break t;if(B===s&&++D===u&&(_=g),B===d&&++$===o&&(E=g),(te=K.nextSibling)!==null)break;K=B,B=K.parentNode}K=te}s=_===-1||E===-1?null:{start:_,end:E}}else s=null}s=s||{start:0,end:0}}else s=null;for(_a={focusedElem:e,selectionRange:s},ho=!1,re=t;re!==null;)if(t=re,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,re=e;else for(;re!==null;){t=re;try{var se=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(se!==null){var ie=se.memoizedProps,We=se.memoizedState,M=t.stateNode,j=M.getSnapshotBeforeUpdate(t.elementType===t.type?ie:$t(t.type,ie),We);M.__reactInternalSnapshotBeforeUpdate=j}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(G){$e(t,t.return,G)}if(e=t.sibling,e!==null){e.return=t.return,re=e;break}re=t.return}return se=ah,ah=!1,se}function _i(e,t,s){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var u=o=o.next;do{if((u.tag&e)===e){var d=u.destroy;u.destroy=void 0,d!==void 0&&du(t,s,d)}u=u.next}while(u!==o)}}function qo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var s=t=t.next;do{if((s.tag&e)===e){var o=s.create;s.destroy=o()}s=s.next}while(s!==t)}}function fu(e){var t=e.ref;if(t!==null){var s=e.stateNode;switch(e.tag){case 5:e=s;break;default:e=s}typeof t=="function"?t(e):t.current=e}}function uh(e){var t=e.alternate;t!==null&&(e.alternate=null,uh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Zt],delete t[hi],delete t[ja],delete t[_y],delete t[Cy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ch(e){return e.tag===5||e.tag===3||e.tag===4}function dh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ch(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hu(e,t,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?s.nodeType===8?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(s.nodeType===8?(t=s.parentNode,t.insertBefore(e,s)):(t=s,t.appendChild(e)),s=s._reactRootContainer,s!=null||t.onclick!==null||(t.onclick=Co));else if(o!==4&&(e=e.child,e!==null))for(hu(e,t,s),e=e.sibling;e!==null;)hu(e,t,s),e=e.sibling}function pu(e,t,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(pu(e,t,s),e=e.sibling;e!==null;)pu(e,t,s),e=e.sibling}var nt=null,Vt=!1;function On(e,t,s){for(s=s.child;s!==null;)fh(e,t,s),s=s.sibling}function fh(e,t,s){if(Yt&&typeof Yt.onCommitFiberUnmount=="function")try{Yt.onCommitFiberUnmount(oo,s)}catch{}switch(s.tag){case 5:at||fs(s,t);case 6:var o=nt,u=Vt;nt=null,On(e,t,s),nt=o,Vt=u,nt!==null&&(Vt?(e=nt,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):nt.removeChild(s.stateNode));break;case 18:nt!==null&&(Vt?(e=nt,s=s.stateNode,e.nodeType===8?Pa(e.parentNode,s):e.nodeType===1&&Pa(e,s),ni(e)):Pa(nt,s.stateNode));break;case 4:o=nt,u=Vt,nt=s.stateNode.containerInfo,Vt=!0,On(e,t,s),nt=o,Vt=u;break;case 0:case 11:case 14:case 15:if(!at&&(o=s.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){u=o=o.next;do{var d=u,g=d.destroy;d=d.tag,g!==void 0&&((d&2)!==0||(d&4)!==0)&&du(s,t,g),u=u.next}while(u!==o)}On(e,t,s);break;case 1:if(!at&&(fs(s,t),o=s.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=s.memoizedProps,o.state=s.memoizedState,o.componentWillUnmount()}catch(_){$e(s,t,_)}On(e,t,s);break;case 21:On(e,t,s);break;case 22:s.mode&1?(at=(o=at)||s.memoizedState!==null,On(e,t,s),at=o):On(e,t,s);break;default:On(e,t,s)}}function hh(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new By),t.forEach(function(o){var u=Zy.bind(null,e,o);s.has(o)||(s.add(o),o.then(u,u))})}}function Ht(e,t){var s=t.deletions;if(s!==null)for(var o=0;ou&&(u=g),o&=~d}if(o=u,o=He()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Hy(o/1960))-o,10e?16:e,Un===null)var o=!1;else{if(e=Un,Un=null,Jo=0,(be&6)!==0)throw Error(i(331));var u=be;for(be|=4,re=e.current;re!==null;){var d=re,g=d.child;if((re.flags&16)!==0){var _=d.deletions;if(_!==null){for(var E=0;E<_.length;E++){var D=_[E];for(re=D;re!==null;){var $=re;switch($.tag){case 0:case 11:case 15:_i(8,$,d)}var K=$.child;if(K!==null)K.return=$,re=K;else for(;re!==null;){$=re;var B=$.sibling,te=$.return;if(uh($),$===D){re=null;break}if(B!==null){B.return=te,re=B;break}re=te}}}var se=d.alternate;if(se!==null){var ie=se.child;if(ie!==null){se.child=null;do{var We=ie.sibling;ie.sibling=null,ie=We}while(ie!==null)}}re=d}}if((d.subtreeFlags&2064)!==0&&g!==null)g.return=d,re=g;else e:for(;re!==null;){if(d=re,(d.flags&2048)!==0)switch(d.tag){case 0:case 11:case 15:_i(9,d,d.return)}var M=d.sibling;if(M!==null){M.return=d.return,re=M;break e}re=d.return}}var j=e.current;for(re=j;re!==null;){g=re;var T=g.child;if((g.subtreeFlags&2064)!==0&&T!==null)T.return=g,re=T;else e:for(g=j;re!==null;){if(_=re,(_.flags&2048)!==0)try{switch(_.tag){case 0:case 11:case 15:qo(9,_)}}catch(le){$e(_,_.return,le)}if(_===g){re=null;break e}var G=_.sibling;if(G!==null){G.return=_.return,re=G;break e}re=_.return}}if(be=u,Dn(),Yt&&typeof Yt.onPostCommitFiberRoot=="function")try{Yt.onPostCommitFiberRoot(oo,e)}catch{}o=!0}return o}finally{je=s,Ft.transition=t}}return!1}function Ch(e,t,s){t=ds(s,t),t=Vf(e,t,1),e=zn(e,t,1),t=dt(),e!==null&&(Zs(e,1,t),yt(e,t))}function $e(e,t,s){if(e.tag===3)Ch(e,e,s);else for(;t!==null;){if(t.tag===3){Ch(t,e,s);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(An===null||!An.has(o))){e=ds(s,e),e=Hf(t,e,1),t=zn(t,e,1),e=dt(),t!==null&&(Zs(t,1,e),yt(t,e));break}}t=t.return}}function Gy(e,t,s){var o=e.pingCache;o!==null&&o.delete(t),t=dt(),e.pingedLanes|=e.suspendedLanes&s,Xe===e&&(rt&s)===s&&(Ge===4||Ge===3&&(rt&130023424)===rt&&500>He()-yu?_r(e,0):gu|=s),yt(e,t)}function Eh(e,t){t===0&&((e.mode&1)===0?t=1:(t=ao,ao<<=1,(ao&130023424)===0&&(ao=4194304)));var s=dt();e=hn(e,t),e!==null&&(Zs(e,t,s),yt(e,s))}function Yy(e){var t=e.memoizedState,s=0;t!==null&&(s=t.retryLane),Eh(e,s)}function Zy(e,t){var s=0;switch(e.tag){case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(s=u.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(i(314))}o!==null&&o.delete(t),Eh(e,s)}var Ph;Ph=function(e,t,s){if(e!==null)if(e.memoizedProps!==t.pendingProps||ht.current)mt=!0;else{if((e.lanes&s)===0&&(t.flags&128)===0)return mt=!1,Oy(e,t,s);mt=(e.flags&131072)!==0}else mt=!1,ze&&(t.flags&1048576)!==0&&of(t,Lo,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;Qo(e,t),e=t.pendingProps;var u=rs(t,it.current);us(t,s),u=qa(null,t,o,e,u,s);var d=Ga();return t.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,pt(o)?(d=!0,jo(t)):d=!1,t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ba(t),u.updater=Ho,t.stateNode=u,u._reactInternals=t,tu(t,o,e,s),t=iu(null,t,o,!0,d,s)):(t.tag=0,ze&&d&&La(t),ct(null,t,u,s),t=t.child),t;case 16:o=t.elementType;e:{switch(Qo(e,t),e=t.pendingProps,u=o._init,o=u(o._payload),t.type=o,u=t.tag=Jy(o),e=$t(o,e),u){case 0:t=su(null,t,o,e,s);break e;case 1:t=Jf(null,t,o,e,s);break e;case 11:t=qf(null,t,o,e,s);break e;case 14:t=Gf(null,t,o,$t(o.type,e),s);break e}throw Error(i(306,o,""))}return t;case 0:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:$t(o,u),su(e,t,o,u,s);case 1:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:$t(o,u),Jf(e,t,o,u,s);case 3:e:{if(eh(t),e===null)throw Error(i(387));o=t.pendingProps,d=t.memoizedState,u=d.element,mf(e,t),zo(t,o,null,s);var g=t.memoizedState;if(o=g.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){u=ds(Error(i(423)),t),t=th(e,t,o,s,u);break e}else if(o!==u){u=ds(Error(i(424)),t),t=th(e,t,o,s,u);break e}else for(Ct=Mn(t.stateNode.containerInfo.firstChild),_t=t,ze=!0,Bt=null,s=hf(t,null,o,s),t.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(os(),o===u){t=mn(e,t,s);break e}ct(e,t,o,s)}t=t.child}return t;case 5:return vf(t),e===null&&Ia(t),o=t.type,u=t.pendingProps,d=e!==null?e.memoizedProps:null,g=u.children,Ca(o,u)?g=null:d!==null&&Ca(o,d)&&(t.flags|=32),Xf(e,t),ct(e,t,g,s),t.child;case 6:return e===null&&Ia(t),null;case 13:return nh(e,t,s);case 4:return $a(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=ls(t,null,o,s):ct(e,t,o,s),t.child;case 11:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:$t(o,u),qf(e,t,o,u,s);case 7:return ct(e,t,t.pendingProps,s),t.child;case 8:return ct(e,t,t.pendingProps.children,s),t.child;case 12:return ct(e,t,t.pendingProps.children,s),t.child;case 10:e:{if(o=t.type._context,u=t.pendingProps,d=t.memoizedProps,g=u.value,Me(Io,o._currentValue),o._currentValue=g,d!==null)if(Ut(d.value,g)){if(d.children===u.children&&!ht.current){t=mn(e,t,s);break e}}else for(d=t.child,d!==null&&(d.return=t);d!==null;){var _=d.dependencies;if(_!==null){g=d.child;for(var E=_.firstContext;E!==null;){if(E.context===o){if(d.tag===1){E=pn(-1,s&-s),E.tag=2;var D=d.updateQueue;if(D!==null){D=D.shared;var $=D.pending;$===null?E.next=E:(E.next=$.next,$.next=E),D.pending=E}}d.lanes|=s,E=d.alternate,E!==null&&(E.lanes|=s),Aa(d.return,s,t),_.lanes|=s;break}E=E.next}}else if(d.tag===10)g=d.type===t.type?null:d.child;else if(d.tag===18){if(g=d.return,g===null)throw Error(i(341));g.lanes|=s,_=g.alternate,_!==null&&(_.lanes|=s),Aa(g,s,t),g=d.sibling}else g=d.child;if(g!==null)g.return=d;else for(g=d;g!==null;){if(g===t){g=null;break}if(d=g.sibling,d!==null){d.return=g.return,g=d;break}g=g.return}d=g}ct(e,t,u.children,s),t=t.child}return t;case 9:return u=t.type,o=t.pendingProps.children,us(t,s),u=It(u),o=o(u),t.flags|=1,ct(e,t,o,s),t.child;case 14:return o=t.type,u=$t(o,t.pendingProps),u=$t(o.type,u),Gf(e,t,o,u,s);case 15:return Yf(e,t,t.type,t.pendingProps,s);case 17:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:$t(o,u),Qo(e,t),t.tag=1,pt(o)?(e=!0,jo(t)):e=!1,us(t,s),Bf(t,o,u),tu(t,o,u,s),iu(null,t,o,!0,e,s);case 19:return sh(e,t,s);case 22:return Zf(e,t,s)}throw Error(i(156,t.tag))};function jh(e,t){return od(e,t)}function Xy(e,t,s,o){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zt(e,t,s,o){return new Xy(e,t,s,o)}function Cu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jy(e){if(typeof e=="function")return Cu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Z)return 11;if(e===ee)return 14}return 2}function Vn(e,t){var s=e.alternate;return s===null?(s=zt(e.tag,t,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function rl(e,t,s,o,u,d){var g=2;if(o=e,typeof e=="function")Cu(e)&&(g=1);else if(typeof e=="string")g=5;else e:switch(e){case Y:return Er(s.children,u,d,t);case Q:g=8,u|=8;break;case z:return e=zt(12,s,t,u|2),e.elementType=z,e.lanes=d,e;case de:return e=zt(13,s,t,u),e.elementType=de,e.lanes=d,e;case W:return e=zt(19,s,t,u),e.elementType=W,e.lanes=d,e;case he:return sl(s,u,d,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q:g=10;break e;case J:g=9;break e;case Z:g=11;break e;case ee:g=14;break e;case we:g=16,o=null;break e}throw Error(i(130,e==null?e:typeof e,""))}return t=zt(g,s,t,u),t.elementType=e,t.type=o,t.lanes=d,t}function Er(e,t,s,o){return e=zt(7,e,o,t),e.lanes=s,e}function sl(e,t,s,o){return e=zt(22,e,o,t),e.elementType=he,e.lanes=s,e.stateNode={isHidden:!1},e}function Eu(e,t,s){return e=zt(6,e,null,t),e.lanes=s,e}function Pu(e,t,s){return t=zt(4,e.children!==null?e.children:[],e.key,t),t.lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ev(e,t,s,o,u){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ea(0),this.expirationTimes=ea(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ea(0),this.identifierPrefix=o,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function ju(e,t,s,o,u,d,g,_,E){return e=new ev(e,t,s,_,E),t===1?(t=1,d===!0&&(t|=8)):t=0,d=zt(3,null,null,t),e.current=d,d.stateNode=e,d.memoizedState={element:o,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ba(d),e}function tv(e,t,s){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Du.exports=mv(),Du.exports}var Vh;function yv(){if(Vh)return hl;Vh=1;var n=gv();return hl.createRoot=n.createRoot,hl.hydrateRoot=n.hydrateRoot,hl}var vv=yv();const xv=qp(vv);var Ji=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Nr,Gn,_s,Op,wv=(Op=class extends Ji{constructor(){super();ce(this,Nr);ce(this,Gn);ce(this,_s);ne(this,_s,r=>{if(typeof window<"u"&&window.addEventListener){const i=()=>r();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}})}onSubscribe(){P(this,Gn)||this.setEventListener(P(this,_s))}onUnsubscribe(){var r;this.hasListeners()||((r=P(this,Gn))==null||r.call(this),ne(this,Gn,void 0))}setEventListener(r){var i;ne(this,_s,r),(i=P(this,Gn))==null||i.call(this),ne(this,Gn,r(l=>{typeof l=="boolean"?this.setFocused(l):this.onFocus()}))}setFocused(r){P(this,Nr)!==r&&(ne(this,Nr,r),this.onFocus())}onFocus(){const r=this.isFocused();this.listeners.forEach(i=>{i(r)})}isFocused(){var r;return typeof P(this,Nr)=="boolean"?P(this,Nr):((r=globalThis.document)==null?void 0:r.visibilityState)!=="hidden"}},Nr=new WeakMap,Gn=new WeakMap,_s=new WeakMap,Op),Pc=new wv,kv={setTimeout:(n,r)=>setTimeout(n,r),clearTimeout:n=>clearTimeout(n),setInterval:(n,r)=>setInterval(n,r),clearInterval:n=>clearInterval(n)},Yn,Ec,Ap,Sv=(Ap=class{constructor(){ce(this,Yn,kv);ce(this,Ec,!1)}setTimeoutProvider(n){ne(this,Yn,n)}setTimeout(n,r){return P(this,Yn).setTimeout(n,r)}clearTimeout(n){P(this,Yn).clearTimeout(n)}setInterval(n,r){return P(this,Yn).setInterval(n,r)}clearInterval(n){P(this,Yn).clearInterval(n)}},Yn=new WeakMap,Ec=new WeakMap,Ap),jr=new Sv;function bv(n){setTimeout(n,0)}var _v=typeof window>"u"||"Deno"in globalThis;function wt(){}function Cv(n,r){return typeof n=="function"?n(r):n}function Yu(n){return typeof n=="number"&&n>=0&&n!==1/0}function Gp(n,r){return Math.max(n+(r||0)-Date.now(),0)}function sr(n,r){return typeof n=="function"?n(r):n}function jt(n,r){return typeof n=="function"?n(r):n}function Hh(n,r){const{type:i="all",exact:l,fetchStatus:a,predicate:c,queryKey:f,stale:h}=n;if(f){if(l){if(r.queryHash!==jc(f,r.options))return!1}else if(!Bi(r.queryKey,f))return!1}if(i!=="all"){const p=r.isActive();if(i==="active"&&!p||i==="inactive"&&p)return!1}return!(typeof h=="boolean"&&r.isStale()!==h||a&&a!==r.state.fetchStatus||c&&!c(r))}function Wh(n,r){const{exact:i,status:l,predicate:a,mutationKey:c}=n;if(c){if(!r.options.mutationKey)return!1;if(i){if(Ui(r.options.mutationKey)!==Ui(c))return!1}else if(!Bi(r.options.mutationKey,c))return!1}return!(l&&r.state.status!==l||a&&!a(r))}function jc(n,r){return((r==null?void 0:r.queryKeyHashFn)||Ui)(n)}function Ui(n){return JSON.stringify(n,(r,i)=>Xu(i)?Object.keys(i).sort().reduce((l,a)=>(l[a]=i[a],l),{}):i)}function Bi(n,r){return n===r?!0:typeof n!=typeof r?!1:n&&r&&typeof n=="object"&&typeof r=="object"?Object.keys(r).every(i=>Bi(n[i],r[i])):!1}var Ev=Object.prototype.hasOwnProperty;function Yp(n,r,i=0){if(n===r)return n;if(i>500)return r;const l=Qh(n)&&Qh(r);if(!l&&!(Xu(n)&&Xu(r)))return r;const c=(l?n:Object.keys(n)).length,f=l?r:Object.keys(r),h=f.length,p=l?new Array(h):{};let m=0;for(let x=0;x{jr.setTimeout(r,n)})}function Ju(n,r,i){return typeof i.structuralSharing=="function"?i.structuralSharing(n,r):i.structuralSharing!==!1?Yp(n,r):r}function jv(n,r,i=0){const l=[...n,r];return i&&l.length>i?l.slice(1):l}function Rv(n,r,i=0){const l=[r,...n];return i&&l.length>i?l.slice(0,-1):l}var Rc=Symbol();function Zp(n,r){return!n.queryFn&&(r!=null&&r.initialPromise)?()=>r.initialPromise:!n.queryFn||n.queryFn===Rc?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Xp(n,r){return typeof n=="function"?n(...r):!!n}function Nv(n,r,i){let l=!1,a;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(a??(a=r()),l||(l=!0,a.aborted?i():a.addEventListener("abort",i,{once:!0})),a)}),n}var $i=(()=>{let n=()=>_v;return{isServer(){return n()},setIsServer(r){n=r}}})();function ec(){let n,r;const i=new Promise((a,c)=>{n=a,r=c});i.status="pending",i.catch(()=>{});function l(a){Object.assign(i,a),delete i.resolve,delete i.reject}return i.resolve=a=>{l({status:"fulfilled",value:a}),n(a)},i.reject=a=>{l({status:"rejected",reason:a}),r(a)},i}var Lv=bv;function Mv(){let n=[],r=0,i=h=>{h()},l=h=>{h()},a=Lv;const c=h=>{r?n.push(h):a(()=>{i(h)})},f=()=>{const h=n;n=[],h.length&&a(()=>{l(()=>{h.forEach(p=>{i(p)})})})};return{batch:h=>{let p;r++;try{p=h()}finally{r--,r||f()}return p},batchCalls:h=>(...p)=>{c(()=>{h(...p)})},schedule:c,setNotifyFunction:h=>{i=h},setBatchNotifyFunction:h=>{l=h},setScheduler:h=>{a=h}}}var st=Mv(),Cs,Zn,Es,Up,Tv=(Up=class extends Ji{constructor(){super();ce(this,Cs,!0);ce(this,Zn);ce(this,Es);ne(this,Es,r=>{if(typeof window<"u"&&window.addEventListener){const i=()=>r(!0),l=()=>r(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",l,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",l)}}})}onSubscribe(){P(this,Zn)||this.setEventListener(P(this,Es))}onUnsubscribe(){var r;this.hasListeners()||((r=P(this,Zn))==null||r.call(this),ne(this,Zn,void 0))}setEventListener(r){var i;ne(this,Es,r),(i=P(this,Zn))==null||i.call(this),ne(this,Zn,r(this.setOnline.bind(this)))}setOnline(r){P(this,Cs)!==r&&(ne(this,Cs,r),this.listeners.forEach(l=>{l(r)}))}isOnline(){return P(this,Cs)}},Cs=new WeakMap,Zn=new WeakMap,Es=new WeakMap,Up),El=new Tv;function Iv(n){return Math.min(1e3*2**n,3e4)}function Jp(n){return(n??"online")==="online"?El.isOnline():!0}var tc=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function em(n){let r=!1,i=0,l;const a=ec(),c=()=>a.status!=="pending",f=b=>{var C;if(!c()){const L=new tc(b);w(L),(C=n.onCancel)==null||C.call(n,L)}},h=()=>{r=!0},p=()=>{r=!1},m=()=>Pc.isFocused()&&(n.networkMode==="always"||El.isOnline())&&n.canRun(),x=()=>Jp(n.networkMode)&&n.canRun(),y=b=>{c()||(l==null||l(),a.resolve(b))},w=b=>{c()||(l==null||l(),a.reject(b))},k=()=>new Promise(b=>{var C;l=L=>{(c()||m())&&b(L)},(C=n.onPause)==null||C.call(n)}).then(()=>{var b;l=void 0,c()||(b=n.onContinue)==null||b.call(n)}),S=()=>{if(c())return;let b;const C=i===0?n.initialPromise:void 0;try{b=C??n.fn()}catch(L){b=Promise.reject(L)}Promise.resolve(b).then(y).catch(L=>{var O;if(c())return;const N=n.retry??($i.isServer()?0:3),F=n.retryDelay??Iv,I=typeof F=="function"?F(i,L):F,U=N===!0||typeof N=="number"&&im()?void 0:k()).then(()=>{r?w(L):S()})})};return{promise:a,status:()=>a.status,cancel:f,continue:()=>(l==null||l(),a),cancelRetry:h,continueRetry:p,canStart:x,start:()=>(x()?S():k().then(S),a)}}var Lr,Bp,tm=(Bp=class{constructor(){ce(this,Lr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Yu(this.gcTime)&&ne(this,Lr,jr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??($i.isServer()?1/0:300*1e3))}clearGcTimeout(){P(this,Lr)!==void 0&&(jr.clearTimeout(P(this,Lr)),ne(this,Lr,void 0))}},Lr=new WeakMap,Bp);function Dv(n){return{onFetch:(r,i)=>{var x,y,w,k,S;const l=r.options,a=(w=(y=(x=r.fetchOptions)==null?void 0:x.meta)==null?void 0:y.fetchMore)==null?void 0:w.direction,c=((k=r.state.data)==null?void 0:k.pages)||[],f=((S=r.state.data)==null?void 0:S.pageParams)||[];let h={pages:[],pageParams:[]},p=0;const m=async()=>{let b=!1;const C=F=>{Nv(F,()=>r.signal,()=>b=!0)},L=Zp(r.options,r.fetchOptions),N=async(F,I,U)=>{if(b)return Promise.reject(r.signal.reason);if(I==null&&F.pages.length)return Promise.resolve(F);const Y=(()=>{const J={client:r.client,queryKey:r.queryKey,pageParam:I,direction:U?"backward":"forward",meta:r.options.meta};return C(J),J})(),Q=await L(Y),{maxPages:z}=r.options,q=U?Rv:jv;return{pages:q(F.pages,Q,z),pageParams:q(F.pageParams,I,z)}};if(a&&c.length){const F=a==="backward",I=F?Fv:qh,U={pages:c,pageParams:f},O=I(l,U);h=await N(U,O,F)}else{const F=n??c.length;do{const I=p===0?f[0]??l.initialPageParam:qh(l,h);if(p>0&&I==null)break;h=await N(h,I),p++}while(p{var b,C;return(C=(b=r.options).persister)==null?void 0:C.call(b,m,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},i)}:r.fetchFn=m}}}function qh(n,{pages:r,pageParams:i}){const l=r.length-1;return r.length>0?n.getNextPageParam(r[l],r,i[l],i):void 0}function Fv(n,{pages:r,pageParams:i}){var l;return r.length>0?(l=n.getPreviousPageParam)==null?void 0:l.call(n,r[0],r,i[0],i):void 0}var Ps,Mr,js,Ot,Tr,et,Ki,Ir,Pt,nm,vn,$p,zv=($p=class extends tm{constructor(r){super();ce(this,Pt);ce(this,Ps);ce(this,Mr);ce(this,js);ce(this,Ot);ce(this,Tr);ce(this,et);ce(this,Ki);ce(this,Ir);ne(this,Ir,!1),ne(this,Ki,r.defaultOptions),this.setOptions(r.options),this.observers=[],ne(this,Tr,r.client),ne(this,Ot,P(this,Tr).getQueryCache()),this.queryKey=r.queryKey,this.queryHash=r.queryHash,ne(this,Mr,Yh(this.options)),this.state=r.state??P(this,Mr),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return P(this,Ps)}get promise(){var r;return(r=P(this,et))==null?void 0:r.promise}setOptions(r){if(this.options={...P(this,Ki),...r},r!=null&&r._type&&ne(this,Ps,r._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=Yh(this.options);i.data!==void 0&&(this.setState(Gh(i.data,i.dataUpdatedAt)),ne(this,Mr,i))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&P(this,Ot).remove(this)}setData(r,i){const l=Ju(this.state.data,r,this.options);return xe(this,Pt,vn).call(this,{data:l,type:"success",dataUpdatedAt:i==null?void 0:i.updatedAt,manual:i==null?void 0:i.manual}),l}setState(r){xe(this,Pt,vn).call(this,{type:"setState",state:r})}cancel(r){var l,a;const i=(l=P(this,et))==null?void 0:l.promise;return(a=P(this,et))==null||a.cancel(r),i?i.then(wt).catch(wt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return P(this,Mr)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(r=>jt(r.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Rc||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(r=>sr(r.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(r=>r.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(r=0){return this.state.data===void 0?!0:r==="static"?!1:this.state.isInvalidated?!0:!Gp(this.state.dataUpdatedAt,r)}onFocus(){var i;const r=this.observers.find(l=>l.shouldFetchOnWindowFocus());r==null||r.refetch({cancelRefetch:!1}),(i=P(this,et))==null||i.continue()}onOnline(){var i;const r=this.observers.find(l=>l.shouldFetchOnReconnect());r==null||r.refetch({cancelRefetch:!1}),(i=P(this,et))==null||i.continue()}addObserver(r){this.observers.includes(r)||(this.observers.push(r),this.clearGcTimeout(),P(this,Ot).notify({type:"observerAdded",query:this,observer:r}))}removeObserver(r){this.observers.includes(r)&&(this.observers=this.observers.filter(i=>i!==r),this.observers.length||(P(this,et)&&(P(this,Ir)||xe(this,Pt,nm).call(this)?P(this,et).cancel({revert:!0}):P(this,et).cancelRetry()),this.scheduleGc()),P(this,Ot).notify({type:"observerRemoved",query:this,observer:r}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||xe(this,Pt,vn).call(this,{type:"invalidate"})}async fetch(r,i){var m,x,y,w,k,S,b,C,L,N,F;if(this.state.fetchStatus!=="idle"&&((m=P(this,et))==null?void 0:m.status())!=="rejected"){if(this.state.data!==void 0&&(i!=null&&i.cancelRefetch))this.cancel({silent:!0});else if(P(this,et))return P(this,et).continueRetry(),P(this,et).promise}if(r&&this.setOptions(r),!this.options.queryFn){const I=this.observers.find(U=>U.options.queryFn);I&&this.setOptions(I.options)}const l=new AbortController,a=I=>{Object.defineProperty(I,"signal",{enumerable:!0,get:()=>(ne(this,Ir,!0),l.signal)})},c=()=>{const I=Zp(this.options,i),O=(()=>{const Y={client:P(this,Tr),queryKey:this.queryKey,meta:this.meta};return a(Y),Y})();return ne(this,Ir,!1),this.options.persister?this.options.persister(I,O,this):I(O)},h=(()=>{const I={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:P(this,Tr),state:this.state,fetchFn:c};return a(I),I})(),p=P(this,Ps)==="infinite"?Dv(this.options.pages):this.options.behavior;p==null||p.onFetch(h,this),ne(this,js,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((x=h.fetchOptions)==null?void 0:x.meta))&&xe(this,Pt,vn).call(this,{type:"fetch",meta:(y=h.fetchOptions)==null?void 0:y.meta}),ne(this,et,em({initialPromise:i==null?void 0:i.initialPromise,fn:h.fetchFn,onCancel:I=>{I instanceof tc&&I.revert&&this.setState({...P(this,js),fetchStatus:"idle"}),l.abort()},onFail:(I,U)=>{xe(this,Pt,vn).call(this,{type:"failed",failureCount:I,error:U})},onPause:()=>{xe(this,Pt,vn).call(this,{type:"pause"})},onContinue:()=>{xe(this,Pt,vn).call(this,{type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0}));try{const I=await P(this,et).start();if(I===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(I),(k=(w=P(this,Ot).config).onSuccess)==null||k.call(w,I,this),(b=(S=P(this,Ot).config).onSettled)==null||b.call(S,I,this.state.error,this),I}catch(I){if(I instanceof tc){if(I.silent)return P(this,et).promise;if(I.revert){if(this.state.data===void 0)throw I;return this.state.data}}throw xe(this,Pt,vn).call(this,{type:"error",error:I}),(L=(C=P(this,Ot).config).onError)==null||L.call(C,I,this),(F=(N=P(this,Ot).config).onSettled)==null||F.call(N,this.state.data,I,this),I}finally{this.scheduleGc()}}},Ps=new WeakMap,Mr=new WeakMap,js=new WeakMap,Ot=new WeakMap,Tr=new WeakMap,et=new WeakMap,Ki=new WeakMap,Ir=new WeakMap,Pt=new WeakSet,nm=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},vn=function(r){const i=l=>{switch(r.type){case"failed":return{...l,fetchFailureCount:r.failureCount,fetchFailureReason:r.error};case"pause":return{...l,fetchStatus:"paused"};case"continue":return{...l,fetchStatus:"fetching"};case"fetch":return{...l,...rm(l.data,this.options),fetchMeta:r.meta??null};case"success":const a={...l,...Gh(r.data,r.dataUpdatedAt),dataUpdateCount:l.dataUpdateCount+1,...!r.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return ne(this,js,r.manual?a:void 0),a;case"error":const c=r.error;return{...l,error:c,errorUpdateCount:l.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:l.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...l,isInvalidated:!0};case"setState":return{...l,...r.state}}};this.state=i(this.state),st.batch(()=>{this.observers.forEach(l=>{l.onQueryUpdate()}),P(this,Ot).notify({query:this,type:"updated",action:r})})},$p);function rm(n,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Jp(r.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function Gh(n,r){return{data:n,dataUpdatedAt:r??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Yh(n){const r=typeof n.initialData=="function"?n.initialData():n.initialData,i=r!==void 0,l=i?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:i?l??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:i?"success":"pending",fetchStatus:"idle"}}var xt,Se,qi,ft,Dr,Rs,xn,Xn,Gi,Ns,Ls,Fr,zr,Jn,Ms,Pe,Di,nc,rc,sc,ic,oc,lc,ac,sm,Vp,Ov=(Vp=class extends Ji{constructor(r,i){super();ce(this,Pe);ce(this,xt);ce(this,Se);ce(this,qi);ce(this,ft);ce(this,Dr);ce(this,Rs);ce(this,xn);ce(this,Xn);ce(this,Gi);ce(this,Ns);ce(this,Ls);ce(this,Fr);ce(this,zr);ce(this,Jn);ce(this,Ms,new Set);this.options=i,ne(this,xt,r),ne(this,Xn,null),ne(this,xn,ec()),this.bindMethods(),this.setOptions(i)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(P(this,Se).addObserver(this),Zh(P(this,Se),this.options)?xe(this,Pe,Di).call(this):this.updateResult(),xe(this,Pe,ic).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return uc(P(this,Se),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return uc(P(this,Se),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,xe(this,Pe,oc).call(this),xe(this,Pe,lc).call(this),P(this,Se).removeObserver(this)}setOptions(r){const i=this.options,l=P(this,Se);if(this.options=P(this,xt).defaultQueryOptions(r),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof jt(this.options.enabled,P(this,Se))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");xe(this,Pe,ac).call(this),P(this,Se).setOptions(this.options),i._defaulted&&!Zu(this.options,i)&&P(this,xt).getQueryCache().notify({type:"observerOptionsUpdated",query:P(this,Se),observer:this});const a=this.hasListeners();a&&Xh(P(this,Se),l,this.options,i)&&xe(this,Pe,Di).call(this),this.updateResult(),a&&(P(this,Se)!==l||jt(this.options.enabled,P(this,Se))!==jt(i.enabled,P(this,Se))||sr(this.options.staleTime,P(this,Se))!==sr(i.staleTime,P(this,Se)))&&xe(this,Pe,nc).call(this);const c=xe(this,Pe,rc).call(this);a&&(P(this,Se)!==l||jt(this.options.enabled,P(this,Se))!==jt(i.enabled,P(this,Se))||c!==P(this,Jn))&&xe(this,Pe,sc).call(this,c)}getOptimisticResult(r){const i=P(this,xt).getQueryCache().build(P(this,xt),r),l=this.createResult(i,r);return Uv(this,l)&&(ne(this,ft,l),ne(this,Rs,this.options),ne(this,Dr,P(this,Se).state)),l}getCurrentResult(){return P(this,ft)}trackResult(r,i){return new Proxy(r,{get:(l,a)=>(this.trackProp(a),i==null||i(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&P(this,xn).status==="pending"&&P(this,xn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(l,a))})}trackProp(r){P(this,Ms).add(r)}getCurrentQuery(){return P(this,Se)}refetch({...r}={}){return this.fetch({...r})}fetchOptimistic(r){const i=P(this,xt).defaultQueryOptions(r),l=P(this,xt).getQueryCache().build(P(this,xt),i);return l.fetch().then(()=>this.createResult(l,i))}fetch(r){return xe(this,Pe,Di).call(this,{...r,cancelRefetch:r.cancelRefetch??!0}).then(()=>(this.updateResult(),P(this,ft)))}createResult(r,i){var z;const l=P(this,Se),a=this.options,c=P(this,ft),f=P(this,Dr),h=P(this,Rs),m=r!==l?r.state:P(this,qi),{state:x}=r;let y={...x},w=!1,k;if(i._optimisticResults){const q=this.hasListeners(),J=!q&&Zh(r,i),Z=q&&Xh(r,l,i,a);(J||Z)&&(y={...y,...rm(x.data,r.options)}),i._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:S,errorUpdatedAt:b,status:C}=y;k=y.data;let L=!1;if(i.placeholderData!==void 0&&k===void 0&&C==="pending"){let q;c!=null&&c.isPlaceholderData&&i.placeholderData===(h==null?void 0:h.placeholderData)?(q=c.data,L=!0):q=typeof i.placeholderData=="function"?i.placeholderData((z=P(this,Ls))==null?void 0:z.state.data,P(this,Ls)):i.placeholderData,q!==void 0&&(C="success",k=Ju(c==null?void 0:c.data,q,i),w=!0)}if(i.select&&k!==void 0&&!L)if(c&&k===(f==null?void 0:f.data)&&i.select===P(this,Gi))k=P(this,Ns);else try{ne(this,Gi,i.select),k=i.select(k),k=Ju(c==null?void 0:c.data,k,i),ne(this,Ns,k),ne(this,Xn,null)}catch(q){ne(this,Xn,q)}P(this,Xn)&&(S=P(this,Xn),k=P(this,Ns),b=Date.now(),C="error");const N=y.fetchStatus==="fetching",F=C==="pending",I=C==="error",U=F&&N,O=k!==void 0,Q={status:C,fetchStatus:y.fetchStatus,isPending:F,isSuccess:C==="success",isError:I,isInitialLoading:U,isLoading:U,data:k,dataUpdatedAt:y.dataUpdatedAt,error:S,errorUpdatedAt:b,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:r.isFetched(),isFetchedAfterMount:y.dataUpdateCount>m.dataUpdateCount||y.errorUpdateCount>m.errorUpdateCount,isFetching:N,isRefetching:N&&!F,isLoadingError:I&&!O,isPaused:y.fetchStatus==="paused",isPlaceholderData:w,isRefetchError:I&&O,isStale:Nc(r,i),refetch:this.refetch,promise:P(this,xn),isEnabled:jt(i.enabled,r)!==!1};if(this.options.experimental_prefetchInRender){const q=Q.data!==void 0,J=Q.status==="error"&&!q,Z=ee=>{J?ee.reject(Q.error):q&&ee.resolve(Q.data)},de=()=>{const ee=ne(this,xn,Q.promise=ec());Z(ee)},W=P(this,xn);switch(W.status){case"pending":r.queryHash===l.queryHash&&Z(W);break;case"fulfilled":(J||Q.data!==W.value)&&de();break;case"rejected":(!J||Q.error!==W.reason)&&de();break}}return Q}updateResult(){const r=P(this,ft),i=this.createResult(P(this,Se),this.options);if(ne(this,Dr,P(this,Se).state),ne(this,Rs,this.options),P(this,Dr).data!==void 0&&ne(this,Ls,P(this,Se)),Zu(i,r))return;ne(this,ft,i);const l=()=>{if(!r)return!0;const{notifyOnChangeProps:a}=this.options,c=typeof a=="function"?a():a;if(c==="all"||!c&&!P(this,Ms).size)return!0;const f=new Set(c??P(this,Ms));return this.options.throwOnError&&f.add("error"),Object.keys(P(this,ft)).some(h=>{const p=h;return P(this,ft)[p]!==r[p]&&f.has(p)})};xe(this,Pe,sm).call(this,{listeners:l()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&xe(this,Pe,ic).call(this)}},xt=new WeakMap,Se=new WeakMap,qi=new WeakMap,ft=new WeakMap,Dr=new WeakMap,Rs=new WeakMap,xn=new WeakMap,Xn=new WeakMap,Gi=new WeakMap,Ns=new WeakMap,Ls=new WeakMap,Fr=new WeakMap,zr=new WeakMap,Jn=new WeakMap,Ms=new WeakMap,Pe=new WeakSet,Di=function(r){xe(this,Pe,ac).call(this);let i=P(this,Se).fetch(this.options,r);return r!=null&&r.throwOnError||(i=i.catch(wt)),i},nc=function(){xe(this,Pe,oc).call(this);const r=sr(this.options.staleTime,P(this,Se));if($i.isServer()||P(this,ft).isStale||!Yu(r))return;const l=Gp(P(this,ft).dataUpdatedAt,r)+1;ne(this,Fr,jr.setTimeout(()=>{P(this,ft).isStale||this.updateResult()},l))},rc=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(P(this,Se)):this.options.refetchInterval)??!1},sc=function(r){xe(this,Pe,lc).call(this),ne(this,Jn,r),!($i.isServer()||jt(this.options.enabled,P(this,Se))===!1||!Yu(P(this,Jn))||P(this,Jn)===0)&&ne(this,zr,jr.setInterval(()=>{(this.options.refetchIntervalInBackground||Pc.isFocused())&&xe(this,Pe,Di).call(this)},P(this,Jn)))},ic=function(){xe(this,Pe,nc).call(this),xe(this,Pe,sc).call(this,xe(this,Pe,rc).call(this))},oc=function(){P(this,Fr)!==void 0&&(jr.clearTimeout(P(this,Fr)),ne(this,Fr,void 0))},lc=function(){P(this,zr)!==void 0&&(jr.clearInterval(P(this,zr)),ne(this,zr,void 0))},ac=function(){const r=P(this,xt).getQueryCache().build(P(this,xt),this.options);if(r===P(this,Se))return;const i=P(this,Se);ne(this,Se,r),ne(this,qi,r.state),this.hasListeners()&&(i==null||i.removeObserver(this),r.addObserver(this))},sm=function(r){st.batch(()=>{r.listeners&&this.listeners.forEach(i=>{i(P(this,ft))}),P(this,xt).getQueryCache().notify({query:P(this,Se),type:"observerResultsUpdated"})})},Vp);function Av(n,r){return jt(r.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&jt(r.retryOnMount,n)===!1)}function Zh(n,r){return Av(n,r)||n.state.data!==void 0&&uc(n,r,r.refetchOnMount)}function uc(n,r,i){if(jt(r.enabled,n)!==!1&&sr(r.staleTime,n)!=="static"){const l=typeof i=="function"?i(n):i;return l==="always"||l!==!1&&Nc(n,r)}return!1}function Xh(n,r,i,l){return(n!==r||jt(l.enabled,n)===!1)&&(!i.suspense||n.state.status!=="error")&&Nc(n,i)}function Nc(n,r){return jt(r.enabled,n)!==!1&&n.isStaleByTime(sr(r.staleTime,n))}function Uv(n,r){return!Zu(n.getCurrentResult(),r)}var Yi,nn,ut,Or,rn,Kn,Hp,Bv=(Hp=class extends tm{constructor(r){super();ce(this,rn);ce(this,Yi);ce(this,nn);ce(this,ut);ce(this,Or);ne(this,Yi,r.client),this.mutationId=r.mutationId,ne(this,ut,r.mutationCache),ne(this,nn,[]),this.state=r.state||$v(),this.setOptions(r.options),this.scheduleGc()}setOptions(r){this.options=r,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(r){P(this,nn).includes(r)||(P(this,nn).push(r),this.clearGcTimeout(),P(this,ut).notify({type:"observerAdded",mutation:this,observer:r}))}removeObserver(r){ne(this,nn,P(this,nn).filter(i=>i!==r)),this.scheduleGc(),P(this,ut).notify({type:"observerRemoved",mutation:this,observer:r})}optionalRemove(){P(this,nn).length||(this.state.status==="pending"?this.scheduleGc():P(this,ut).remove(this))}continue(){var r;return((r=P(this,Or))==null?void 0:r.continue())??this.execute(this.state.variables)}async execute(r){var f,h,p,m,x,y,w,k,S,b,C,L,N,F,I,U,O,Y;const i=()=>{xe(this,rn,Kn).call(this,{type:"continue"})},l={client:P(this,Yi),meta:this.options.meta,mutationKey:this.options.mutationKey};ne(this,Or,em({fn:()=>this.options.mutationFn?this.options.mutationFn(r,l):Promise.reject(new Error("No mutationFn found")),onFail:(Q,z)=>{xe(this,rn,Kn).call(this,{type:"failed",failureCount:Q,error:z})},onPause:()=>{xe(this,rn,Kn).call(this,{type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>P(this,ut).canRun(this)}));const a=this.state.status==="pending",c=!P(this,Or).canStart();try{if(a)i();else{xe(this,rn,Kn).call(this,{type:"pending",variables:r,isPaused:c}),P(this,ut).config.onMutate&&await P(this,ut).config.onMutate(r,this,l);const z=await((h=(f=this.options).onMutate)==null?void 0:h.call(f,r,l));z!==this.state.context&&xe(this,rn,Kn).call(this,{type:"pending",context:z,variables:r,isPaused:c})}const Q=await P(this,Or).start();return await((m=(p=P(this,ut).config).onSuccess)==null?void 0:m.call(p,Q,r,this.state.context,this,l)),await((y=(x=this.options).onSuccess)==null?void 0:y.call(x,Q,r,this.state.context,l)),await((k=(w=P(this,ut).config).onSettled)==null?void 0:k.call(w,Q,null,this.state.variables,this.state.context,this,l)),await((b=(S=this.options).onSettled)==null?void 0:b.call(S,Q,null,r,this.state.context,l)),xe(this,rn,Kn).call(this,{type:"success",data:Q}),Q}catch(Q){try{await((L=(C=P(this,ut).config).onError)==null?void 0:L.call(C,Q,r,this.state.context,this,l))}catch(z){Promise.reject(z)}try{await((F=(N=this.options).onError)==null?void 0:F.call(N,Q,r,this.state.context,l))}catch(z){Promise.reject(z)}try{await((U=(I=P(this,ut).config).onSettled)==null?void 0:U.call(I,void 0,Q,this.state.variables,this.state.context,this,l))}catch(z){Promise.reject(z)}try{await((Y=(O=this.options).onSettled)==null?void 0:Y.call(O,void 0,Q,r,this.state.context,l))}catch(z){Promise.reject(z)}throw xe(this,rn,Kn).call(this,{type:"error",error:Q}),Q}finally{P(this,ut).runNext(this)}}},Yi=new WeakMap,nn=new WeakMap,ut=new WeakMap,Or=new WeakMap,rn=new WeakSet,Kn=function(r){const i=l=>{switch(r.type){case"failed":return{...l,failureCount:r.failureCount,failureReason:r.error};case"pause":return{...l,isPaused:!0};case"continue":return{...l,isPaused:!1};case"pending":return{...l,context:r.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:r.isPaused,status:"pending",variables:r.variables,submittedAt:Date.now()};case"success":return{...l,data:r.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...l,data:void 0,error:r.error,failureCount:l.failureCount+1,failureReason:r.error,isPaused:!1,status:"error"}}};this.state=i(this.state),st.batch(()=>{P(this,nn).forEach(l=>{l.onMutationUpdate(r)}),P(this,ut).notify({mutation:this,type:"updated",action:r})})},Hp);function $v(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var wn,Qt,Zi,Wp,Vv=(Wp=class extends Ji{constructor(r={}){super();ce(this,wn);ce(this,Qt);ce(this,Zi);this.config=r,ne(this,wn,new Set),ne(this,Qt,new Map),ne(this,Zi,0)}build(r,i,l){const a=new Bv({client:r,mutationCache:this,mutationId:++fl(this,Zi)._,options:r.defaultMutationOptions(i),state:l});return this.add(a),a}add(r){P(this,wn).add(r);const i=pl(r);if(typeof i=="string"){const l=P(this,Qt).get(i);l?l.push(r):P(this,Qt).set(i,[r])}this.notify({type:"added",mutation:r})}remove(r){if(P(this,wn).delete(r)){const i=pl(r);if(typeof i=="string"){const l=P(this,Qt).get(i);if(l)if(l.length>1){const a=l.indexOf(r);a!==-1&&l.splice(a,1)}else l[0]===r&&P(this,Qt).delete(i)}}this.notify({type:"removed",mutation:r})}canRun(r){const i=pl(r);if(typeof i=="string"){const l=P(this,Qt).get(i),a=l==null?void 0:l.find(c=>c.state.status==="pending");return!a||a===r}else return!0}runNext(r){var l;const i=pl(r);if(typeof i=="string"){const a=(l=P(this,Qt).get(i))==null?void 0:l.find(c=>c!==r&&c.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){st.batch(()=>{P(this,wn).forEach(r=>{this.notify({type:"removed",mutation:r})}),P(this,wn).clear(),P(this,Qt).clear()})}getAll(){return Array.from(P(this,wn))}find(r){const i={exact:!0,...r};return this.getAll().find(l=>Wh(i,l))}findAll(r={}){return this.getAll().filter(i=>Wh(r,i))}notify(r){st.batch(()=>{this.listeners.forEach(i=>{i(r)})})}resumePausedMutations(){const r=this.getAll().filter(i=>i.state.isPaused);return st.batch(()=>Promise.all(r.map(i=>i.continue().catch(wt))))}},wn=new WeakMap,Qt=new WeakMap,Zi=new WeakMap,Wp);function pl(n){var r;return(r=n.options.scope)==null?void 0:r.id}var sn,Qp,Hv=(Qp=class extends Ji{constructor(r={}){super();ce(this,sn);this.config=r,ne(this,sn,new Map)}build(r,i,l){const a=i.queryKey,c=i.queryHash??jc(a,i);let f=this.get(c);return f||(f=new zv({client:r,queryKey:a,queryHash:c,options:r.defaultQueryOptions(i),state:l,defaultOptions:r.getQueryDefaults(a)}),this.add(f)),f}add(r){P(this,sn).has(r.queryHash)||(P(this,sn).set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){const i=P(this,sn).get(r.queryHash);i&&(r.destroy(),i===r&&P(this,sn).delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){st.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return P(this,sn).get(r)}getAll(){return[...P(this,sn).values()]}find(r){const i={exact:!0,...r};return this.getAll().find(l=>Hh(i,l))}findAll(r={}){const i=this.getAll();return Object.keys(r).length>0?i.filter(l=>Hh(r,l)):i}notify(r){st.batch(()=>{this.listeners.forEach(i=>{i(r)})})}onFocus(){st.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){st.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}},sn=new WeakMap,Qp),Ve,er,tr,Ts,Is,nr,Ds,Fs,Kp,Wv=(Kp=class{constructor(n={}){ce(this,Ve);ce(this,er);ce(this,tr);ce(this,Ts);ce(this,Is);ce(this,nr);ce(this,Ds);ce(this,Fs);ne(this,Ve,n.queryCache||new Hv),ne(this,er,n.mutationCache||new Vv),ne(this,tr,n.defaultOptions||{}),ne(this,Ts,new Map),ne(this,Is,new Map),ne(this,nr,0)}mount(){fl(this,nr)._++,P(this,nr)===1&&(ne(this,Ds,Pc.subscribe(async n=>{n&&(await this.resumePausedMutations(),P(this,Ve).onFocus())})),ne(this,Fs,El.subscribe(async n=>{n&&(await this.resumePausedMutations(),P(this,Ve).onOnline())})))}unmount(){var n,r;fl(this,nr)._--,P(this,nr)===0&&((n=P(this,Ds))==null||n.call(this),ne(this,Ds,void 0),(r=P(this,Fs))==null||r.call(this),ne(this,Fs,void 0))}isFetching(n){return P(this,Ve).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return P(this,er).findAll({...n,status:"pending"}).length}getQueryData(n){var i;const r=this.defaultQueryOptions({queryKey:n});return(i=P(this,Ve).get(r.queryHash))==null?void 0:i.state.data}ensureQueryData(n){const r=this.defaultQueryOptions(n),i=P(this,Ve).build(this,r),l=i.state.data;return l===void 0?this.fetchQuery(n):(n.revalidateIfStale&&i.isStaleByTime(sr(r.staleTime,i))&&this.prefetchQuery(r),Promise.resolve(l))}getQueriesData(n){return P(this,Ve).findAll(n).map(({queryKey:r,state:i})=>{const l=i.data;return[r,l]})}setQueryData(n,r,i){const l=this.defaultQueryOptions({queryKey:n}),a=P(this,Ve).get(l.queryHash),c=a==null?void 0:a.state.data,f=Cv(r,c);if(f!==void 0)return P(this,Ve).build(this,l).setData(f,{...i,manual:!0})}setQueriesData(n,r,i){return st.batch(()=>P(this,Ve).findAll(n).map(({queryKey:l})=>[l,this.setQueryData(l,r,i)]))}getQueryState(n){var i;const r=this.defaultQueryOptions({queryKey:n});return(i=P(this,Ve).get(r.queryHash))==null?void 0:i.state}removeQueries(n){const r=P(this,Ve);st.batch(()=>{r.findAll(n).forEach(i=>{r.remove(i)})})}resetQueries(n,r){const i=P(this,Ve);return st.batch(()=>(i.findAll(n).forEach(l=>{l.reset()}),this.refetchQueries({type:"active",...n},r)))}cancelQueries(n,r={}){const i={revert:!0,...r},l=st.batch(()=>P(this,Ve).findAll(n).map(a=>a.cancel(i)));return Promise.all(l).then(wt).catch(wt)}invalidateQueries(n,r={}){return st.batch(()=>(P(this,Ve).findAll(n).forEach(i=>{i.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},r)))}refetchQueries(n,r={}){const i={...r,cancelRefetch:r.cancelRefetch??!0},l=st.batch(()=>P(this,Ve).findAll(n).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let c=a.fetch(void 0,i);return i.throwOnError||(c=c.catch(wt)),a.state.fetchStatus==="paused"?Promise.resolve():c}));return Promise.all(l).then(wt)}fetchQuery(n){const r=this.defaultQueryOptions(n);r.retry===void 0&&(r.retry=!1);const i=P(this,Ve).build(this,r);return i.isStaleByTime(sr(r.staleTime,i))?i.fetch(r):Promise.resolve(i.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(wt).catch(wt)}fetchInfiniteQuery(n){return n._type="infinite",this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(wt).catch(wt)}ensureInfiniteQueryData(n){return n._type="infinite",this.ensureQueryData(n)}resumePausedMutations(){return El.isOnline()?P(this,er).resumePausedMutations():Promise.resolve()}getQueryCache(){return P(this,Ve)}getMutationCache(){return P(this,er)}getDefaultOptions(){return P(this,tr)}setDefaultOptions(n){ne(this,tr,n)}setQueryDefaults(n,r){P(this,Ts).set(Ui(n),{queryKey:n,defaultOptions:r})}getQueryDefaults(n){const r=[...P(this,Ts).values()],i={};return r.forEach(l=>{Bi(n,l.queryKey)&&Object.assign(i,l.defaultOptions)}),i}setMutationDefaults(n,r){P(this,Is).set(Ui(n),{mutationKey:n,defaultOptions:r})}getMutationDefaults(n){const r=[...P(this,Is).values()],i={};return r.forEach(l=>{Bi(n,l.mutationKey)&&Object.assign(i,l.defaultOptions)}),i}defaultQueryOptions(n){if(n._defaulted)return n;const r={...P(this,tr).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return r.queryHash||(r.queryHash=jc(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.queryFn===Rc&&(r.enabled=!1),r}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...P(this,tr).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){P(this,Ve).clear(),P(this,er).clear()}},Ve=new WeakMap,er=new WeakMap,tr=new WeakMap,Ts=new WeakMap,Is=new WeakMap,nr=new WeakMap,Ds=new WeakMap,Fs=new WeakMap,Kp),im=H.createContext(void 0),Lc=n=>{const r=H.useContext(im);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},Qv=({client:n,children:r})=>(H.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),v.jsx(im.Provider,{value:n,children:r})),om=H.createContext(!1),Kv=()=>H.useContext(om);om.Provider;function qv(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var Gv=H.createContext(qv()),Yv=()=>H.useContext(Gv),Zv=(n,r,i)=>{const l=i!=null&&i.state.error&&typeof n.throwOnError=="function"?Xp(n.throwOnError,[i.state.error,i]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||l)&&(r.isReset()||(n.retryOnMount=!1))},Xv=n=>{H.useEffect(()=>{n.clearReset()},[n])},Jv=({result:n,errorResetBoundary:r,throwOnError:i,query:l,suspense:a})=>n.isError&&!r.isReset()&&!n.isFetching&&l&&(a&&n.data===void 0||Xp(i,[n.error,l])),e0=n=>{if(n.suspense){const i=a=>a==="static"?a:Math.max(a??1e3,1e3),l=n.staleTime;n.staleTime=typeof l=="function"?(...a)=>i(l(...a)):i(l),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},t0=(n,r)=>n.isLoading&&n.isFetching&&!r,n0=(n,r)=>(n==null?void 0:n.suspense)&&r.isPending,Jh=(n,r,i)=>r.fetchOptimistic(n).catch(()=>{i.clearReset()});function r0(n,r,i){var k,S,b,C;const l=Kv(),a=Yv(),c=Lc(),f=c.defaultQueryOptions(n);(S=(k=c.getDefaultOptions().queries)==null?void 0:k._experimental_beforeQuery)==null||S.call(k,f);const h=c.getQueryCache().get(f.queryHash),p=n.subscribed!==!1;f._optimisticResults=l?"isRestoring":p?"optimistic":void 0,e0(f),Zv(f,a,h),Xv(a);const m=!c.getQueryCache().get(f.queryHash),[x]=H.useState(()=>new r(c,f)),y=x.getOptimisticResult(f),w=!l&&p;if(H.useSyncExternalStore(H.useCallback(L=>{const N=w?x.subscribe(st.batchCalls(L)):wt;return x.updateResult(),N},[x,w]),()=>x.getCurrentResult(),()=>x.getCurrentResult()),H.useEffect(()=>{x.setOptions(f)},[f,x]),n0(f,y))throw Jh(f,x,a);if(Jv({result:y,errorResetBoundary:a,throwOnError:f.throwOnError,query:h,suspense:f.suspense}))throw y.error;if((C=(b=c.getDefaultOptions().queries)==null?void 0:b._experimental_afterQuery)==null||C.call(b,f,y),f.experimental_prefetchInRender&&!$i.isServer()&&t0(y,l)){const L=m?Jh(f,x,a):h==null?void 0:h.promise;L==null||L.catch(wt).finally(()=>{x.updateResult()})}return f.notifyOnChangeProps?y:x.trackResult(y)}function Ae(n,r){return r0(n,Ov)}const s0=!1;var lm=H.useLayoutEffect;function i0(n,r,i){H.useEffect(()=>{if(!n.current||i||typeof IntersectionObserver!="function")return()=>r();const l=new IntersectionObserver(a=>{r(a.pop())},{rootMargin:"100px"});return l.observe(n.current),()=>{l.disconnect(),r()}},[r,i,n])}function o0(n){const r=H.useRef(null);return H.useImperativeHandle(n,()=>r.current,[]),r}function Vi(n){return n[n.length-1]}function zs(n,r){return typeof n=="function"?n(r):n}const am=Object.prototype.hasOwnProperty,l0=Object.prototype.propertyIsEnumerable;function um(n){for(const r in n)if(am.call(n,r))return!0;return!1}const a0=()=>Object.create(null),Pr=(n,r)=>Rr(n,r,a0);function Rr(n,r,i=()=>({}),l=0){if(n===r)return n;if(l>500)return r;const a=r,c=np(n)&&np(a);if(!c&&!(Pl(n)&&Pl(a)))return a;const f=c?n:ep(n);if(!f)return a;const h=c?a:ep(a);if(!h)return a;const p=f.length,m=h.length,x=c?new Array(m):i();let y=0;for(let w=0;w"u")return!0;const i=r.prototype;return!(!tp(i)||!i.hasOwnProperty("isPrototypeOf"))}function tp(n){return Object.prototype.toString.call(n)==="[object Object]"}function np(n){return Array.isArray(n)&&n.length===Object.keys(n).length}function ir(n,r,i){if(n===r)return!0;if(typeof n!=typeof r)return!1;if(Array.isArray(n)&&Array.isArray(r)){if(n.length!==r.length)return!1;for(let l=0,a=n.length;la||!ir(n[f],r[f],i)))return!1;return a===c}return!1}const u0=/[\x00-\x1f\x7f"<>`{}]/g;function c0(n){return n.replace(u0,r=>"%"+r.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0"))}function rp(n){let r;try{r=decodeURI(n)}catch{r=n.replaceAll(/%[0-9A-F]{2}/gi,i=>{try{return decodeURI(i)}catch{return i}})}return c0(r)}const d0=["http:","https:","mailto:","tel:"];function jl(n,r){if(!n)return!1;try{const i=new URL(n);return!r.has(i.protocol)}catch{return!1}}function Ni(n){if(!n)return{path:n,handledProtocolRelativeURL:!1};if(!/[%\\\x00-\x1f\x7f]/.test(n)&&!n.startsWith("//"))return{path:n,handledProtocolRelativeURL:!1};const r=/%25|%5C/gi;let i=0,l="",a;for(;(a=r.exec(n))!==null;)l+=rp(n.slice(i,a.index))+a[0],i=r.lastIndex;l=l+rp(i?n.slice(i):n);let c=!1;return l.startsWith("//")&&(c=!0,l="/"+l.replace(/^\/+/,"")),{path:l,handledProtocolRelativeURL:c}}function f0(n){return/\s|[^\u0000-\u007F]/.test(n)?n.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):n}function h0(n,r){if(n===r)return!0;if(n.length!==r.length)return!1;for(let i=0;i{c.next&&(c.prev?(c.prev.next=c.next,c.next.prev=c.prev,c.next=void 0,l&&(l.next=c,c.prev=l)):(c.next.prev=void 0,i=c.next,c.next=void 0,l&&(c.prev=l,l.next=c)),l=c)};return{get(c){const f=r.get(c);if(f)return a(f),f.value},set(c,f){if(r.size>=n&&i){const p=i;r.delete(p.key),p.next&&(i=p.next,p.next.prev=void 0),p===l&&(l=void 0)}const h=r.get(c);if(h)h.value=f,a(h);else{const p={key:c,value:f,prev:l};l&&(l.next=p),l=p,i||(i=p),r.set(c,p)}},clear(){r.clear(),i=void 0,l=void 0}}}const rr=4,cm=5;function dm(n,r,i=new Uint16Array(6)){const l=n.indexOf("/",r),a=l===-1?n.length:l,c=n.substring(r,a);if(!c||!c.includes("$"))return i[0]=0,i[1]=r,i[2]=r,i[3]=a,i[4]=a,i[5]=a,i;if(c==="$"){const p=n.length;return i[0]=2,i[1]=r,i[2]=r,i[3]=p,i[4]=p,i[5]=p,i}if(c.charCodeAt(0)===36)return i[0]=1,i[1]=r,i[2]=r+1,i[3]=a,i[4]=a,i[5]=a,i;const f=c.indexOf("{");let h;if(f!==-1&&f+1!J.parse&&J.caseSensitive===Q&&J.prefix===O&&J.suffix===Y));if(q)N=q;else{const J=p0(U,y,Q,O,Y);N=J,J.parent=a,J.depth=c;let Z;U===1?Z=a.dynamic??(a.dynamic=[]):U===3?Z=a.optional??(a.optional=[]):Z=a.wildcard??(a.wildcard=[]),Z.push(J),Z.length===2&&(f==null||f.push(Z))}break}}a=N}if(b&&i.children&&!i.isRoot&&i.id&&i.id.charCodeAt(i.id.lastIndexOf("/")+1)===95){const L=xs(y);L.kind=cm,L.parent=a,c++,L.depth=c,a.pathless??(a.pathless=[]),a.pathless.push(L),a=L}const C=(i.path||!i.children)&&!i.isRoot;if(C&&y.endsWith("/")){const L=xs(y);L.kind=rr,L.parent=a,c++,L.depth=c,a.index=L,a=L}a.parse=b??null,a.priority=((x=w==null?void 0:w.params)==null?void 0:x.priority)??0,C&&!a.route&&(a.route=i,a.fullPath=y)}if(i.children)for(const y of i.children)Dl(n,r,y,p,a,c,f,h)}function fm(n,r){if(n.parse&&!r.parse)return-1;if(!n.parse&&r.parse)return 1;if(n.parse&&r.parse&&(n.priority||r.priority))return r.priority-n.priority;if(n.prefix&&r.prefix&&n.prefix!==r.prefix){if(n.prefix.startsWith(r.prefix))return-1;if(r.prefix.startsWith(n.prefix))return 1}if(n.suffix&&r.suffix&&n.suffix!==r.suffix){if(n.suffix.endsWith(r.suffix))return-1;if(r.suffix.endsWith(n.suffix))return 1}return n.prefix&&!r.prefix?-1:!n.prefix&&r.prefix?1:n.suffix&&!r.suffix?-1:!n.suffix&&r.suffix?1:n.caseSensitive&&!r.caseSensitive?-1:!n.caseSensitive&&r.caseSensitive?1:0}function xs(n){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:n,parent:null,parse:null,priority:0}}function p0(n,r,i,l,a){return{kind:n,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:r,parent:null,parse:null,priority:0,caseSensitive:i,prefix:l,suffix:a}}function m0(n,r){const i=xs("/"),l=new Uint16Array(6),a=[];for(const c of n)Dl(!1,l,c,1,i,0,a);for(const c of a)c.sort(fm);r.masksTree=i,r.flatCache=Rl(1e3)}function g0(n,r){n||(n="/");const i=r.flatCache.get(n);if(i!==void 0)return i;const l=Tc(n,r.masksTree);return r.flatCache.set(n,l),l}function y0(n,r,i,l,a){n||(n="/"),l||(l="/");const c=r?`case\0${n}`:n;let f=a.singleCache.get(c);return f||(f=xs("/"),Dl(r,new Uint16Array(6),{from:n},1,f,0),a.singleCache.set(c,f)),Tc(l,f,i)}function v0(n,r,i=!1){const l=i?n:`nofuzz\0${n}`,a=r.matchCache.get(l);if(a!==void 0)return a;n||(n="/");let c;try{c=Tc(n,r.segmentTree,i)}catch(f){if(f instanceof URIError)c=null;else throw f}return c&&(c.branch=pm(c.route)),r.matchCache.set(l,c),c}function x0(n){return n==="/"?n:n.replace(/\/{1,}$/,"")}function w0(n,r=!1,i){const l=xs(n.fullPath),a=new Uint16Array(6),c=[],f={},h={};let p=0;Dl(r,a,n,1,l,0,c,m=>{if(i==null||i(m,p),m.id in f&&Mc(),f[m.id]=m,p!==0&&m.path){const x=x0(m.fullPath);(!h[x]||m.fullPath.endsWith("/"))&&(h[x]=m)}p++});for(const m of c)m.sort(fm);return{processedTree:{segmentTree:l,singleCache:Rl(1e3),matchCache:Rl(1e3),flatCache:null,masksTree:null},routesById:f,routesByPath:h}}function Tc(n,r,i=!1){const l=n.split("/"),a=S0(n,l,r,i);if(!a)return null;const[c]=hm(n,l,a);return{route:a.node.route,rawParams:c}}function hm(n,r,i){var x,y,w,k;const l=k0(i.node);let a=null;const c=Object.create(null);let f=((x=i.extract)==null?void 0:x.part)??0,h=((y=i.extract)==null?void 0:y.node)??0,p=((w=i.extract)==null?void 0:w.path)??0,m=((k=i.extract)==null?void 0:k.segment)??0;for(;h=0;O--){const Y=y.wildcard[O],{prefix:Q,suffix:z}=Y;if(!(Q&&(F||!(Y.caseSensitive?I:U??(U=I.toLowerCase())).startsWith(Q)))){if(z){if(F)continue;const q=r.slice(w).join("/"),J=q.slice(-z.length);if((Y.caseSensitive?J:J.toLowerCase())!==z||q.length-z.length=0;Y--){const Q=y.optional[Y];h.push({node:Q,index:w,skipped:O,statics:S,dynamics:b,optionals:C,extract:L,rawParams:N})}if(!F)for(let Y=y.optional.length-1;Y>=0;Y--){const Q=y.optional[Y],{prefix:z,suffix:q}=Q;if(z||q){const J=Q.caseSensitive?I:U??(U=I.toLowerCase());if(z&&!J.startsWith(z)||q&&J.indexOf(q,J.length-q.length)=0;O--){const Y=y.dynamic[O],{prefix:Q,suffix:z}=Y;if(Q||z){const q=Y.caseSensitive?I:U??(U=I.toLowerCase());if(Q&&!q.startsWith(Q)||z&&q.indexOf(z,q.length-z.length)=0;O--){const Y=y.pathless[O];h.push({node:Y,index:w,skipped:k,statics:S,dynamics:b,optionals:C,extract:L,rawParams:N})}}if(m)return m;if(l&&p){let x=p.index;for(let w=0;wn.statics||r.statics===n.statics&&(r.dynamics>n.dynamics||r.dynamics===n.dynamics&&(r.optionals>n.optionals||r.optionals===n.optionals&&((r.node.kind===rr)>(n.node.kind===rr)||r.node.kind===rr==(n.node.kind===rr)&&r.node.depth>n.node.depth))):!0}function wl(n){return kl(n.filter(r=>r!==void 0).join("/"))}function kl(n){return n.replace(/\/{2,}/g,"/")}function mm(n){return n==="/"?n:n.replace(/^\/{1,}/,"")}function kn(n){const r=n.length;return r>1&&n[r-1]==="/"?n.replace(/\/{1,}$/,""):n}function gm(n){return kn(mm(n))}function Nl(n,r){return n!=null&&n.endsWith("/")&&n!=="/"&&n!==`${r}/`?n.slice(0,-1):n}function _0(n,r,i){return Nl(n,i)===Nl(r,i)}function C0({base:n,to:r,trailingSlash:i="never",cache:l}){if(r.includes("//")&&(r=kl(r)),r.startsWith("/"))return r.length===1||i==="preserve"?r:i==="always"?r.endsWith("/")?r:`${r}/`:r.endsWith("/")?r.slice(0,-1):r;const a=r===".";let c;if(l){c=a?n:n+"\0"+r;const m=l.get(c);if(m)return m}let f;if(a)f=n.split("/");else{for(n.includes("//")&&(n=kl(n)),f=n.split("/");f.length>1&&Vi(f)==="";)f.pop();const m=r.split("/");for(let x=0,y=m.length;x1?f.pop():f=[""]:w==="."||f.push(w)}}f.length>1&&(Vi(f)===""?i==="never"&&f.pop():i==="always"&&f.push(""));const h=f.join("/"),p=(a?kl(h):h)||"/";return c&&l&&l.set(c,p),p}function E0(n){const r=new Map(n.map(a=>[encodeURIComponent(a),a])),i=Array.from(r.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),l=new RegExp(i,"g");return a=>a.replace(l,c=>r.get(c)??c)}function Ou(n,r,i){const l=r[n];return typeof l!="string"?l:n==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(l)?l:l.split("/").map(a=>op(a,i)).join("/"):op(l,i)}function ip({path:n,params:r,decoder:i,...l}){let a=!1;const c=Object.create(null);if(!n||n==="/")return{interpolatedPath:"/",usedParams:c,isMissingParams:a};if(!n.includes("$"))return{interpolatedPath:n,usedParams:c,isMissingParams:a};const f=n.length;let h=0,p,m="";for(;hn.state.__TSR_key||n.href;function M0(n){const r=n.getAttribute(lp);if(r)return`[${lp}="${r}"]`;let i="",l=n,a;for(;a=l.parentNode;){let c=1,f=l;for(;f=f.previousElementSibling;)c++;const h=`${l.localName}:nth-child(${c})`;i=i?`${h} > ${i}`:h,l=a}return i}let yl=!1;const Sl="window";function cc(n){try{return typeof n=="function"?n():document.querySelector(n)}catch{}}function ap(n){const r=new Set;for(const i of n){if(i===Sl)continue;const l=cc(i);l&&r.add(l)}return r}function T0(n,r){const i=n.options.scrollRestoration,l=n._scroll;i&&(l.restoring=!0);const a=n.options.getScrollRestorationKey||L0,c=new Set,f=h=>{const p=qn[h]||(qn[h]={});for(const m of c)m===document?p[Sl]={scrollX,scrollY}:m.isConnected&&(p[M0(m)]={scrollX:m.scrollLeft,scrollY:m.scrollTop})};i&&!l.restoration&&(l.restoration=!0,yl=!1,history.scrollRestoration="manual",document.addEventListener("scroll",h=>{yl||c.add(h.target)},!0),n.subscribe("onBeforeLoad",h=>{h.fromLocation&&f(a(h.fromLocation)),c.clear()}),addEventListener("pagehide",()=>{f(a(n.stores.resolvedLocation.get()??n.stores.location.get())),N0()})),!l.reset&&(l.reset=!0,n.subscribe("onRendered",h=>{var b;const p=n.options.scrollRestorationBehavior,m=n.options.scrollToTopSelectors,x=l.next,y=l.hash;let w;if(c.clear(),l.next=!0,l.hash=!1,typeof n.options.scrollRestoration=="function"&&!n.options.scrollRestoration({location:n.latestLocation}))return;const k=a(h.toLocation),S=h.fromLocation&&a(h.fromLocation);if(l.restoring&&S&&S!==k){const C=qn[S];if(C){let L=qn[k];for(const N in C){if(N===Sl){if(x)continue}else{const F=cc(N);if(!F||x&&m&&(w??(w=ap(m)),w.has(F)))continue}L||(L=qn[k]={}),L[N]??(L[N]=C[N])}}}yl=!0;try{const C=h.toLocation.hash,L=h.toLocation.state.__hashScrollIntoViewOptions??!0;let N=!1;if(x){!C&&m&&(w??(w=ap(m)));const F=C&&L&&y,I=l.restoring?qn[k]:void 0;if(I)for(const U in I){const{scrollX:O,scrollY:Y}=I[U];if(U===Sl){if(F)continue;scrollTo({top:Y,left:O,behavior:p}),N=!0}else{const Q=cc(U);Q&&(Q.scrollLeft=O,Q.scrollTop=Y,w==null||w.delete(Q))}}if(!C){const U={top:0,left:0,behavior:p};if(N||scrollTo(U),w)for(const O of w)O.scrollTo(U)}}!N&&C&&L&&((b=document.getElementById(C))==null||b.scrollIntoView(L))}finally{yl=!1}}))}function I0(n,r=String){const i=new URLSearchParams;for(const l in n){const a=n[l];a!==void 0&&i.set(l,r(a))}return i.toString()}function Au(n){return n?n==="false"?!1:n==="true"?!0:+n*0===0&&+n+""===n?+n:n:""}function D0(n){const r=new URLSearchParams(n),i=Object.create(null);for(const[l,a]of r.entries()){const c=i[l];c==null?i[l]=Au(a):Array.isArray(c)?c.push(Au(a)):i[l]=[c,Au(a)]}return i}const F0=/^(?:\s|["[{\d-]|fa|nu|tr)/,z0=A0(JSON.parse),O0=U0(JSON.stringify,JSON.parse);function A0(n){return r=>{r[0]==="?"&&(r=r.substring(1));const i=D0(r);for(const l in i){const a=i[l];if(typeof a=="string")try{i[l]=n(a)}catch{}}return i}}function U0(n,r){const i=r===JSON.parse;function l(a){if(a&&typeof a=="object")try{return n(a)}catch{}else if(r&&typeof a=="string"){if(i&&!F0.test(a))return a;try{return r(a),n(a)}catch{}}return a}return a=>{const c=I0(a,l);return c?`?${c}`:""}}const ks="__root__";function ym(n){if(n.statusCode=n.statusCode||n.code||307,!n.reloadDocument&&typeof n.href=="string")try{new URL(n.href),n.reloadDocument=!0}catch{}const r=new Headers(n.headers);n.href&&r.get("Location")===null&&r.set("Location",n.href);const i=new Response(null,{status:n.statusCode,headers:r});if(i.options=n,n.throw)throw i;return i}function vm(n){return n instanceof Response&&!!n.options}function B0(n){return{input:({url:r})=>{for(const i of n)r=dc(i,r);return r},output:({url:r})=>{for(let i=n.length-1;i>=0;i--)r=xm(n[i],r);return r}}}function $0(n){const r=gm(n.basepath),i=`/${r}`,l=n.caseSensitive?i:i.toLowerCase(),a=`${l}/`;return{input:({url:c})=>{const f=n.caseSensitive?c.pathname:c.pathname.toLowerCase();return f===l?c.pathname="/":f.startsWith(a)&&(c.pathname=c.pathname.slice(i.length)),c},output:({url:c})=>(c.pathname=wl(["/",r,c.pathname]),c)}}function dc(n,r){var l;const i=(l=n==null?void 0:n.input)==null?void 0:l.call(n,{url:r});if(i){if(typeof i=="string")return new URL(i);if(i instanceof URL)return i}return r}function xm(n,r){var l;const i=(l=n==null?void 0:n.output)==null?void 0:l.call(n,{url:r});if(i){if(typeof i=="string")return new URL(i);if(i instanceof URL)return i}return r}function V0(n,r){const{createMutableStore:i,createReadonlyStore:l,batch:a}=r,c=new Map,f=i("idle"),h=i(n),p=i(void 0),m=i([]),x=l(()=>m.get().map(b=>c.get(b).get())),y=l(()=>({status:f.get(),isLoading:f.get()==="pending",matches:x.get(),location:h.get(),resolvedLocation:p.get()}));function w(b){let C=c.get(b);return C||(C=i(void 0),c.set(b,C)),C}const k={status:f,location:h,resolvedLocation:p,ids:m,matches:x,byRoute:c,__store:y,getMatchStore:w,setMatches:S};function S(b){const C=m.get(),L=b.map(N=>N.routeId);a(()=>{h0(C,L)||m.set(L);for(const N of C)L.includes(N)||c.get(N).set(()=>{});for(const N of b){const F=w(N.routeId);F.get()!==N&&F.set(N)}})}return k}var or="__TSR_index",up="popstate",cp="beforeunload";function H0(n){let r=n.getLocation();const i=new Set,l=f=>{r=n.getLocation(),i.forEach(h=>h({location:r,action:f}))},a=f=>{n.notifyOnIndexChange??!0?l(f):r=n.getLocation()},c=async({task:f,navigateOpts:h,...p})=>{var y,w;if((h==null?void 0:h.ignoreBlocker)??!1){f();return}const m=((y=n.getBlockers)==null?void 0:y.call(n))??[],x=p.type==="PUSH"||p.type==="REPLACE";if(typeof document<"u"&&m.length&&x)for(const k of m){const S=Ll(p.path,p.state);if(await k.blockerFn({currentLocation:r,nextLocation:S,action:p.type})){(w=n.onBlocked)==null||w.call(n);return}}f()};return{get location(){return r},get length(){return n.getLength()},subscribers:i,subscribe:f=>(i.add(f),()=>{i.delete(f)}),push:(f,h,p)=>{const m=r.state[or];h=dp(m+1,h),c({task:()=>{n.pushState(f,h),l({type:"PUSH"})},navigateOpts:p,type:"PUSH",path:f,state:h})},replace:(f,h,p)=>{const m=r.state[or];h=dp(m,h),c({task:()=>{n.replaceState(f,h),l({type:"REPLACE"})},navigateOpts:p,type:"REPLACE",path:f,state:h})},go:(f,h)=>{c({task:()=>{n.go(f),a({type:"GO",index:f})},navigateOpts:h,type:"GO"})},back:f=>{c({task:()=>{n.back((f==null?void 0:f.ignoreBlocker)??!1),a({type:"BACK"})},navigateOpts:f,type:"BACK"})},forward:f=>{c({task:()=>{n.forward((f==null?void 0:f.ignoreBlocker)??!1),a({type:"FORWARD"})},navigateOpts:f,type:"FORWARD"})},canGoBack:()=>r.state[or]!==0,createHref:f=>n.createHref(f),block:f=>{var p;if(!n.setBlockers)return()=>{};const h=((p=n.getBlockers)==null?void 0:p.call(n))??[];return n.setBlockers([...h,f]),()=>{var x,y;const m=((x=n.getBlockers)==null?void 0:x.call(n))??[];(y=n.setBlockers)==null||y.call(n,m.filter(w=>w!==f))}},flush:()=>{var f;return(f=n.flush)==null?void 0:f.call(n)},destroy:()=>{var f;return(f=n.destroy)==null?void 0:f.call(n)},notify:l}}function dp(n,r){r||(r={});const i=Ic();return{...r,key:i,__TSR_key:i,[or]:n}}function W0(n){var Y,Q;const r=typeof document<"u"?window:void 0,i=r.history.pushState,l=r.history.replaceState;let a=[];const c=()=>a,f=z=>a=z,h=(z=>z),p=(()=>Ll(`${r.location.pathname}${r.location.search}${r.location.hash}`,r.history.state));if(!((Y=r.history.state)!=null&&Y.__TSR_key)&&!((Q=r.history.state)!=null&&Q.key)){const z=Ic();r.history.replaceState({[or]:0,key:z,__TSR_key:z},"")}let m=p(),x,y=!1,w=!1,k=!1,S=!1;const b=()=>m;let C;const L=()=>{C&&(O._ignoreSubscribers=!0,(C[2]?r.history.pushState:r.history.replaceState)(C[1],"",C[0]),O._ignoreSubscribers=!1,C=void 0,x=void 0)},N=(z,q,J)=>{const Z=h(q),de=!!C;de||(x=m),m=Ll(q,J),C=[Z,J,(C==null?void 0:C[2])||z],de||queueMicrotask(()=>L())},F=z=>{m=p(),O.notify({type:z})},I=async()=>{if(w){w=!1;return}const z=p(),q=z.state[or]-m.state[or],J=q===1,Z=q===-1,de=!J&&!Z||y;y=!1;const W=de?"GO":Z?"BACK":"FORWARD",ee=de?{type:"GO",index:q}:{type:Z?"BACK":"FORWARD"};if(k)k=!1;else{const we=c();if(typeof document<"u"&&we.length){for(const he of we)if(await he.blockerFn({currentLocation:m,nextLocation:z,action:W})){w=!0,r.history.go(1),O.notify(ee);return}}}m=p(),O.notify(ee)},U=z=>{if(S){S=!1;return}let q=!1;const J=c();if(typeof document<"u"&&J.length)for(const Z of J){const de=Z.enableBeforeUnload??!0;if(de===!0){q=!0;break}if(typeof de=="function"&&de()===!0){q=!0;break}}if(q)return z.preventDefault(),z.returnValue=""},O=H0({getLocation:b,getLength:()=>r.history.length,pushState:(z,q)=>N(!0,z,q),replaceState:(z,q)=>N(!1,z,q),back:z=>(z&&(k=!0),S=!0,r.history.back()),forward:z=>{z&&(k=!0),S=!0,r.history.forward()},go:z=>{y=!0,r.history.go(z)},createHref:z=>h(z),flush:L,destroy:()=>{r.history.pushState=i,r.history.replaceState=l,r.removeEventListener(cp,U,{capture:!0}),r.removeEventListener(up,I)},onBlocked:()=>{x&&m!==x&&(m=x)},getBlockers:c,setBlockers:f,notifyOnIndexChange:!1});return r.addEventListener(cp,U,{capture:!0}),r.addEventListener(up,I),r.history.pushState=function(...z){const q=i.apply(r.history,z);return O._ignoreSubscribers||F("PUSH"),q},r.history.replaceState=function(...z){const q=l.apply(r.history,z);return O._ignoreSubscribers||F("REPLACE"),q},O}function Q0(n){let r=n.replace(/[\x00-\x1f\x7f]/g,"");return r.startsWith("//")&&(r="/"+r.replace(/^\/+/,"")),r}function Ll(n,r){const i=Q0(n),l=i.indexOf("#"),a=i.indexOf("?"),c=Ic();return{href:i,pathname:i.substring(0,l>0?a>0?Math.min(l,a):l:a>0?a:i.length),hash:l>-1?i.substring(l):"",search:a>-1?i.slice(a,l===-1?void 0:l):"",state:r||{[or]:0,key:c,__TSR_key:c}}}function Ic(){return(Math.random()+1).toString(36).substring(7)}function fp(n){var r,i;return n.options.loader||n.options.beforeLoad||n.lazyFn||((r=n.options.component)==null?void 0:r.preload)||((i=n.options.pendingComponent)==null?void 0:i.preload)}function Fl(n,r){return{fromLocation:r,toLocation:n,pathChanged:(r==null?void 0:r.pathname)!==n.pathname,hrefChanged:(r==null?void 0:r.href)!==n.href,hashChanged:(r==null?void 0:r.hash)!==n.hash}}function hp({key:n,__TSR_key:r,__TSR_index:i,__hashScrollIntoViewOptions:l,...a}){return a}function K0(n,r,i,l){var a,c,f,h;for(const p of r){if(l&&n._tx!==l)return;i.some(m=>m.routeId===p.routeId)||(c=(a=n.routesById[p.routeId].options).onLeave)==null||c.call(a,p)}for(const p of i){if(l&&n._tx!==l)return;(h=(f=n.routesById[p.routeId].options)[r.some(m=>m.routeId===p.routeId)?"onStay":"onEnter"])==null||h.call(f,p)}}var q0=class{constructor(n,r){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async i=>(i(),!1),this.update=i=>{const l=this.options,a=this.basepath??(l==null?void 0:l.basepath)??"/",c=this.basepath===void 0,f=l==null?void 0:l.rewrite;if(this.options={...l,...i},this.isServer=this.options.isServer??s0??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=E0(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=W0()),this.origin=this.options.origin,this.origin||(window!=null&&window.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let m;this.resolvePathCache=Rl(1e3),m=this.buildRouteTree(),this.setRoutes(m)}if(!this.stores&&this.latestLocation){const m=this.getStoreConfig(this);this.batch=m.batch,this.stores=V0(this.latestLocation,m),T0(this)}const h=this.options.basepath??"/",p=this.options.rewrite;if(c||a!==h||f!==p){this.basepath=h;const m=[],x=gm(h);x&&x!=="/"&&m.push($0({basepath:h})),p&&m.push(p),this.rewrite=m.length===0?void 0:m.length===1?m[0]:B0(m),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const i=w0(this.routeTree,this.options.caseSensitive,(l,a)=>{l.init({originalIndex:a})});return this.options.routeMasks&&m0(this.options.routeMasks,i.processedTree),i},this.subscribe=(i,l)=>{const a={eventType:i,fn:l};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=i=>{for(const l of this.subscribers)if(l.eventType===i.type)try{l.fn(i)}catch(a){console.error(a)}},this.parseLocation=(i,l)=>{const a=({pathname:p,search:m,hash:x,href:y,state:w})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(p)){const L=this.options.parseSearch(m),N=this.options.stringifySearch(L);return{href:p+N+x,publicHref:p+N+x,pathname:Ni(p).path,external:!1,searchStr:N,search:Pr(l==null?void 0:l.search,L),hash:Ni(x.slice(1)).path,state:Rr(l==null?void 0:l.state,w)}}const k=new URL(y,this.origin),S=dc(this.rewrite,k),b=this.options.parseSearch(S.search),C=this.options.stringifySearch(b);return S.search=C,{href:S.href.replace(S.origin,""),publicHref:y,pathname:Ni(S.pathname).path,external:!!this.rewrite&&S.origin!==this.origin,searchStr:C,search:Pr(l==null?void 0:l.search,b),hash:Ni(S.hash.slice(1)).path,state:Rr(l==null?void 0:l.state,w)}},c=a(i),{__tempLocation:f,__tempKey:h}=c.state;if(f&&(!h||h===this.tempLocationKey)){const p=a(f);return p.state.key=c.state.key,p.state.__TSR_key=c.state.__TSR_key,delete p.state.__tempLocation,{...p,maskedLocation:c}}return c},this.resolvePathWithBase=(i,l)=>C0({base:i,to:l,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(i,l,a)=>typeof i=="string"?this.matchRoutesInternal({pathname:i,search:l},a):this.matchRoutesInternal(i,l),this.getMatchedRoutes=i=>{const l=Object.create(null),a=v0(kn(i),this.processedTree,!0);return a&&Object.assign(l,a.rawParams),[(a==null?void 0:a.branch)||[this.routesById.__root__],l,a==null?void 0:a.route]},this.buildLocation=i=>{const l=(c={})=>{var z,q;if(c.href){const J=Ll(c.href,{});c={...c,to:dc(this.rewrite,new URL(J.pathname,this.origin)).pathname,search:this.options.parseSearch(J.search),hash:J.hash.slice(1)}}const f=c._fromLocation||this._pendingLocation||this.latestLocation,h=this.matchRoutesLightweight(f);c.from;const p=c.unsafeRelative==="path"?f.pathname:c.from??h[1],m=h[2],x=h[3],y=this.resolvePathWithBase(p,c.to?`${c.to}`:".");let w=pp(c.params,x);const k=this.routesByPath[kn(y)];let S;if(k)S=this.getRouteBranch(k);else if(y.includes("$"))S=[];else{const[J,Z,de]=this.getMatchedRoutes(y);S=J,this.options.notFoundRoute&&(!de||de.path!=="/"&&Z["**"])&&(S=[...S,this.options.notFoundRoute])}if(S.length&&um(w))for(const J of S){const Z=((z=J.options.params)==null?void 0:z.stringify)??J.options.stringifyParams;if(Z){w===x&&(w=Object.assign(Object.create(null),w));try{Object.assign(w,Z(w))}catch{}}}const b=i.leaveParams?y:Ni(ip({path:y,params:w,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path;let C=m;if(i._includeValidateSearch&&((q=this.options.search)!=null&&q.strict)){const J={};S.forEach(Z=>{if(Z.options.validateSearch)try{Object.assign(J,bl(Z.options.validateSearch,{...J,...C}))}catch{}}),C=J}C=Y0(C,c,S,i._includeValidateSearch),C=Pr(m,C);const L=this.options.stringifySearch(C),N=c.hash===!0?f.hash:c.hash?zs(c.hash,f.hash):void 0,F=N?`#${N}`:"";let I=c.state===!0?f.state:c.state?zs(c.state,f.state):{};c.state&&(I=Rr(f.state,I));const U=`${b}${L}${F}`;let O,Y,Q=!1;if(this.rewrite){const J=new URL(U,this.origin),Z=xm(this.rewrite,J);O=J.href.replace(J.origin,""),Z.origin!==this.origin?(Y=Z.href,Q=!0):Y=Z.pathname+Z.search+Z.hash}else O=f0(U),Y=O;return{publicHref:Y,href:O,pathname:b,search:C,searchStr:L,state:I,hash:N??"",external:Q,unmaskOnReload:c.unmaskOnReload}},a=l(i);if(i.mask)a.maskedLocation=l({from:i.from,...i.mask});else if(this.options.routeMasks){const c=g0(a.pathname,this.processedTree);if(c){const f=Object.assign(Object.create(null),c.rawParams),{from:h,params:p,...m}=c.route,x=pp(p,f);a.maskedLocation=l({from:i.from,...m,params:x})}}return a},this.commitLocation=async({viewTransition:i,ignoreBlocker:l,...a})=>{let c;const f=kn(this.latestLocation.href)===kn(a.href)&&ir(hp(a.state),hp(this.latestLocation.state)),h=this._commitPromise;let p;const m=new Promise(x=>{p=x});if(m.resolve=()=>{p(),h==null||h.resolve()},this._commitPromise=m,f)this.load();else{let{maskedLocation:x,hashScrollIntoView:y,...w}=a;x&&(w={...x,state:{...x.state,__tempKey:void 0,__tempLocation:{...w,search:w.searchStr,state:{...w.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(w.unmaskOnReload??this.options.unmaskOnReload??!1)&&(w.state.__tempKey=this.tempLocationKey)),w.state.__hashScrollIntoViewOptions=y??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=i,c=a.replace?"REPLACE":"PUSH",this.history[c==="REPLACE"?"replace":"push"](w.publicHref,w.state,{ignoreBlocker:l}),this.history.subscribers.size||this.load({action:{type:c}})}return this._scroll.next=a.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:i,resetScroll:l,hashScrollIntoView:a,viewTransition:c,ignoreBlocker:f,...h}={})=>{const p=this.buildLocation({...h,_includeValidateSearch:!0});this._pendingLocation=p;const m=this.commitLocation({...p,viewTransition:c,replace:i,resetScroll:l,hashScrollIntoView:a,ignoreBlocker:f});return queueMicrotask(()=>{this._pendingLocation===p&&(this._pendingLocation=void 0)}),m},this.navigate=async({to:i,reloadDocument:l,href:a,publicHref:c,...f})=>{var p,m;let h=!1;if(a)try{new URL(`${a}`),h=!0}catch{}if(h&&!l&&(l=!0),l){if(i!==void 0||!a){const y=this.buildLocation({to:i,...f});a=a??y.publicHref,c=c??y.publicHref}const x=!h&&c?c:a;if(jl(x,this.protocolAllowlist))return;if(!f.ignoreBlocker){const y=((m=(p=this.history).getBlockers)==null?void 0:m.call(p))??[];for(const w of y)if(w!=null&&w.blockerFn&&await w.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return}f.replace?window.location.replace(x):window.location.href=x;return}return this.buildAndCommitLocation({...f,href:a,to:i,_isNavigate:!0})},this.load=async i=>{this.updateLatestLocation(),i!=null&&i.action&&(this._scroll.hash=i.action.type==="PUSH"||i.action.type==="REPLACE"),await ix(this,i)},this.startViewTransition=i=>{var a,c;const l=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,l&&typeof document.startViewTransition=="function"){let f;if(typeof l=="object"&&((c=(a=window.CSS)==null?void 0:a.supports)!=null&&c.call(a,"selector(:active-view-transition-type(a))"))){const h=this.latestLocation,p=this.stores.resolvedLocation.get(),m=typeof l.types=="function"?l.types(Fl(h,p)):l.types;if(m===!1)return i();f={update:i,types:m}}else f=i;return document.startViewTransition(f).updateCallbackDone}return i()},this.invalidate=i=>{var m,x;const l=this._committed,a=i==null?void 0:i.filter,c=this._preloads,f=new Set([...l,...this._cache.values(),...[...(c==null?void 0:c.values())??[]].flat(),...((m=this._tx)==null?void 0:m[3])??[]].filter(y=>!a||a(y)).map(y=>y.id)),h=[];for(const[y,w]of c??[])w.some(k=>f.has(k.id))&&(c.delete(y),h.push(y));const p=y=>{if(f.has(y.id)){const w=this.routesById[y.routeId],k={...y,invalid:!0,...(i!=null&&i.forcePending||y.status==="error"||y.status==="notFound")&&fp(w)?{status:"pending",error:void 0}:void 0};return y._flight=void 0,k}return y};this._committed=l.map(p);for(const[y,w]of this._cache)f.has(y)&&(w.invalid=!0,i!=null&&i.forcePending&&(w.status="pending"));for(const y of f)(x=this._flights)==null||x.delete(y);for(const y of h)y.abort();return this.shouldViewTransition=!1,this.load({sync:i==null?void 0:i.sync})},this.resolveRedirect=i=>{const l=i.headers.get("Location");if(i.options.href){if(l)try{const a=new URL(l);if(this.origin&&a.origin===this.origin){const c=a.pathname+a.search+a.hash;i.options.href=c,i.headers.set("Location",c)}}catch{}}else{const a=this.buildLocation(i.options).publicHref||"/";i.options.href=a,i.headers.set("Location",a)}if(i.options.href&&jl(i.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return i.headers.get("Location")||i.headers.set("Location",i.options.href),i},this.clearCache=i=>{var m;const l=this._cache,a=this._preloads,c=i==null?void 0:i.filter,f=[],h=[];for(const[x,y]of l)(!c||c(y))&&(h.push(x),f.push(y));const p=[];for(const[x,y]of a??[])(!c||y.some(c))&&(p.push(x),f.push(...y));for(const x of h)l.delete(x);for(const x of p)a.delete(x);for(const x of f){const y=x._flight;x._flight=void 0,y&&!--y[2]&&(((m=this._flights)==null?void 0:m.get(x.id))===y&&this._flights.delete(x.id),p.push(y[1]))}for(const x of p)x.abort()},this.loadRouteChunk=Ss,this.preloadRoute=i=>ox(this,i),this.matchRoute=(i,l)=>{const a={...i,to:i.to?this.resolvePathWithBase(i.from||"",i.to):void 0,params:i.params||{},leaveParams:!0},c=this.buildLocation(a),f=this.stores.status.get()==="pending";if(l!=null&&l.pending&&!f)return!1;const h=(l==null?void 0:l.pending)??!f?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),p=y0(c.pathname,(l==null?void 0:l.caseSensitive)??!1,(l==null?void 0:l.fuzzy)??!1,h.pathname,this.processedTree);return!p||i.params&&!ir(p.rawParams,i.params,{partial:!0})?!1:(l==null?void 0:l.includeSearch)??!0?ir(h.search,c.search,{partial:!0})?p.rawParams:!1:p.rawParams},this.getStoreConfig=r,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...n,caseSensitive:n.caseSensitive??!1,notFoundMode:n.notFoundMode??"fuzzy",stringifySearch:n.stringifySearch??O0,parseSearch:n.parseSearch??z0,protocolAllowlist:n.protocolAllowlist??d0}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:n,routesByPath:r,processedTree:i}){this.routesById=n,this.routesByPath=r,this.processedTree=i;const l=this.options.notFoundRoute;l&&(l.init({originalIndex:99999999999}),this.routesById[l.id]=l)}getRouteBranch(n){let r=this.routeBranchCache.get(n);return r||(r=pm(n),this.routeBranchCache.set(n,r)),r}matchRoutesInternal(n,r){var w,k;const[i,l,a]=this.getMatchedRoutes(n.pathname);let c=i,f=!1;(a?a.path!=="/"&&l["**"]:kn(n.pathname))&&(this.options.notFoundRoute?c=[...c,this.options.notFoundRoute]:f=!0);const h=f?Z0(this.options.notFoundMode,c):void 0,p=new Array(c.length),m=this._committed,x=(S,b)=>{const C=m[b];return(C==null?void 0:C.routeId)===S.id?C:S===this.options.notFoundRoute?m.find(L=>L.routeId===S.id):void 0};let y;for(let S=0;S{const k=w(p.preSearchFilters?p.preSearchFilters.reduce((S,b)=>b(S),y):y);return p.postSearchFilters?p.postSearchFilters.reduce((S,b)=>b(S),k):k};a.push(x)}const m=p.validateSearch;if(l&&m){const x=({search:y,next:w,meta:k})=>{const S=w(y);try{const b=bl(m,S);if(k&&b)for(const C in b)C in S||(k.defaulted||(k.defaulted=new Map)).set(C,b[C]);return{...S,...b}}catch{}return S};a.push(x)}}const c=(h,p,m)=>{if(h>=a.length){if(!r.search)return{};if(r.search===!0)return p;const y=zs(r.search,p);return m&&(m.explicit=y),y}const x=(y,w)=>{if(w){const k=m||{};return{search:c(h+1,y,k),meta:k}}return c(h+1,y,m)};return a[h]({search:p,next:x,meta:m})};return c(0,n)}function Z0(n,r){if(n!=="root"){let i;for(let l=r.length-1;l>=0;l--){const a=r[l];if(a.options.notFoundComponent)return a.id;i||(i=a.children&&a.id)}if(i)return i}return ks}function pp(n,r){if(n===!1||n===null)return Object.create(null);if((n??!0)===!0)return r;const i=Object.assign(Object.create(null),r);return Object.assign(i,zs(n,i))}function mp(n,r){var l;const i=((l=n.options.params)==null?void 0:l.parse)??n.options.parseParams;i&&Object.assign(r,i(r))}function fc(n,r){var i,l;return(l=(i=n.options[r])==null?void 0:i.preload)==null?void 0:l.call(i)}function X0(n,r){const i=fc(n,"component");let l=fc(n,"pendingComponent");return r&&(l?l=l.then(r):r()),i&&l?Promise.all([i,l]).then(()=>{}):i??l}function Ss(n,r,i){const l=()=>r===!1?void 0:r?fc(n,r):X0(n,i),a=n._lazy;if(a)return a===!0?l():a.then(l);if(!n.lazyFn)return l();const c=n.lazyFn().then(f=>{{const{id:h,...p}=f.options;Object.assign(n.options,p),n._lazy=!0}},f=>{throw n._lazy=void 0,f});return n._lazy=c,c.then(l)}function Dc(n){const r=n.findIndex(i=>i.status!=="success"||i._notFound)+1;return r&&r{const a=()=>l(r);r.addEventListener("abort",a,{once:!0}),Promise.resolve(n).then(i,l).finally(()=>r.removeEventListener("abort",a))})}function $r(n,r){return n.routesById[r.routeId]}function Wi(n,r,i){return vm(n)?[Rt,n]:Os(n)?(n.routeId||(n.routeId=i),[zl,n]):r?(typeof(n==null?void 0:n.then)=="function"&&(n=new Error("A Promise was thrown",{cause:n})),[bn,n]):[on,n]}function Fc(n,r){var l,a;let i=Wi(r,!0,n.id);if(i[0]!==bn)return i;try{(a=(l=n.options).onError)==null||a.call(l,i[1])}catch(c){i=Wi(c,!0,n.id)}return i}function Fi(n,r,i,l,a){return a[0].signal.aborted?lr:Ac(n,r,i,Fc(i,l),a)}async function J0(n,r,i,l,a,c){var x,y;const[f,h]=r,p=i[0].signal,m=!!i[3];for(let w=i[6]??0;wn.navigate({...I,_fromLocation:f}),buildLocation:n.buildLocation,cause:m?"preload":k.cause,abortController:i[0],preload:m,matches:h,routeId:S.id};try{const I=k._ctx||(k._ctx=S.options.context?S.options.context({...C,deps:k.loaderDeps,context:b})||{}:void 0);k.context={...b,...I}}catch(I){return Sn(n,k),[w,Fi(n,r,S,I,i)]}if(p.aborted)return[w,lr];const L=k.paramsError??k.searchError;if(L!==void 0)return Sn(n,k),[w,Fi(n,r,S,L,i)];const N=S.options.beforeLoad;if(!N)continue;const F=k.status;w>=c&&(k.status="pending",(y=i[7])==null||y.call(i));try{Qi(n,k,"beforeLoad",i[0]);const I=await Br(N({...C,search:k.search,context:k.context,...n.options.additionalContext}),p);if(p.aborted)return[w,lr];const U=Ac(n,r,S,Wi(I,!1,S.id),i);if(U[0]!==on)return Sn(n,k),[w,U];k.context={...k.context,...I}}catch(I){return Sn(n,k),[w,Fi(n,r,S,I,i)]}finally{k.status=F,Qi(n,k,!1,i[0])}}a()}function zc(n,r,i){var l;if(!(!i||--i[2])){if(((l=n._flights)==null?void 0:l.get(r.id))===i){const a=n._tx;if(a&&!a[0].signal.aborted&&!a[3].includes(r)&&a[3].some(c=>c.id===r.id)&&a[3].some(c=>c.isFetching==="beforeLoad"))return;n._flights.delete(r.id)}return i[1]}}function Sn(n,r){var l;const i=r._flight;r._flight=void 0,(l=zc(n,r,i))==null||l.abort()}function kt(n,r,i,l){var c;const a=[];for(const f of r)if(!(i!=null&&i.includes(f))){const h=f._flight;if(f._flight=void 0,l&&(h==null?void 0:h[2])===1&&((c=n._flights)==null?void 0:c.get(f.id))===h&&(i!=null&&i.some(p=>p.id===f.id)))h[2]=0;else{const p=zc(n,f,h);p&&a.push(p)}}for(const f of a)f.abort()}function Oc(n){for(const r of n){const i=r._flight;i&&i[2]++}}function Qi(n,r,i,l){var f;if(r.isFetching=i,l&&((f=n._tx)==null?void 0:f[0])!==l)return;const a=n.stores.byRoute.get(r.routeId),c=a==null?void 0:a.get();(c==null?void 0:c.id)===r.id&&a.set({...c,isFetching:i})}function wm(n,r,i,l,a,c,f){const h=r[0];return{params:i.params,location:h,navigate:p=>n.navigate({...p,_fromLocation:h}),cause:f?"preload":i.cause,abortController:a,preload:f,deps:i.loaderDeps,parentMatchPromise:c,context:i.context,route:l,...n.options.additionalContext}}async function gp(n,r,i,l,a,c,f){const h=f[0],p=h.signal;if(p.aborted)return lr;if(!a)return[on,void 0];let m=i._flight;Qi(n,i,"loader",h);try{if(!m){const x=new AbortController;m=[Promise.resolve().then(()=>a(wm(n,r,i,l,x,c,!!f[3]))).then(y=>Wi(y,!1,l.id),y=>Wi(y,!0,l.id)).then(y=>{var w;return y[0]!==on&&((w=n._flights)==null?void 0:w.get(i.id))===m&&(n._flights.delete(i.id),m[2]||x.abort()),y[0]===bn&&m[2]?Fc(l,y[1]):y}),x,1],(n._flights??(n._flights=new Map)).set(i.id,m)}return i._flight=m,i.abortController=m[1],Ac(n,r,l,await Br(m[0],p),f)}catch(x){if(x!==p||!p.aborted)throw x;return Sn(n,i),lr}finally{Qi(n,i,!1,h)}}function yp(n,r,i){r[0]!==Rt&&(n.status="success",n.error=void 0,r[0]===on?(n.loaderData=r[1],n.invalid=!1,n.updatedAt=Date.now(),n.preload=i):n.invalid=!0)}function ex(n,r,i){const l=n._cache.get(r.id);if(l!==i||n._committed.some(c=>c.id===r.id&&c._flight===r._flight))return;const a={...r,_notFound:void 0,context:{}};a._flight&&a._flight[2]++,n._cache.set(r.id,a),l&&Sn(n,l)}function vp(n,r){return r[0]===bn||r[0]===zl?{...n,status:r[0]===bn?"error":"notFound",error:r[1],_flight:void 0}:n}function tx(n,r,i,l,a,c,f){var Z,de;const h=r[1][i],p=$r(n,h),m=!!c[3],x=n._cache.get(h.id);let y,w=!1,k;try{if(h.status==="success"&&(y=p.options.shouldReload,typeof y=="function"&&(y=y(wm(n,r,h,p,c[0],a,m))),c[0].signal.aborted&&(k=lr)),!k)if(h.status!=="success")w=!0;else{const W=m||h.preload?p.options.preloadStaleTime??n.options.defaultPreloadStaleTime??3e4:p.options.staleTime??n.options.defaultStaleTime??0;w=!!(h.invalid||y||y===void 0&&Date.now()-h.updatedAt>=W&&(c[5]||h.cause==="enter"||c[2].some(ee=>ee.routeId===h.routeId&&ee.id!==h.id)))}}catch(W){h.invalid=!0,Sn(n,h),k=Fi(n,r,p,W,c)}const S=p.options.loader,b=typeof S=="function",C=b?S:S==null?void 0:S.handler,L=!m||p.options.preload!==!1;let N=L&&S?(Z=n._flights)==null?void 0:Z.get(h.id):void 0;N===h._flight||k?N=void 0:N&&!w&&!m&&y===void 0?w=!0:w||(N=void 0);const F=!!(S&&w&&h.status==="success"&&!m&&!c[4]&&((b?void 0:S.staleReloadMode)??n.options.defaultStaleReloadMode)!=="blocking"),I=w&&L,U=I&&!F&&(h.status!=="success"||!!S),O=i>=f?c[7]:void 0,Y=p.lazyFn&&p._lazy!==!0?O:void 0;if(I&&!S&&(h.invalid=!1,h.updatedAt=Date.now()),N&&N[2]++,U){const W=h._flight;h._flight=N,(de=zc(n,h,W))==null||de.abort(),i>=f&&(h.status="pending"),O==null||O()}I||(h.isFetching=!1);const Q=(k?Promise.resolve(k):U?gp(n,r,h,p,C,a,c):Promise.resolve([on,h.loaderData])).then(W=>(U&&(yp(h,W,m),W[0]===on&&(S&&!c[0].signal.aborted&&ex(n,h,x),i>=f&&(h.status="pending"))),W)),z=Br(Promise.resolve().then(()=>Ss(p,void 0,Y)),c[0].signal).then(()=>{},W=>r[1].some((ee,we)=>we<=i&&(ee.status==="error"||ee.status==="notFound"||ee._notFound))?void 0:[i,Fi(n,r,p,W,c)]).then(W=>Q.then(ee=>(U&&!W&&ee[0]===on&&h.status==="pending"&&!c[0].signal.aborted&&(h.status="success",O==null||O()),W)));if(l.push([i,Q,z]),!F)return Q.then(W=>vp(h,W));const q={...h,status:"pending",preload:!1,_flight:N};h.invalid=!1,h.isFetching="loader";const J=gp(n,r,q,p,C,a,c).then(W=>(h.isFetching=!1,yp(q,W,!1),W));return(r[2]??(r[2]=[])).push([i,J,z,q]),J.then(W=>vp(q,W))}async function hc(n,r,i,l,a=0){const c=i==null?void 0:i[1][1];let f=c!=null&&c.routeId?r.findIndex(h=>h.routeId===c.routeId):(i==null?void 0:i[0])??r.length-1;f<0&&(f=0);for(let h=f;h>=0;h--){const p=$r(n,r[h]);try{const m=Ss(p,!1);m&&await Br(m,l)}catch(m){if(m===l&&l.aborted)throw m}if(p.options.notFoundComponent)return h}return c!=null&&c.routeId?f:a}function Ar(n,r){r[2]&&(kt(n,r[2].map(i=>i[3])),r[2]=void 0)}async function xp(n,r,i,l){let a;try{await Promise.all(n.map(c=>c[1].then(async f=>{const h=c[0];if(!(l&&h>=await l)){if(f[0]>=Rt)throw[h,f];!a&&f[0]!==on&&(a=[h,f],await Promise.all((i??[]).map(p=>{if(!(p[0]<=h))return p[1].then(m=>{if(m[0]===Rt)throw[p[0],m]})})))}})))}catch(c){return c}return r??a}function Ac(n,r,i,l,a,c){for(;l[0]===Rt;){const f=l[1],h=f.options;if(h.reloadDocument?a[3]:a[1]>=20)return l;try{return h.href&&h.reloadDocument?(n.resolveRedirect(f),l):[Rt,f,n.buildLocation({...h,_fromLocation:r[0],_includeValidateSearch:!0})]}catch(p){l=c?[bn,p]:Fc(i,p),c=!0}}return l}async function km(n,r,i,l,a,c){const f=r[1];let h=await a,p=!1;const m=f.findIndex(k=>k._notFound),x=k=>k[1][0]===zl?hc(n,f,k,l.signal):k[0];let y=m<0?f.length:m;if(((h==null?void 0:h[1][0])??0)>=Rt)y=0;else if(h){y=h[2]??(h[2]=await x(h));for(const k of i){if(k[0]>=y)break;const S=await k[1];if(S[0]!==on&&S[0]=y)break;const S=await k[2];if(S){h=S;break}}if(((h==null?void 0:h[1][0])??0)>=Rt){const k=h[1];if(k[0]!==Rt||k[1].options.reloadDocument||k[2])return Ar(n,r),k;p=!0,h=[0,[bn,new Error("Too many redirects")]]}const w=h?h[2]??await x(h):m;if(w>=0){const k=h==null?void 0:h[1],S=k==null?void 0:k[0],b=f[w],C=k==null?void 0:k[1],L=()=>{k&&(b._notFound=void 0,S===bn?b.status="error":(C.routeId=b.routeId,b.routeId===n.routeTree.id?(b.status="success",b._notFound=!0):b.status="notFound"),b.error=C,b.isFetching=!1)};L(),k||c==null||c();const N=$r(n,b);try{await Br(k?Promise.resolve().then(()=>Ss(N,S===bn?"errorComponent":"notFoundComponent")):Promise.all([Ss(N),Ss(N,"notFoundComponent")]),l.signal)}catch(F){if(F===l.signal&&l.signal.aborted)return Ar(n,r),lr}k?p&&(l.abort(),await Promise.all([...i.map(F=>F[1]),...i.map(F=>F[2]),...(r[2]??[]).map(F=>F[1])]),Ar(n,r),kt(n,f),L()):b.status="success"}return r}async function Sm(n,r,i,l=0,a=r[1].length){var f,h;const c=r[1];for(let p=l;pN._notFound);if(n.options.notFoundMode!=="root"&&m>=0){const N=await hc(n,i,void 0,c,m);i[m]._notFound=void 0,i[N]._notFound=!0,m=N}let x=m<0?i.length:m+1,y=0;for(;y{for(let N=k;N=Rt&&(x=0);b()}if(!c.aborted&&!l[3]){const N=[];for(const[F,I]of n._flights??[])I[2]||(n._flights.delete(F),N.push(I[1]));for(const F of N)F.abort()}const L=km(n,a,w,l[0],xp(w,C,a[2]),l[7]);(h=a[2])!=null&&h.length&&(a[3]=xp(a[2],void 0,void 0,L.then(N=>Hi(N)?0:Dc(i).length,()=>0))),f=await L}catch(p){if(Ar(n,a),p===c&&c.aborted)return lr;throw p}return Hi(f)?f:Sm(n,f,c,l[6]===i.length?l[6]:0)}function pc(n,r){var c,f;if(n._tx!==r)return;const i=r[3],l=n.stores.matches.get();let a=n._pending;for(let h=0;h0){a[3]=setTimeout(()=>pc(n,r),N);return}a[2]=0}const C=i.map(N=>({...N,_flight:void 0}));C[h].status="pending";const L=a[4]=n.startTransition(()=>n.stores.setMatches(C),C).then(N=>(N&&n._pending===a&&a[4]===L&&!a[2]&&(a[2]=Date.now()+S),N));return}}function Li(n,r){var l;const i=n._pending;(n._tx===r||!((l=n._tx)!=null&&l[3].some(a=>a.id===(i==null?void 0:i[1]))))&&(clearTimeout(i==null?void 0:i[3]),n._pending=void 0)}async function wp(n,r){const i=n._pending;if(!i)return;clearTimeout(i[3]);const l=i[2]-Date.now();if(!i[4]||l<=0||!Dc(r[3]).some(c=>c.id===i[1]))return;let a;try{await Br(new Promise(c=>{a=setTimeout(c,l)}),r[0].signal)}catch{}clearTimeout(a)}function _m(n,r){n._committed=r,n.stores.setMatches(r)}function nx(n,r,i,l){const a=n._committed,c=n._cache;for(const p of i)p.preload=!1,l&&(p._assetEnd=void 0);const f=Dc(i).length,h=new Map;{const p=Date.now();for(const m of[...a,...c.values()]){if(m.status!=="success"||i.some((y,w)=>y.id===m.id&&(w=(m.preload?x.options.preloadGcTime??n.options.defaultPreloadGcTime??3e5:x.options.gcTime??n.options.defaultGcTime??3e5)||h.set(m.id,c.get(m.id)===m?m:{...m,_flight:void 0,isFetching:!1,context:{}})}}r[3]=[],n._cache=h,_m(n,i),kt(n,[...c.values(),...a],[...i,...h.values()]),K0(n,a,i,r)}async function vl(n,r){let i=n._tx;for(;i&&i!==r;){if(await i[5],n._tx===i)return;i=n._tx}}function Cm(n,r,i){const l=i[1].options,a=i[2];if(!a)return n.navigate({...l,replace:!0,ignoreBlocker:!0});if(l.reloadDocument)return n.navigate({href:a.publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});a._redirects=r[1]+1,n._pendingLocation=a;const c=n.commitLocation({...a,viewTransition:l.viewTransition,replace:!0,resetScroll:l.resetScroll,hashScrollIntoView:l.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{n._pendingLocation===a&&(n._pendingLocation=void 0)}),c}async function rx(n,r,i,l,a){const c=i.map(p=>({...p}));Oc(c);for(const p of l)Sn(n,c[p[0]]),c[p[0]]=p[3];const f=[r[2],c];let h;try{h=await km(n,f,l,r[0],a)}catch(p){throw kt(n,c),p}if(Hi(h)){kt(n,c),h[0]===Rt&&n._tx===r&&n._committed===i&&await Cm(n,r,h);return}if(await Sm(n,h,r[0].signal),n._tx!==r||n._committed!==i){kt(n,c);return}for(const p of c){const m=n._cache.get(p.id);m!=null&&m._flight&&m._flight===p._flight&&(n._cache.delete(p.id),Sn(n,m))}_m(n,c),kt(n,i,c)}async function sx(n,r,i,l,a,c){const f=await bm(n,r[2],r[3],[r[0],r[1],n._committed,void 0,a,i,c,l]);if(Hi(f)){const y=f[0]===Rt&&n._tx===r;if((!y||f[1].options.reloadDocument)&&Li(n,r),kt(n,r[3]),r[3]=[],!y)return;if(n._tx!==r){Li(n,r);return}await Cm(n,r,f);return}const h=f[1];if(n._tx===r&&await wp(n,r),n._tx!==r){Li(n,r),kt(n,h),Ar(n,f);return}const p=r[2],m=Fl(p,n.stores.resolvedLocation.get()),x=f[2];await n.startViewTransition(async()=>{var k;if(n._tx===r&&await wp(n,r),n._tx!==r){Li(n,r),kt(n,h),Ar(n,f);return}const y=()=>{Li(n,r),nx(n,r,h,c),n._tx===r&&(n.emit({type:"onLoad",...m}),n._tx===r&&n.emit({type:"onBeforeRouteMount",...m}))},w=await n.startTransition(y,h);if(n._tx!==r){Ar(n,f);return}x!=null&&x.length&&rx(n,r,h,x,f[3]).catch(console.error),n.batch(()=>{n.stores.resolvedLocation.set(p),n.stores.status.set("idle"),n._tx===r&&n.emit({type:"onResolved",...m}),w&&n._tx===r&&n.emit({type:"onRendered",...m})}),n._tx===r&&((k=n._commitPromise)==null||k.resolve(),n._commitPromise=void 0)})}async function ix(n,r){var I;const i=n._tx,l=n.stores.resolvedLocation.get(),a=l??n.stores.location.get(),c=n.latestLocation,f=n._pendingLocation,h=(f==null?void 0:f.href)===c.href?f._redirects??0:0,p=n._handoff,m=p==null?void 0:p[0](),x=new AbortController,y=n._preflight;if(n._preflight=x,m||p==null||p[1](),y==null||y.abort(),!x.signal.aborted){const U=Fl(c,l);n.emit({type:"onBeforeNavigate",...U}),x.signal.aborted||n.emit({type:"onBeforeLoad",...U})}if(x.signal.aborted){await vl(n,i);return}const w=a.href===c.href;let k=x;const S=n.matchRoutes(c,{_controller:x});Oc(S);const b=m?p[1](S):void 0;if(b?k=m:m==null||m.abort(),x.signal.aborted){kt(n,S),await vl(n,i);return}n._preflight=void 0;let C;const L=()=>sx(n,F,w,()=>pc(n,F),r==null?void 0:r.sync,b),N=r!=null&&r.sync?new Promise(U=>C=U):Promise.resolve().then(L).then(),F=[k,h,c,S,Date.now(),N];if(n._tx=F,i){for(const U of n.stores.matches.get()){if(n._tx!==F)break;U.isFetching&&Qi(n,U,!1)}i[0].abort(),kt(n,i[3],F[3],!0)}if(n._tx!==F){kt(n,F[3]),F[3]=[],C==null||C(),await vl(n,F);return}n.batch(()=>{n.stores.status.set("pending"),n.stores.location.set(c)}),(b||!n._committed.length&&((I=S[0])==null?void 0:I.status)!=="success"&&!S.some(U=>U._notFound))&&pc(n,F),C==null||C(L()),await N,await vl(n,F)}async function ox(n,r){let i=n.buildLocation(r);for(let l=0;;l++){const a=n._committed,c=new AbortController;let f,h,p;try{try{f=n.matchRoutes(i,{_controller:c}),Oc(f),h=(n._preloads??(n._preloads=new Map)).set(c,f),p=await bm(n,i,f,[c,l,a,!0])}finally{h&&(h=h.delete(c),kt(n,f)),c.abort()}if(!Hi(p))return p[1];if(!h||p.length<3)return;i=p[2]}catch(m){Os(m)||console.error(m);return}}}const lx="Error preloading route! ☝️";var Em=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(n){if(this.init=r=>{var p,m;this.originalIndex=r.originalIndex;const i=this.options,l=!(i!=null&&i.path)&&!(i!=null&&i.id);this.parentRoute=(m=(p=this.options).getParentRoute)==null?void 0:m.call(p),l?this._path=ks:this.parentRoute||Mc();let a=l?ks:i==null?void 0:i.path;a&&a!=="/"&&(a=mm(a));const c=(i==null?void 0:i.id)||a;let f=l?ks:wl([this.parentRoute.id==="__root__"?"":this.parentRoute.id,c]);a==="__root__"&&(a="/"),f!=="__root__"&&(f=wl(["/",f]));const h=f==="__root__"?"/":wl([this.parentRoute.fullPath,a]);this._path=a,this._id=f,this._fullPath=h,this._to=kn(h)},this.addChildren=r=>this._addFileChildren(r),this._addFileChildren=r=>(Array.isArray(r)&&(this.children=r),typeof r=="object"&&r!==null&&(this.children=Object.values(r)),this),this._addFileTypes=()=>this,this.updateLoader=r=>(Object.assign(this.options,r),this),this.update=r=>(Object.assign(this.options,r),this),this.lazy=r=>(this.lazyFn=r,this),this.redirect=r=>ym({from:this.fullPath,...r}),this.options=n||{},this.isRoot=!(n!=null&&n.getParentRoute),n!=null&&n.id&&(n!=null&&n.path))throw new Error("Route cannot have both an 'id' and a 'path' option.")}},ax=class extends Em{constructor(n){super(n)}},Uc=class extends H.Component{constructor(...n){super(...n),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(n,r){const i=n.getResetKey();return r.error&&r.resetKey!==i?{resetKey:i,error:null}:{resetKey:i}}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){var i,l;(l=(i=this.props).onCatch)==null||l.call(i,n,r)}render(){const n=this.state.error;return n?H.createElement(this.props.errorComponent??ux,{error:n,reset:this.reset}):this.props.children}};function ux({error:n}){const[r,i]=H.useState(!1);return v.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[v.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[v.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),v.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>i(l=>!l),children:r?"Hide Error":"Show Error"})]}),v.jsx("div",{style:{height:".25rem"}}),r?v.jsx("div",{children:v.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:n.message?v.jsx("code",{children:n.message}):null})}):null]})}function cx({children:n,fallback:r=null}){return v.jsx(Ur.Fragment,{children:Pm()?n:r})}function Pm(){return Ur.useSyncExternalStore(dx,()=>!0,()=>!1)}function dx(){return()=>{}}var jm=H.createContext(null);function Kt(n){return H.useContext(jm)}var Ol=H.createContext(void 0),fx=H.createContext(void 0),Oe=(n=>(n[n.None=0]="None",n[n.Mutable=1]="Mutable",n[n.Watching=2]="Watching",n[n.RecursedCheck=4]="RecursedCheck",n[n.Recursed=8]="Recursed",n[n.Dirty=16]="Dirty",n[n.Pending=32]="Pending",n))(Oe||{});function hx({update:n,notify:r,unwatched:i}){return{link:l,unlink:a,propagate:c,checkDirty:f,shallowPropagate:h};function l(m,x,y){const w=x.depsTail;if(w!==void 0&&w.dep===m)return;const k=w!==void 0?w.nextDep:x.deps;if(k!==void 0&&k.dep===m){k.version=y,x.depsTail=k;return}const S=m.subsTail;if(S!==void 0&&S.version===y&&S.sub===x)return;const b=x.depsTail=m.subsTail={version:y,dep:m,sub:x,prevDep:w,nextDep:k,prevSub:S,nextSub:void 0};k!==void 0&&(k.prevDep=b),w!==void 0?w.nextDep=b:x.deps=b,S!==void 0?S.nextSub=b:m.subs=b}function a(m,x=m.sub){const y=m.dep,w=m.prevDep,k=m.nextDep,S=m.nextSub,b=m.prevSub;return k!==void 0?k.prevDep=w:x.depsTail=w,w!==void 0?w.nextDep=k:x.deps=k,S!==void 0?S.prevSub=b:y.subsTail=b,b!==void 0?b.nextSub=S:(y.subs=S)===void 0&&i(y),k}function c(m){let x=m.nextSub,y;e:do{const w=m.sub;let k=w.flags;if(k&60?k&12?k&4?!(k&48)&&p(m,w)?(w.flags=k|40,k&=1):k=0:w.flags=k&-9|32:k=0:w.flags=k|32,k&2&&r(w),k&1){const S=w.subs;if(S!==void 0){const b=(m=S).nextSub;b!==void 0&&(y={value:x,prev:y},x=b);continue}}if((m=x)!==void 0){x=m.nextSub;continue}for(;y!==void 0;)if(m=y.value,y=y.prev,m!==void 0){x=m.nextSub;continue e}break}while(!0)}function f(m,x){let y,w=0,k=!1;e:do{const S=m.dep,b=S.flags;if(x.flags&16)k=!0;else if((b&17)===17){if(n(S)){const C=S.subs;C.nextSub!==void 0&&h(C),k=!0}}else if((b&33)===33){(m.nextSub!==void 0||m.prevSub!==void 0)&&(y={value:m,prev:y}),m=S.deps,x=S,++w;continue}if(!k){const C=m.nextDep;if(C!==void 0){m=C;continue}}for(;w--;){const C=x.subs,L=C.nextSub!==void 0;if(L?(m=y.value,y=y.prev):m=C,k){if(n(x)){L&&h(C),x=m.sub;continue}k=!1}else x.flags&=-33;x=m.sub;const N=m.nextDep;if(N!==void 0){m=N;continue e}}return k}while(!0)}function h(m){do{const x=m.sub,y=x.flags;(y&48)===32&&(x.flags=y|16,(y&6)===2&&r(x))}while((m=m.nextSub)!==void 0)}function p(m,x){let y=x.depsTail;for(;y!==void 0;){if(y===m)return!0;y=y.prevDep}return!1}}function px(n,r,i){var c,f,h;const l=typeof n=="object",a=l?n:void 0;return{next:(c=l?n.next:n)==null?void 0:c.bind(a),error:(f=l?n.error:r)==null?void 0:f.bind(a),complete:(h=l?n.complete:i)==null?void 0:h.bind(a)}}const mc=[];let _l=0;const{link:kp,unlink:mx,propagate:gx,checkDirty:Rm,shallowPropagate:Sp}=hx({update(n){return n._update()},notify(n){mc[gc++]=n,n.flags&=~Oe.Watching},unwatched(n){n.depsTail!==void 0&&(n.depsTail=void 0,n.flags=Oe.Mutable|Oe.Dirty,Tl(n))}});let xl=0,gc=0,tn,yc=0;function yx(n){try{++yc,n()}finally{--yc||Nm()}}function Tl(n){const r=n.depsTail;let i=r!==void 0?r.nextDep:n.deps;for(;i!==void 0;)i=mx(i,n)}function Nm(){if(!(yc>0)){for(;xl{var m;a.get(),h.current?(m=f.next)==null||m.call(f,a._snapshot):h.current=!0});return{unsubscribe:()=>{p.stop()}}},_update(c){const f=tn,h=(r==null?void 0:r.compare)??Object.is;if(i)tn=a,++_l,a.depsTail=void 0;else if(c===void 0)return!1;i&&(a.flags=Oe.Mutable|Oe.RecursedCheck);try{const p=a._snapshot,m=typeof c=="function"?c(p):c===void 0&&i?l(p):c;return p===void 0||!h(p,m)?(a._snapshot=m,!0):!1}finally{tn=f,i&&(a.flags&=~Oe.RecursedCheck),Tl(a)}}};return i?(a.flags=Oe.Mutable|Oe.Dirty,a.get=function(){const c=a.flags;if(c&Oe.Dirty||c&Oe.Pending&&Rm(a.deps,a)){if(a._update()){const f=a.subs;f!==void 0&&Sp(f)}}else c&Oe.Pending&&(a.flags=c&~Oe.Pending);return tn!==void 0&&kp(a,tn,_l),a._snapshot}):a.set=function(c){if(a._update(c)){const f=a.subs;f!==void 0&&(gx(f),Sp(f),Nm())}},a}function vx(n){const r=()=>{const l=tn;tn=i,++_l,i.depsTail=void 0,i.flags=Oe.Watching|Oe.RecursedCheck;try{return n()}finally{tn=l,i.flags&=~Oe.RecursedCheck,Tl(i)}},i={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Oe.Watching|Oe.RecursedCheck,notify(){const l=this.flags;l&Oe.Dirty||l&Oe.Pending&&Rm(this.deps,this)?r():this.flags=Oe.Watching},stop(){this.flags=Oe.None,this.depsTail=void 0,Tl(this)}};return r(),i}var Uu={exports:{}},Bu={},$u={exports:{}},Vu={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var _p;function xx(){if(_p)return Vu;_p=1;var n=Xi();function r(y,w){return y===w&&(y!==0||1/y===1/w)||y!==y&&w!==w}var i=typeof Object.is=="function"?Object.is:r,l=n.useState,a=n.useEffect,c=n.useLayoutEffect,f=n.useDebugValue;function h(y,w){var k=w(),S=l({inst:{value:k,getSnapshot:w}}),b=S[0].inst,C=S[1];return c(function(){b.value=k,b.getSnapshot=w,p(b)&&C({inst:b})},[y,k,w]),a(function(){return p(b)&&C({inst:b}),y(function(){p(b)&&C({inst:b})})},[y]),f(k),k}function p(y){var w=y.getSnapshot;y=y.value;try{var k=w();return!i(y,k)}catch{return!0}}function m(y,w){return w()}var x=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:h;return Vu.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:x,Vu}var Cp;function wx(){return Cp||(Cp=1,$u.exports=xx()),$u.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ep;function kx(){if(Ep)return Bu;Ep=1;var n=Xi(),r=wx();function i(m,x){return m===x&&(m!==0||1/m===1/x)||m!==m&&x!==x}var l=typeof Object.is=="function"?Object.is:i,a=r.useSyncExternalStore,c=n.useRef,f=n.useEffect,h=n.useMemo,p=n.useDebugValue;return Bu.useSyncExternalStoreWithSelector=function(m,x,y,w,k){var S=c(null);if(S.current===null){var b={hasValue:!1,value:null};S.current=b}else b=S.current;S=h(function(){function L(O){if(!N){if(N=!0,F=O,O=w(O),k!==void 0&&b.hasValue){var Y=b.value;if(k(Y,O))return I=Y}return I=O}if(Y=I,l(F,O))return Y;var Q=w(O);return k!==void 0&&k(Y,Q)?(F=O,Y):(F=O,I=Q)}var N=!1,F,I,U=y===void 0?null:y;return[function(){return L(x())},U===null?void 0:function(){return L(U())}]},[x,y,w,k]);var C=a(m,S[0],S[1]);return f(function(){b.hasValue=!0,b.value=C},[C]),p(C),C},Bu}var Pp;function Sx(){return Pp||(Pp=1,Uu.exports=kx()),Uu.exports}var bx=Sx();function _x(n,r){return n===r}function _n(n,r,i=_x){const l=H.useCallback(f=>{if(!n)return()=>{};const{unsubscribe:h}=n.subscribe(f);return h},[n]),a=H.useCallback(()=>n==null?void 0:n.get(),[n]);return bx.useSyncExternalStoreWithSelector(l,a,a,r,i)}var jp={};function Lm(n,r){const i=H.useRef();return l=>{const a=n!=null&&n.select?n.select(l):l;return(n==null?void 0:n.structuralSharing)??r.options.defaultStructuralSharing?i.current=Rr(i.current,a):a}}function Vr(n){const r=Kt(),i=H.useContext(n.from?fx:Ol),l=n.from??i,a=r.stores.getMatchStore(l),c=Lm(n,r),f=_n(a,h=>h?c(h):jp);if(f!==jp)return f;(n.shouldThrow??!0)&&Mc()}function Mm(n){return Vr({from:n.from,strict:n.strict,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.loaderData):r.loaderData})}function Tm(n){const{select:r,...i}=n;return Vr({...i,select:l=>r?r(l.loaderDeps):l.loaderDeps})}function Im(n){return Vr({from:n.from,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,strict:n.strict,select:r=>{const i=n.strict===!1?r.params:r._strictParams;return n.select?n.select(i):i}})}function Dm(n){return Vr({from:n.from,strict:n.strict,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.search):r.search})}function Al(n){const r=Kt();return H.useCallback(i=>r.navigate({...i,from:i.from??(n==null?void 0:n.from)}),[n==null?void 0:n.from,r])}function Fm(n){return Vr({...n,select:r=>n.select?n.select(r.context):r.context})}function Hu(n){const r=H.useRef(n);return ir(r.current,n,{ignoreUndefined:!1})||(r.current=n),r.current}function Cx(n,r){return n[0]===r[0]&&n[1]===r[1]&&n[2]===r[2]}function Ex(n,r,i){if(n!=null&&n.external)return jl(n.href,i)?void 0:n.href;if(!Tx(r)&&!(typeof r!="string"||r.indexOf(":")===-1))try{return new URL(r),jl(r,i)?void 0:r}catch{}}function Px(n,r,i,l,a,c){if(c)return!1;if(i!=null&&i.exact){if(!_0(n.pathname,r.pathname,l))return!1}else{const f=Nl(n.pathname,l),h=Nl(r.pathname,l);if(!(f.startsWith(h)&&(f.length===h.length||f[h.length]==="/")))return!1}return((i==null?void 0:i.includeSearch)??!0)&&!ir(n.search,r.search,{partial:!(i!=null&&i.exact),ignoreUndefined:!(i!=null&&i.explicitUndefined)})?!1:i!=null&&i.includeHash?a&&n.hash===r.hash:!0}function jx(n,r){const i=Kt(),l=o0(r),{activeProps:a,inactiveProps:c,activeOptions:f,to:h,preload:p,preloadDelay:m,preloadIntentProximity:x,hashScrollIntoView:y,replace:w,startTransition:k,resetScroll:S,viewTransition:b,children:C,target:L,disabled:N,style:F,className:I,onClick:U,onBlur:O,onFocus:Y,onMouseEnter:Q,onMouseLeave:z,onTouchStart:q,ignoreBlocker:J,params:Z,search:de,hash:W,state:ee,mask:we,reloadDocument:he,unsafeRelative:V,from:oe,_fromLocation:X,...R}=n,A=Pm(),pe=Hu(n.search),ge=Hu(n.params),ke=Hu(f),ye=H.useMemo(()=>n,[i,n.from,n._fromLocation,n.hash,n.to,pe,ge,n.state,n.mask,n.unsafeRelative]),Re=H.useCallback(Qe=>{const Lt=i.buildLocation({_fromLocation:Qe,...ye}),Gt=Mx(Lt.maskedLocation?Lt.maskedLocation.publicHref:Lt.publicHref,Lt.maskedLocation?Lt.maskedLocation.external:Lt.external,i.history,N),Hs=Ex(Gt,h,i.protocolAllowlist);return[Gt==null?void 0:Gt.href,Hs,Px(Qe,Lt,ke,i.basepath,A,Hs!==void 0)]},[ke,N,A,ye,i,h]),[Ee,Ne,tt]=_n(i.stores.location,Re,Cx),ln=tt?zs(a,{})??Rx:Wu,ur=tt?Wu:zs(c,{})??Wu,cr=[I,ln.className,ur.className].filter(Boolean).join(" "),Hr=(F||ln.style||ur.style)&&{...F,...ln.style,...ur.style},Vs=H.useRef(!1),qt=n.reloadDocument||Ne||N?!1:p??i.options.defaultPreload,dr=m??i.options.defaultPreloadDelay??0,an=H.useCallback(()=>{i.preloadRoute(ye).catch(Qe=>{console.warn(Qe),console.warn(lx)})},[i,ye]),fr=H.useCallback(Qe=>{if(!Qe){Qu(l);return}if(!(Qe.isIntersecting??qt==="intent")){Qe.isIntersecting===!1&&Qu(l);return}if(!dr){an();return}zi.has(l)||zi.set(l,setTimeout(()=>{zi.delete(l),an()},dr))},[an,l,qt,dr]);i0(l,fr,qt!=="viewport"),H.useEffect(()=>{Vs.current||qt==="render"&&(an(),Vs.current=!0)},[an,qt]);const hr=Qe=>{const Lt=Qe.currentTarget.getAttribute("target"),Gt=L!==void 0?L:Lt;!N&&!(Qe.metaKey||Qe.altKey||Qe.ctrlKey||Qe.shiftKey)&&!Qe.defaultPrevented&&(!Gt||Gt==="_self")&&Qe.button===0&&(Qe.preventDefault(),i.navigate({...ye,replace:w,resetScroll:S,hashScrollIntoView:y,startTransition:k,viewTransition:b,ignoreBlocker:J}))};if(Ne)return{...R,ref:l,href:Ne,...C&&{children:C},...L&&{target:L},...N&&{disabled:N},...F&&{style:F},...I&&{className:I},...U&&{onClick:U},...O&&{onBlur:O},...Y&&{onFocus:Y},...Q&&{onMouseEnter:Q},...z&&{onMouseLeave:z},...q&&{onTouchStart:q}};const Cn=()=>{qt==="intent"&&an()},Wr=()=>{qt==="intent"&&Qu(l)};return{...R,...ln,...ur,href:Ee,ref:l,onClick:gs([U,hr]),onBlur:gs([O,Wr]),onFocus:gs([Y,fr]),onMouseEnter:gs([Q,fr]),onMouseLeave:gs([z,Wr]),onTouchStart:gs([q,Cn]),disabled:!!N,target:L,...Hr&&{style:Hr},...cr&&{className:cr},...N&&Nx,...tt&&Lx}}var Wu={},Rx={className:"active"},Nx={role:"link","aria-disabled":!0},Lx={"data-status":"active","aria-current":"page"},zi=new WeakMap,Qu=n=>{clearTimeout(zi.get(n)),zi.delete(n)},gs=n=>r=>{for(const i of n)if(i){if(r.defaultPrevented)return;i(r)}};function Mx(n,r,i,l){if(!l)return r?{href:n,external:!0}:{href:i.createHref(n)||"/",external:!1}}function Tx(n){if(typeof n!="string")return!1;const r=n.charCodeAt(0);return r===47?n.charCodeAt(1)!==47:r===46}var Bc=H.forwardRef((n,r)=>{const{_asChild:i,...l}=n,{type:a,...c}=jx(l,r),f=typeof l.children=="function"?l.children({isActive:c["data-status"]==="active"}):l.children;if(!i){const{disabled:h,...p}=c;return H.createElement("a",p,f)}return H.createElement(i,c,f)}),Ix=class extends Em{constructor(n){super(n),this.useMatch=r=>Vr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Fm({...r,from:this.id}),this.useSearch=r=>Dm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Im({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Tm({...r,from:this.id}),this.useLoaderData=r=>Mm({...r,from:this.id}),this.useNavigate=()=>Al({from:this.fullPath}),this.Link=Ur.forwardRef((r,i)=>v.jsx(Bc,{ref:i,from:this.fullPath,...r}))}};function eo(n){return new Ix(n)}var Dx=class extends ax{constructor(n){super(n),this.useMatch=r=>Vr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Fm({...r,from:this.id}),this.useSearch=r=>Dm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Im({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Tm({...r,from:this.id}),this.useLoaderData=r=>Mm({...r,from:this.id}),this.useNavigate=()=>Al({from:this.fullPath}),this.Link=Ur.forwardRef((r,i)=>v.jsx(Bc,{ref:i,from:this.fullPath,...r}))}};function Fx(n){return new Dx(n)}function zx(n){const r=Kt(),i=`not-found-${_n(r.stores.location,l=>l.pathname)}-${_n(r.stores.status,l=>l)}`;return v.jsx(Uc,{getResetKey:()=>i,onCatch:(l,a)=>{var c;if(Os(l))(c=n.onCatch)==null||c.call(n,l,a);else throw l},errorComponent:({error:l})=>{var a;if(Os(l))return(a=n.fallback)==null?void 0:a.call(n,l);throw l},children:n.children})}function Ox(){return v.jsx("p",{children:"Not Found"})}function vs(n){return v.jsx(v.Fragment,{children:n.children})}function zm(n,r,i){return r.options.notFoundComponent?v.jsx(r.options.notFoundComponent,{...i}):n.options.defaultNotFoundComponent?v.jsx(n.options.defaultNotFoundComponent,{...i}):v.jsx(Ox,{})}function Ul(n,r){const i=(r==null?void 0:r.options.pendingComponent)??n.options.defaultPendingComponent;return i?v.jsx(i,{}):null}var Ax=(n,r)=>n[0]===r[0]&&n[1]===r[1],Om=(n,r,i)=>!r.isRoot||r.options.shellComponent||r.options.wrapInSuspense||i===!1||i==="data-only"||!n.ssr,Am=H.memo(function({routeId:r}){const i=Kt();return v.jsx(Ux,{router:i,match:_n(i.stores.getMatchStore(r),l=>l)})});function Ux({router:n,match:r}){var y,w;const i=n.routesById[r.routeId],l=Ul(n,i),a=i.options.errorComponent??n.options.defaultErrorComponent,c=i.options.onCatch??n.options.defaultOnCatch,f=i.isRoot?i.options.notFoundComponent??((y=n.options.notFoundRoute)==null?void 0:y.options.component):i.options.notFoundComponent,h=r.ssr===!1||r.ssr==="data-only",p=Om(n,i,r.ssr)&&(i.options.wrapInSuspense??l??(((w=i.options.errorComponent)==null?void 0:w.preload)||h))?H.Suspense:vs,m=a?Uc:vs,x=f?zx:vs;return v.jsxs(i.isRoot?i.options.shellComponent??vs:vs,{children:[v.jsx(Ol.Provider,{value:r.routeId,children:v.jsx(p,{fallback:l,children:v.jsx(m,{getResetKey:()=>r,errorComponent:a,onCatch:(k,S)=>{if(Os(k))throw k.routeId??(k.routeId=r.routeId),k;c==null||c(k,S)},children:v.jsx(x,{fallback:k=>{if(k.routeId??(k.routeId=r.routeId),k.routeId!==r.routeId)throw k;return H.createElement(f,k)},children:h?v.jsx(cx,{fallback:l,children:v.jsx(Rp,{match:r})}):v.jsx(Rp,{match:r})})})})}),null]})}var Rp=H.memo(function({match:r}){const i=Kt(),l=r.routeId,a=i.routesById[l],c=H.useMemo(()=>{var p;const h=(p=a.options.remountDeps??i.options.defaultRemountDeps)==null?void 0:p({routeId:l,loaderDeps:r.loaderDeps,params:r._strictParams,search:r._strictSearch});return h?JSON.stringify(h):void 0},[l,r.loaderDeps,r._strictParams,r._strictSearch,a.options.remountDeps,i.options.defaultRemountDeps]),f=H.useMemo(()=>{const h=a.options.component??i.options.defaultComponent;return h?v.jsx(h,{},c):v.jsx(Um,{})},[c,a.options.component,i.options.defaultComponent]);if(r.status==="pending"){if(i.ssr&&!Om(i,a,r.ssr))return f;if(i._tx)throw i._tx[5];return Ul(i,a)}if(r.status==="notFound")return zm(i,a,r.error);if(r.status==="error")throw r.error;return f}),Um=H.memo(function(){const r=Kt(),i=H.useContext(Ol);let l,a,c;{const h=r.stores.getMatchStore(i);[l,a]=_n(h,p=>[!!p._notFound,p.error],Ax),c=_n(r.stores.ids,p=>p[p.indexOf(i)+1])}if(l)return zm(r,r.routesById[i],a);if(!c)return null;const f=v.jsx(Am,{routeId:c});return i===ks?v.jsx(H.Suspense,{fallback:Ul(r),children:f}):f});function Bm(n,r){const i=n[1];n.length=0,i==null||i(r)}function Bx({t:n}){const r=Kt(),i=r._rendered??(r._rendered=[]);return r.startTransition=(l,a)=>new Promise(c=>{Bm(i,!1),i.push(a,c),n(r),H.startTransition(l)}),lm(()=>{const l=r.history.subscribe(r.load);r.updateLatestLocation();const a=r.latestLocation,c=r.buildLocation({to:a.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(kn(a.publicHref)!==kn(c.publicHref))return r.commitLocation({...c,replace:!0,ignoreBlocker:!0}),l;const f=r.stores.resolvedLocation.get();return(f==null?void 0:f.href)===a.href&&f.state.__TSR_key===a.state.__TSR_key?i.push(r.stores.matches.get(),h=>{h&&r.emit({type:"onRendered",...Fl(f,f)})}):r._tx||r.load({sync:!0}).catch(console.error),l},[r,r.history]),null}function $x(){const n=Kt(),r=n.routesById[ks],i=Ul(n,r),l=n.ssr?vs:H.Suspense,a=v.jsxs(v.Fragment,{children:[v.jsx(Bx,{t:H.useState()[1]}),v.jsx(l,{fallback:i,children:v.jsx(Vx,{})})]});return n.options.InnerWrap?v.jsx(n.options.InnerWrap,{children:a}):a}function Vx(){const n=Kt(),r=n._rendered,i=_n(n.stores.matches,f=>r[0]??f),l=i[0],a=l==null?void 0:l.routeId;lm(()=>{r[0]===i&&Bm(r,!0)},[r,i]);const c=a?v.jsx(Am,{routeId:a}):null;return v.jsx(Ol.Provider,{value:a,children:n.options.disableGlobalCatchBoundary?c:v.jsx(Uc,{getResetKey:()=>l,onCatch:void 0,children:c})})}var Hx=n=>({createMutableStore:bp,createReadonlyStore:bp,batch:yx}),Wx=n=>new Qx(n),Qx=class extends q0{constructor(n){super(n,Hx)}};function Kx({router:n,children:r,...i}){um(i)&&n.update({...n.options,...i,context:{...n.options.context,...i.context}});const l=v.jsx(jm.Provider,{value:n,children:r});return n.options.Wrap?v.jsx(n.options.Wrap,{children:l}):l}function qx({router:n,...r}){return v.jsx(Kx,{router:n,...r,children:v.jsx($x,{})})}function Np(n){const r=Kt({warn:(n==null?void 0:n.router)===void 0}),i=(n==null?void 0:n.router)||r;return _n(i.stores.__store,Lm(n,i))}const Gx="modulepreload",Yx=function(n){return"/"+n},Lp={},Nt=function(r,i,l){let a=Promise.resolve();if(i&&i.length>0){let f=function(m){return Promise.all(m.map(x=>Promise.resolve(x).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),p=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));a=f(i.map(m=>{if(m=Yx(m),m in Lp)return;Lp[m]=!0;const x=m.endsWith(".css"),y=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${y}`))return;const w=document.createElement("link");if(w.rel=x?"stylesheet":Gx,x||(w.as="script"),w.crossOrigin="",w.href=m,p&&w.setAttribute("nonce",p),document.head.appendChild(w),x)return new Promise((k,S)=>{w.addEventListener("load",k),w.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${m}`)))})}))}function c(f){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=f,window.dispatchEvent(h),!h.defaultPrevented)throw f}return a.then(f=>{for(const h of f||[])h.status==="rejected"&&c(h.reason);return r().catch(c)})};/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Zx=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),$m=(...n)=>n.filter((r,i,l)=>!!r&&r.trim()!==""&&l.indexOf(r)===i).join(" ").trim();/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var Xx={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"};/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Jx=H.forwardRef(({color:n="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:a="",children:c,iconNode:f,...h},p)=>H.createElement("svg",{ref:p,...Xx,width:r,height:r,stroke:n,strokeWidth:l?Number(i)*24/Number(r):i,className:$m("lucide",a),...h},[...f.map(([m,x])=>H.createElement(m,x)),...Array.isArray(c)?c:[c]]));/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _e=(n,r)=>{const i=H.forwardRef(({className:l,...a},c)=>H.createElement(Jx,{ref:c,iconNode:r,className:$m(`lucide-${Zx(n)}`,l),...a}));return i.displayName=`${n}`,i};/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const e1=_e("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"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t1=_e("BookMarked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["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"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const vc=_e("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"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vm=_e("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const n1=_e("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r1=_e("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const s1=_e("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Oi=_e("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Hm=_e("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i1=_e("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o1=_e("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const l1=_e("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a1=_e("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const u1=_e("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c1=_e("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const d1=_e("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $c=_e("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const f1=_e("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const h1=_e("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const p1=_e("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vc=_e("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const m1=_e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const g1=_e("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Hc=_e("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const y1=_e("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wm=_e("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wc=_e("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const v1=_e("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const x1=_e("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const w1=_e("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xc=_e("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const k1=_e("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Qm=_e("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),As=[{id:"dashboard",pfad:"/cockpit",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:f1,group:"Operativ"},{id:"ideen",pfad:"/ideen",label:"Ideen",hint:"Schreib hin, was entstehen soll",icon:p1,group:"Operativ"},{id:"auftraege",pfad:"/auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:$c,group:"Operativ"},{id:"skills",pfad:"/skills",label:"Skills & Jobs",hint:"Autonome Skills manuell auslösen",icon:vc,group:"Operativ"},{id:"chronik",pfad:"/chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:d1,group:"Operativ"},{id:"wissen",pfad:"/wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:h1,group:"Wissen"},{id:"connect",pfad:"/verbinden",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Hc,group:"Werkzeuge"},{id:"konsole",pfad:"/konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:w1,group:"Werkzeuge"},{id:"guide",pfad:"/anleitung",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:Hm,group:"Werkzeuge"},{id:"models",pfad:"/modelle",label:"Modelle",hint:"Speicher, laden & Rollen",icon:Vm,group:"Wartung"},{id:"agent",pfad:"/agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:vc,group:"Wartung"}];function Km(n){return[...As].sort((r,i)=>i.pfad.length-r.pfad.length).find(r=>n===r.pfad||n.startsWith(r.pfad+"/"))}const qm="mc_expert_mode",wc="mc-expert-mode-change",S1=()=>{try{return localStorage.getItem(qm)==="true"}catch{return!1}};function b1(n){return window.addEventListener(wc,n),window.addEventListener("storage",n),()=>{window.removeEventListener(wc,n),window.removeEventListener("storage",n)}}function Mp(n){localStorage.setItem(qm,String(n)),window.dispatchEvent(new Event(wc))}function _1(){return H.useSyncExternalStore(b1,S1,()=>!1)}function Gm(n){var r,i,l="";if(typeof n=="string"||typeof n=="number")l+=n;else if(typeof n=="object")if(Array.isArray(n)){var a=n.length;for(r=0;r{const r=j1(n),{conflictingClassGroups:i,conflictingClassGroupModifiers:l}=n;return{getClassGroupId:f=>{const h=f.split(Qc);return h[0]===""&&h.length!==1&&h.shift(),Ym(h,r)||P1(f)},getConflictingClassGroupIds:(f,h)=>{const p=i[f]||[];return h&&l[f]?[...p,...l[f]]:p}}},Ym=(n,r)=>{var f;if(n.length===0)return r.classGroupId;const i=n[0],l=r.nextPart.get(i),a=l?Ym(n.slice(1),l):void 0;if(a)return a;if(r.validators.length===0)return;const c=n.join(Qc);return(f=r.validators.find(({validator:h})=>h(c)))==null?void 0:f.classGroupId},Tp=/^\[(.+)\]$/,P1=n=>{if(Tp.test(n)){const r=Tp.exec(n)[1],i=r==null?void 0:r.substring(0,r.indexOf(":"));if(i)return"arbitrary.."+i}},j1=n=>{const{theme:r,prefix:i}=n,l={nextPart:new Map,validators:[]};return N1(Object.entries(n.classGroups),i).forEach(([c,f])=>{kc(f,l,c,r)}),l},kc=(n,r,i,l)=>{n.forEach(a=>{if(typeof a=="string"){const c=a===""?r:Ip(r,a);c.classGroupId=i;return}if(typeof a=="function"){if(R1(a)){kc(a(l),r,i,l);return}r.validators.push({validator:a,classGroupId:i});return}Object.entries(a).forEach(([c,f])=>{kc(f,Ip(r,c),i,l)})})},Ip=(n,r)=>{let i=n;return r.split(Qc).forEach(l=>{i.nextPart.has(l)||i.nextPart.set(l,{nextPart:new Map,validators:[]}),i=i.nextPart.get(l)}),i},R1=n=>n.isThemeGetter,N1=(n,r)=>r?n.map(([i,l])=>{const a=l.map(c=>typeof c=="string"?r+c:typeof c=="object"?Object.fromEntries(Object.entries(c).map(([f,h])=>[r+f,h])):c);return[i,a]}):n,L1=n=>{if(n<1)return{get:()=>{},set:()=>{}};let r=0,i=new Map,l=new Map;const a=(c,f)=>{i.set(c,f),r++,r>n&&(r=0,l=i,i=new Map)};return{get(c){let f=i.get(c);if(f!==void 0)return f;if((f=l.get(c))!==void 0)return a(c,f),f},set(c,f){i.has(c)?i.set(c,f):a(c,f)}}},Zm="!",M1=n=>{const{separator:r,experimentalParseClassName:i}=n,l=r.length===1,a=r[0],c=r.length,f=h=>{const p=[];let m=0,x=0,y;for(let C=0;Cx?y-x:void 0;return{modifiers:p,hasImportantModifier:k,baseClassName:S,maybePostfixModifierPosition:b}};return i?h=>i({className:h,parseClassName:f}):f},T1=n=>{if(n.length<=1)return n;const r=[];let i=[];return n.forEach(l=>{l[0]==="["?(r.push(...i.sort(),l),i=[]):i.push(l)}),r.push(...i.sort()),r},I1=n=>({cache:L1(n.cacheSize),parseClassName:M1(n),...E1(n)}),D1=/\s+/,F1=(n,r)=>{const{parseClassName:i,getClassGroupId:l,getConflictingClassGroupIds:a}=r,c=[],f=n.trim().split(D1);let h="";for(let p=f.length-1;p>=0;p-=1){const m=f[p],{modifiers:x,hasImportantModifier:y,baseClassName:w,maybePostfixModifierPosition:k}=i(m);let S=!!k,b=l(S?w.substring(0,k):w);if(!b){if(!S){h=m+(h.length>0?" "+h:h);continue}if(b=l(w),!b){h=m+(h.length>0?" "+h:h);continue}S=!1}const C=T1(x).join(":"),L=y?C+Zm:C,N=L+b;if(c.includes(N))continue;c.push(N);const F=a(b,S);for(let I=0;I0?" "+h:h)}return h};function z1(){let n=0,r,i,l="";for(;n{if(typeof n=="string")return n;let r,i="";for(let l=0;ly(x),n());return i=I1(m),l=i.cache.get,a=i.cache.set,c=h,h(p)}function h(p){const m=l(p);if(m)return m;const x=F1(p,i);return a(p,x),x}return function(){return c(z1.apply(null,arguments))}}const De=n=>{const r=i=>i[n]||[];return r.isThemeGetter=!0,r},Jm=/^\[(?:([a-z-]+):)?(.+)\]$/i,A1=/^\d+\/\d+$/,U1=new Set(["px","full","screen"]),B1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$1=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,V1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,H1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,W1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yn=n=>bs(n)||U1.has(n)||A1.test(n),Wn=n=>Bs(n,"length",J1),bs=n=>!!n&&!Number.isNaN(Number(n)),Ku=n=>Bs(n,"number",bs),Mi=n=>!!n&&Number.isInteger(Number(n)),Q1=n=>n.endsWith("%")&&bs(n.slice(0,-1)),me=n=>Jm.test(n),Qn=n=>B1.test(n),K1=new Set(["length","size","percentage"]),q1=n=>Bs(n,K1,eg),G1=n=>Bs(n,"position",eg),Y1=new Set(["image","url"]),Z1=n=>Bs(n,Y1,tw),X1=n=>Bs(n,"",ew),Ti=()=>!0,Bs=(n,r,i)=>{const l=Jm.exec(n);return l?l[1]?typeof r=="string"?l[1]===r:r.has(l[1]):i(l[2]):!1},J1=n=>$1.test(n)&&!V1.test(n),eg=()=>!1,ew=n=>H1.test(n),tw=n=>W1.test(n),nw=()=>{const n=De("colors"),r=De("spacing"),i=De("blur"),l=De("brightness"),a=De("borderColor"),c=De("borderRadius"),f=De("borderSpacing"),h=De("borderWidth"),p=De("contrast"),m=De("grayscale"),x=De("hueRotate"),y=De("invert"),w=De("gap"),k=De("gradientColorStops"),S=De("gradientColorStopPositions"),b=De("inset"),C=De("margin"),L=De("opacity"),N=De("padding"),F=De("saturate"),I=De("scale"),U=De("sepia"),O=De("skew"),Y=De("space"),Q=De("translate"),z=()=>["auto","contain","none"],q=()=>["auto","hidden","clip","visible","scroll"],J=()=>["auto",me,r],Z=()=>[me,r],de=()=>["",yn,Wn],W=()=>["auto",bs,me],ee=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],we=()=>["solid","dashed","dotted","double","none"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>["start","end","center","between","around","evenly","stretch"],oe=()=>["","0",me],X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],R=()=>[bs,me];return{cacheSize:500,separator:":",theme:{colors:[Ti],spacing:[yn,Wn],blur:["none","",Qn,me],brightness:R(),borderColor:[n],borderRadius:["none","","full",Qn,me],borderSpacing:Z(),borderWidth:de(),contrast:R(),grayscale:oe(),hueRotate:R(),invert:oe(),gap:Z(),gradientColorStops:[n],gradientColorStopPositions:[Q1,Wn],inset:J(),margin:J(),opacity:R(),padding:Z(),saturate:R(),scale:R(),sepia:oe(),skew:R(),space:Z(),translate:Z()},classGroups:{aspect:[{aspect:["auto","square","video",me]}],container:["container"],columns:[{columns:[Qn]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ee(),me]}],overflow:[{overflow:q()}],"overflow-x":[{"overflow-x":q()}],"overflow-y":[{"overflow-y":q()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Mi,me]}],basis:[{basis:J()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",me]}],grow:[{grow:oe()}],shrink:[{shrink:oe()}],order:[{order:["first","last","none",Mi,me]}],"grid-cols":[{"grid-cols":[Ti]}],"col-start-end":[{col:["auto",{span:["full",Mi,me]},me]}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":[Ti]}],"row-start-end":[{row:["auto",{span:[Mi,me]},me]}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",me]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",me]}],gap:[{gap:[w]}],"gap-x":[{"gap-x":[w]}],"gap-y":[{"gap-y":[w]}],"justify-content":[{justify:["normal",...V()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...V(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...V(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[N]}],px:[{px:[N]}],py:[{py:[N]}],ps:[{ps:[N]}],pe:[{pe:[N]}],pt:[{pt:[N]}],pr:[{pr:[N]}],pb:[{pb:[N]}],pl:[{pl:[N]}],m:[{m:[C]}],mx:[{mx:[C]}],my:[{my:[C]}],ms:[{ms:[C]}],me:[{me:[C]}],mt:[{mt:[C]}],mr:[{mr:[C]}],mb:[{mb:[C]}],ml:[{ml:[C]}],"space-x":[{"space-x":[Y]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[Y]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",me,r]}],"min-w":[{"min-w":[me,r,"min","max","fit"]}],"max-w":[{"max-w":[me,r,"none","full","min","max","fit","prose",{screen:[Qn]},Qn]}],h:[{h:[me,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[me,r,"auto","min","max","fit"]}],"font-size":[{text:["base",Qn,Wn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ku]}],"font-family":[{font:[Ti]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",me]}],"line-clamp":[{"line-clamp":["none",bs,Ku]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",yn,me]}],"list-image":[{"list-image":["none",me]}],"list-style-type":[{list:["none","disc","decimal",me]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[L]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[L]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...we(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",yn,Wn]}],"underline-offset":[{"underline-offset":["auto",yn,me]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[L]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ee(),G1]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",q1]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Z1]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[k]}],"gradient-via":[{via:[k]}],"gradient-to":[{to:[k]}],rounded:[{rounded:[c]}],"rounded-s":[{"rounded-s":[c]}],"rounded-e":[{"rounded-e":[c]}],"rounded-t":[{"rounded-t":[c]}],"rounded-r":[{"rounded-r":[c]}],"rounded-b":[{"rounded-b":[c]}],"rounded-l":[{"rounded-l":[c]}],"rounded-ss":[{"rounded-ss":[c]}],"rounded-se":[{"rounded-se":[c]}],"rounded-ee":[{"rounded-ee":[c]}],"rounded-es":[{"rounded-es":[c]}],"rounded-tl":[{"rounded-tl":[c]}],"rounded-tr":[{"rounded-tr":[c]}],"rounded-br":[{"rounded-br":[c]}],"rounded-bl":[{"rounded-bl":[c]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[L]}],"border-style":[{border:[...we(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[L]}],"divide-style":[{divide:we()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...we()]}],"outline-offset":[{"outline-offset":[yn,me]}],"outline-w":[{outline:[yn,Wn]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[L]}],"ring-offset-w":[{"ring-offset":[yn,Wn]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",Qn,X1]}],"shadow-color":[{shadow:[Ti]}],opacity:[{opacity:[L]}],"mix-blend":[{"mix-blend":[...he(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":he()}],filter:[{filter:["","none"]}],blur:[{blur:[i]}],brightness:[{brightness:[l]}],contrast:[{contrast:[p]}],"drop-shadow":[{"drop-shadow":["","none",Qn,me]}],grayscale:[{grayscale:[m]}],"hue-rotate":[{"hue-rotate":[x]}],invert:[{invert:[y]}],saturate:[{saturate:[F]}],sepia:[{sepia:[U]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[i]}],"backdrop-brightness":[{"backdrop-brightness":[l]}],"backdrop-contrast":[{"backdrop-contrast":[p]}],"backdrop-grayscale":[{"backdrop-grayscale":[m]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[x]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[L]}],"backdrop-saturate":[{"backdrop-saturate":[F]}],"backdrop-sepia":[{"backdrop-sepia":[U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[f]}],"border-spacing-x":[{"border-spacing-x":[f]}],"border-spacing-y":[{"border-spacing-y":[f]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",me]}],duration:[{duration:R()}],ease:[{ease:["linear","in","out","in-out",me]}],delay:[{delay:R()}],animate:[{animate:["none","spin","ping","pulse","bounce",me]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[I]}],"scale-x":[{"scale-x":[I]}],"scale-y":[{"scale-y":[I]}],rotate:[{rotate:[Mi,me]}],"translate-x":[{"translate-x":[Q]}],"translate-y":[{"translate-y":[Q]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",me]}],accent:[{accent:["auto",n]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",me]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Z()}],"scroll-mx":[{"scroll-mx":Z()}],"scroll-my":[{"scroll-my":Z()}],"scroll-ms":[{"scroll-ms":Z()}],"scroll-me":[{"scroll-me":Z()}],"scroll-mt":[{"scroll-mt":Z()}],"scroll-mr":[{"scroll-mr":Z()}],"scroll-mb":[{"scroll-mb":Z()}],"scroll-ml":[{"scroll-ml":Z()}],"scroll-p":[{"scroll-p":Z()}],"scroll-px":[{"scroll-px":Z()}],"scroll-py":[{"scroll-py":Z()}],"scroll-ps":[{"scroll-ps":Z()}],"scroll-pe":[{"scroll-pe":Z()}],"scroll-pt":[{"scroll-pt":Z()}],"scroll-pr":[{"scroll-pr":Z()}],"scroll-pb":[{"scroll-pb":Z()}],"scroll-pl":[{"scroll-pl":Z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",me]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[yn,Wn,Ku]}],stroke:[{stroke:[n,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},rw=O1(nw);function Ye(...n){return rw(C1(n))}function bk(n){return n?n.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function sw(){const n=_1();return v.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[v.jsxs("button",{onClick:()=>Mp(!1),"aria-pressed":!n,className:Ye("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[v.jsx(x1,{className:"h-3.5 w-3.5"})," Einfach"]}),v.jsxs("button",{onClick:()=>Mp(!0),"aria-pressed":n,className:Ye("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[v.jsx(v1,{className:"h-3.5 w-3.5"})," Experte"]})]})}let Cl=!1;const iw=()=>Cl;function ow(){const n=Lc();H.useEffect(()=>{const r=new EventSource("/api/events");return r.onopen=()=>{Cl=!0},r.onerror=()=>{Cl=!1},r.addEventListener("invalidate",i=>{var l;try{const a=((l=JSON.parse(i.data))==null?void 0:l.keys)??[];for(const c of a)n.invalidateQueries({queryKey:[c]})}catch{}}),()=>{Cl=!1,r.close()}},[n])}class lw extends Error{constructor(i,l,a){super(a||`${i} ${l}`);dl(this,"status");dl(this,"detail");this.name="ApiError",this.status=i,this.detail=a}}async function aw(n){try{const r=await n.text();if(!r)return null;try{const i=JSON.parse(r),l=(i==null?void 0:i.detail)??(i==null?void 0:i.err)??(i==null?void 0:i.message);return typeof l=="string"&&l.trim()?l.trim():Array.isArray(l)&&l.length&&l.map(a=>a==null?void 0:a.msg).filter(Boolean).join("; ")||null}catch{return r.slice(0,200).split(` +`)[0].trim()||null}}catch{return null}}async function Le(n,r){const i=await fetch(n,{...r,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers}});if(!i.ok)throw new lw(i.status,i.statusText,await aw(i));return i.json()}const _k=(n,r,i=!1,l=!0)=>Le("/api/groups",{method:"PUT",body:JSON.stringify({group:n,members:r,swap:i,persist:l})}),Ck=n=>Le("/api/routing/policy",{method:"PUT",body:JSON.stringify(n)}),Fe={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:n=>["drafts",n??""],connect:n=>["connect",n??""],connectHealth:["connect-health"],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},St={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},Bl=n=>()=>iw()?n*5:n,uw=(n=St.schnell)=>Ae({queryKey:Fe.auftragsbuch,queryFn:()=>Le("/api/auftragsbuch"),refetchInterval:Bl(n)}),cw=(n=St.gemuetlich)=>Ae({queryKey:Fe.ideen,queryFn:()=>Le("/api/ideen"),refetchInterval:Bl(n)}),Ek=(n,r=!1)=>Ae({queryKey:["ideen-log",n],queryFn:()=>Le(`/api/ideen/${n}/log`),enabled:r,refetchInterval:4e3,staleTime:0}),Pk=(n=150,r=St.gemuetlich)=>Ae({queryKey:[...Fe.chronik,n],queryFn:()=>Le(`/api/chronik?limit=${n}`),refetchInterval:Bl(r),select:i=>i.items??[]}),jk=()=>Ae({queryKey:Fe.wissen,queryFn:()=>Le("/api/wissen")}),Rk=(n=St.traege,r=!0)=>Ae({queryKey:Fe.zeitmaschine,queryFn:()=>Le("/api/zeitmaschine"),refetchInterval:n,enabled:r}),dw=(n=12,r=St.schnell)=>Ae({queryKey:Fe.voiceTrace,queryFn:()=>Le(`/api/voice/trace?limit=${n}`),refetchInterval:r,select:i=>i.turns??[]}),Nk=(n=!0)=>Ae({queryKey:Fe.memoryGraph,queryFn:()=>Le("/api/wissen/graph"),enabled:n,staleTime:60*1e3}),tg=()=>Ae({queryKey:Fe.health,queryFn:()=>Le("/api/health"),refetchInterval:St.normal}),$l=(n=St.graph)=>Ae({queryKey:Fe.systemStatus,queryFn:()=>Le("/api/system/status"),refetchInterval:n}),ng=(n,r=!0)=>Ae({queryKey:["metrics-history",n],queryFn:()=>Le(`/api/system/history?minutes=${n}`),enabled:r,refetchInterval:6e4}),rg=(n=St.normal)=>Ae({queryKey:Fe.services,queryFn:()=>Le("/api/system/services"),refetchInterval:n}),sg=(n=St.schnell)=>Ae({queryKey:Fe.models,queryFn:()=>Le("/api/models"),refetchInterval:Bl(n)}),Lk=(n=St.normal)=>Ae({queryKey:Fe.groups,queryFn:()=>Le("/api/groups"),refetchInterval:n}),Mk=()=>Ae({queryKey:Fe.routingPolicy,queryFn:()=>Le("/api/routing/policy")}),Tk=(n=3e3,r=!0)=>Ae({queryKey:Fe.jobs,queryFn:()=>Le("/api/jobs"),refetchInterval:n,enabled:r,select:i=>i.jobs??[]}),ig=(n=St.graph)=>Ae({queryKey:Fe.tokenStats,queryFn:()=>Le("/api/system/token-stats"),refetchInterval:n}),fw=(n=St.normal)=>Ae({queryKey:Fe.agentStatus,queryFn:()=>Le("/api/agent/status"),refetchInterval:n}),Ik=(n=St.traege)=>Ae({queryKey:Fe.hermesBrain,queryFn:()=>Le("/api/agent/brain"),refetchInterval:n}),hw=(n=St.traege)=>Ae({queryKey:Fe.updates,queryFn:()=>Le("/api/maintenance/updates"),refetchInterval:n}),Dk=()=>Ae({queryKey:Fe.discover,queryFn:()=>Le("/api/discover")}),Fk=n=>Ae({queryKey:Fe.drafts(n),queryFn:()=>Le(`/api/models/drafts?target=${encodeURIComponent(n??"")}`),enabled:!!n}),zk=n=>Ae({queryKey:Fe.connect(n),queryFn:()=>Le(n?`/api/connect?${n}`:"/api/connect")}),pw=()=>Ae({queryKey:Fe.connectHealth,queryFn:()=>Le("/api/connect/health"),refetchInterval:15e3});function Ok(n,...r){for(const i of r)n.invalidateQueries({queryKey:i})}let Sc=[],bc=[];const _c=new Set,og=()=>_c.forEach(n=>n());function lg(n){return _c.add(n),()=>{_c.delete(n)}}function mw(n){Sc=[...Sc,n].slice(-40),og()}function gw(n){bc=[...bc,n].slice(-40),og()}const yw=()=>H.useSyncExternalStore(lg,()=>Sc),vw=()=>H.useSyncExternalStore(lg,()=>bc);function xw(){const{data:n,dataUpdatedAt:r}=$l(),{data:i,dataUpdatedAt:l}=ig(),a=H.useRef(null);H.useEffect(()=>{var c,f,h,p;n&&mw({t:Date.now(),cpu:((c=n.cpu)==null?void 0:c.percent)??0,ram:((f=n.ram)==null?void 0:f.percent)??0,gpu:((h=n.gpu)==null?void 0:h.busy_percent)??null,disk:((p=n.disk)==null?void 0:p.percent)??null})},[r]),H.useEffect(()=>{if(!i)return;const c=Date.now(),f=i.prompt_tokens,h=i.completion_tokens;if(a.current){const p=Math.max((c-a.current.t)/1e3,.001);gw({t:c,prompt:Math.max(0,(f-a.current.p)/p),completion:Math.max(0,(h-a.current.c)/p)})}a.current={p:f,c:h,t:c}},[l])}const ww=H.lazy(()=>Nt(()=>import("./SystemDrawer-TPlJzWjm.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])).then(n=>({default:n.SystemDrawer}))),kw=H.lazy(()=>Nt(()=>import("./CommandPalette-Bzgk4pnl.js"),__vite__mapDeps([10,11])).then(n=>({default:n.CommandPalette})));function Sw(){return v.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:v.jsx(Vc,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const bw=/Mac|iPhone|iPad/.test(navigator.platform);function _w(){xw(),ow();const n=Al(),r=Np({select:S=>S.location.pathname}),i=Np({select:S=>S.location.search.system}),[l,a]=H.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[c,f]=H.useState(!1),[h,p]=H.useState(!1);H.useEffect(()=>{const S=C=>{(C.metaKey||C.ctrlKey)&&C.key.toLowerCase()==="k"&&p(!0)},b=()=>p(!0);return document.addEventListener("keydown",S),window.addEventListener("mc-palette-open",b),()=>{document.removeEventListener("keydown",S),window.removeEventListener("mc-palette-open",b)}},[]);const m=H.useCallback(S=>{n({to:".",search:b=>({...b,system:S}),replace:!0})},[n]),{data:x,isError:y}=tg(),{data:w}=$l();H.useEffect(()=>{document.documentElement.classList.add("dark")},[]),H.useEffect(()=>{const S=b=>{var L;const C=(L=b.detail)==null?void 0:L.tab;m(C==="logs"?"logs":"wartung")};return window.addEventListener("open-system-drawer",S),()=>window.removeEventListener("open-system-drawer",S)},[m]),H.useEffect(()=>{const S=b=>{var N;const C=(N=b.detail)==null?void 0:N.view,L=As.find(F=>F.id===C);L&&n({to:L.pfad})};return window.addEventListener("mc-navigate",S),()=>window.removeEventListener("mc-navigate",S)},[n]),H.useEffect(()=>{f(!1)},[r]);const k=Km(r);return v.jsxs("div",{className:"flex h-full relative",children:[v.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),v.jsxs(H.Suspense,{fallback:null,children:[h&&v.jsx(kw,{}),i&&v.jsx(ww,{open:!0,onClose:()=>m(void 0),defaultTab:i==="logs"?"logs":"maintenance"})]}),v.jsx("aside",{className:Ye("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",l?"w-16":"w-60"),children:v.jsx(Dp,{collapsed:l,onToggleCollapse:()=>{a(S=>{const b=!S;return localStorage.setItem("mc_sidebar_collapsed",b.toString()),b})},pfad:r,health:x,backendDown:y,sysStatus:w})}),v.jsxs("div",{className:Ye("md:hidden fixed inset-0 z-50 transition-opacity duration-200",c?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!c,children:[v.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>f(!1)}),v.jsx("aside",{className:Ye("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",c?"translate-x-0":"-translate-x-full"),children:v.jsx(Dp,{collapsed:!1,onClose:()=>f(!1),pfad:r,health:x,backendDown:y,sysStatus:w})})]}),v.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[v.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[v.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[v.jsx("button",{onClick:()=>f(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:v.jsx(m1,{className:"h-5 w-5","aria-hidden":"true"})}),v.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:k==null?void 0:k.hint})]}),v.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[v.jsx(sw,{}),v.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm:flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),v.jsxs("button",{onClick:()=>window.dispatchEvent(new CustomEvent("mc-palette-open")),className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[v.jsx(i1,{className:"h-3.5 w-3.5"}),v.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),v.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:bw?"⌘K":"Strg+K"})]})]})]}),v.jsx("main",{className:"flex-1 overflow-y-auto p-4 md:p-6 scrollbar-thin",children:v.jsx(H.Suspense,{fallback:v.jsx(Sw,{}),children:v.jsx(Um,{})})})]})]})}function Dp({collapsed:n,onToggleCollapse:r,onClose:i,pfad:l,health:a,backendDown:c,sysStatus:f}){var p,m,x,y,w;const h=Km(l);return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:Ye("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[v.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[v.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&v.jsxs("div",{className:"leading-tight",children:[v.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),v.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),r&&v.jsx("button",{onClick:r,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":n?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:n?"Maximieren":"Minimieren",children:n?v.jsx(Oi,{className:"h-4 w-4","aria-hidden":"true"}):v.jsx(s1,{className:"h-4 w-4","aria-hidden":"true"})}),i&&v.jsx("button",{onClick:i,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:v.jsx(Qm,{className:"h-4 w-4","aria-hidden":"true"})})]}),v.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let k=null;return As.map(S=>{const b=S.group!==k;k=S.group;const C=(h==null?void 0:h.id)===S.id;return v.jsxs("div",{className:"space-y-1",children:[b&&(n?k!==As[0].group&&v.jsx("div",{className:"my-3 border-t border-border/30"}):v.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:S.group})),v.jsxs(Bc,{to:S.pfad,onClick:i,"aria-current":C?"page":void 0,className:Ye("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",C?n?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?S.label:void 0,"aria-label":n?S.label:void 0,children:[v.jsx(S.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!n&&v.jsx("span",{className:"truncate",children:S.label})]})]},S.id)})})()}),v.jsx("div",{className:Ye("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?v.jsx("div",{className:"flex justify-center",children:v.jsx("span",{className:Ye("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",c||!a?"bg-red-500":a.engine_reachable?a.brain&&!a.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:c?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":a?a.engine_reachable?a.brain&&!a.brain.ready?`Hirn offline (${a.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):v.jsxs("div",{className:"space-y-2 text-left",children:[c?v.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[v.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),v.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):a?v.jsxs(v.Fragment,{children:[v.jsxs("span",{className:"flex items-center gap-2",children:[v.jsx("span",{className:Ye("h-2 w-2 rounded-full animate-pulse",a.engine_reachable?"bg-emerald-500":"bg-amber-500")}),v.jsxs("span",{className:"truncate",children:["Engine ",a.engine_reachable?"online":"offline"]})]}),a.brain&&!a.brain.ready&&v.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${a.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[v.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),v.jsxs("span",{className:"truncate",children:["Hirn offline",a.brain.model?` (${a.brain.model})`:""]})]})]}):v.jsxs("span",{className:"flex items-center gap-2",children:[v.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",v.jsx("span",{className:"truncate",children:"Backend offline"})]}),(f==null?void 0:f.versions)&&v.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[v.jsxs("div",{className:"truncate",title:f.versions.mc2?`${f.versions.mc2.branch}-${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""} (${f.versions.mc2.date})`:"nicht gefunden",children:[v.jsx("strong",{children:"MC2:"})," ",f.versions.mc2?`${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""}`:"—"]}),v.jsxs("div",{className:"truncate",title:((p=f.versions.engine)==null?void 0:p.type)==="git"?`${f.versions.engine.branch}-${f.versions.engine.hash}${f.versions.engine.dirty?"*":""} (${f.versions.engine.date})`:((m=f.versions.engine)==null?void 0:m.version_text)||"unbekannt",children:[v.jsx("strong",{children:"Engine:"})," ",((x=f.versions.engine)==null?void 0:x.type)==="git"?`${f.versions.engine.hash}${f.versions.engine.dirty?"*":""}`:((w=(y=f.versions.engine)==null?void 0:y.version_text)==null?void 0:w.split(" ").pop())||"—"]}),v.jsxs("div",{className:"truncate",title:f.versions.hermes_agent?`${f.versions.hermes_agent.branch}-${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""} (${f.versions.hermes_agent.date})`:"nicht gefunden",children:[v.jsx("strong",{children:"Hermes Agent:"})," ",f.versions.hermes_agent?`${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}function to({titel:n,text:r,fehler:i,onErneut:l}){const a=i instanceof Error?i.stack||i.message:i?String(i):null;return v.jsx("div",{className:"flex min-h-[50vh] items-center justify-center p-6",children:v.jsxs("div",{className:"mc-card max-w-lg space-y-4 p-6",children:[v.jsxs("div",{className:"flex items-center gap-2.5",children:[v.jsx(xc,{className:"h-5 w-5 shrink-0 text-amber-400","aria-hidden":"true"}),v.jsx("h1",{className:"font-space text-lg font-bold tracking-tight",children:n})]}),v.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:r}),v.jsxs("div",{className:"flex flex-wrap gap-2 pt-1",children:[l&&v.jsxs("button",{onClick:l,className:"flex h-9 cursor-pointer items-center gap-1.5 rounded-lg bg-primary px-4 text-xs font-semibold text-primary-foreground transition-colors hover:bg-primary/90",children:[v.jsx(y1,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Erneut versuchen"]}),v.jsx("a",{href:"/cockpit",className:"flex h-9 items-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent",children:"Zum Cockpit"})]}),a&&v.jsxs("details",{className:"pt-1",children:[v.jsx("summary",{className:"cursor-pointer text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70 hover:text-foreground",children:"Technische Einzelheiten"}),v.jsx("pre",{className:"scrollbar-thin mt-2 max-h-52 overflow-auto rounded-lg border border-border/40 bg-background/40 p-3 font-mono text-[10px] leading-relaxed text-muted-foreground",children:a})]})]})})}function Cw(){var Q,z,q,J,Z,de;const{data:n,isError:r}=tg(),{data:i,isError:l}=rg(),{data:a}=sg(),{data:c}=$l(),f=r||l,h=!!n&&!!i,p=W=>{var ee;return(ee=i==null?void 0:i.services.find(we=>we.unit===W))==null?void 0:ee.ok},m=W=>!!(i!=null&&i.services.some(ee=>ee.unit===W)),x=n==null?void 0:n.engine_reachable,y=(Q=n==null?void 0:n.brain)==null?void 0:Q.ready,w=((z=n==null?void 0:n.brain)==null?void 0:z.model)||((q=a==null?void 0:a.models.find(W=>W.role==="hermes"))==null?void 0:q.name)||"",k=[];f&&k.push({id:"mc2",label:"Steuerpult (MC2)",icon:Wm,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),k.push((()=>{const W={id:"brain",label:"Lucys Hirn",icon:n1,critical:!0};return h?x===!1?{...W,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:y===!1?{...W,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:w?{kind:"loadModel",model:w,label:"Hirn aufwecken"}:void 0}:{...W,status:"ok",detail:"Wach und ansprechbar."}:{...W,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const W={id:"vision",label:"Lucys Augen",icon:l1,critical:!1};if(!h||!a)return{...W,status:"loading",detail:"Wird geprüft …"};const ee=a.models.find(he=>he.role==="vision");return ee?(a.running??[]).includes(ee.name)?{...W,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...W,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:ee.name,label:"Augen wecken"}}:{...W,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),k.push((()=>{const W={id:"memory",label:"Lucys Gedächtnis",icon:t1,critical:!0},ee=p("hermes-gateway");return!h||ee===void 0?{...W,status:"loading",detail:"Wird geprüft …"}:ee?{...W,status:"ok",detail:"Hermes-Natives Gedächtnis aktiv (SQLite & Embeddings)."}:{...W,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gateway antwortet nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Gateway neu starten"}}})()),k.push((()=>{const W={id:"gateway",label:"Verbindung (Gateway)",icon:Hc,critical:!0},ee=n?n.gateway_reachable:p("mc2-gateway");if(!h||ee===void 0)return{...W,status:"loading",detail:"Wird geprüft …"};const we=m("mc2-gateway")?"mc2-gateway":"mission-control-2";return ee?{...W,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...W,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:we,label:"Gateway neu starten"}}})()),k.push((()=>{const W={id:"steward",label:"Wächter (Steward)",icon:Wc,critical:!1};return h?m("mc2-steward")?p("mc2-steward")?{...W,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...W,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...W,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...W,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const W={id:"agent",label:"Lucys Agent (Hermes)",icon:vc,critical:!0},ee=p("hermes-gateway");return!h||ee===void 0?{...W,status:"loading",detail:"Wird geprüft …"}:ee?{...W,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...W,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),k.push((()=>{const W={id:"voice",label:"Lucys Stimme",icon:g1,critical:!1},ee=p("voice-service");return!h||ee===void 0?{...W,status:"loading",detail:"Wird geprüft …"}:ee?{...W,status:"ok",detail:"Lucy kann hören und sprechen."}:{...W,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const S=((J=c==null?void 0:c.ram)==null?void 0:J.total)??0,b=((Z=c==null?void 0:c.ram)==null?void 0:Z.used)??0,C=((de=c==null?void 0:c.ram)==null?void 0:de.percent)??(S>0?Math.min(100,b/S*100):0),L=1024**3,N=S?C>=93?{status:"full",usedGb:b/L,totalGb:S/L,pct:C,text:"Speicher fast voll — Lucy könnte langsamer werden."}:C>=85?{status:"warn",usedGb:b/L,totalGb:S/L,pct:C,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:b/L,totalGb:S/L,pct:C,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},F=k.some(W=>W.status==="loading"),I=k.filter(W=>W.critical&&W.status==="down"),U=k.filter(W=>W.status==="warn"||!W.critical&&W.status==="down"),O=N.status==="full";return{verdict:F&&!I.length?"loading":I.length?"problem":U.length||O?"warn":"gut",checks:k,memory:N,problems:I,warns:U,unreachable:f}}function Ew({type:n,title:r,message:i,defaultValue:l,autoValue:a,autoLabel:c,onConfirm:f,onCancel:h}){const p=H.useRef(null);return v.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":r,children:v.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[v.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[v.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:r}),v.jsx("button",{onClick:h||(()=>f()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:v.jsx(Qm,{className:"h-4 w-4","aria-hidden":"true"})})]}),v.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:i}),n==="prompt"&&v.jsxs("div",{className:"flex gap-2",children:[v.jsx("input",{ref:p,type:"text",defaultValue:l,"aria-label":r,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:m=>{var x;m.key==="Enter"&&f((x=p.current)==null?void 0:x.value)}}),a!==void 0&&v.jsx("button",{type:"button",onClick:()=>{p.current&&(p.current.value=a)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:c||"Auto"})]}),v.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(n==="confirm"||n==="prompt")&&v.jsx("button",{onClick:h,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),v.jsx("button",{onClick:()=>{var x;const m=n==="prompt"?(x=p.current)==null?void 0:x.value:void 0;f(m)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:n==="confirm"?"Ja, fortfahren":n==="prompt"?"Übernehmen":"OK"})]})]})})}function Pw(){const[n,r]=H.useState(null),i=H.useCallback(()=>r(null),[]),l=H.useCallback((h,p,m)=>{r({type:"alert",title:h,message:p,onConfirm:()=>{r(null),m==null||m()}})},[]),a=H.useCallback((h,p,m,x)=>{r({type:"confirm",title:h,message:p,onConfirm:()=>{r(null),m()},onCancel:()=>{r(null),x==null||x()}})},[]),c=H.useCallback((h,p,m,x,y,w)=>{r({type:"prompt",title:h,message:p,defaultValue:m,autoValue:w==null?void 0:w.autoValue,autoLabel:w==null?void 0:w.autoLabel,onConfirm:k=>{r(null),x(k)},onCancel:()=>{r(null),y==null||y()}})},[]),f=n?v.jsx(Ew,{...n}):null;return{showAlert:l,showConfirm:a,showPrompt:c,close:i,dialogElement:f}}const jw={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},Rw={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function Ii({icon:n,title:r,value:i,unit:l,tone:a="muted",hint:c,onClick:f}){return v.jsxs("button",{onClick:f,className:Ye("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",Rw[a]),children:[v.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[v.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:v.jsx(n,{className:"h-5 w-5"})}),v.jsx("span",{className:Ye("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",jw[a]),title:c})]}),v.jsxs("div",{className:"flex items-baseline gap-1.5",children:[v.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:i}),l&&v.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l})]}),v.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[v.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:r}),v.jsx(Oi,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),c&&v.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:c})]})}function Nw(){const{data:n,error:r}=$l(),i=yw();return{sys:n,hist:i,error:r}}function ys(n){return(n/1024**3).toFixed(1)}function Ak(n){return n?n>1024**3?`${(n/1024**3).toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`:""}function Uk(n){if(!n)return"—";const r=n/1024**3;return r>=1?`${r.toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`}function Bk(n){if(!n)return"";const r=Math.floor(n/60);return r>0?`${r} min`:`${n} s`}function $k(n){return n?`${Math.round(n/1024)}k`:"—"}function Vk(n){return n?new Date(n*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}const Lw=H.lazy(()=>Nt(()=>import("./LiveAreaChartImpl-CGtRHSfm.js"),__vite__mapDeps([12,13,11])));function ag(n){return v.jsx(H.Suspense,{fallback:v.jsx(Mw,{height:n.height??176}),children:v.jsx(Lw,{...n})})}function Mw({height:n}){return v.jsx("div",{style:{height:n},className:"flex w-full items-end","aria-hidden":"true",children:v.jsx("div",{className:"h-px w-full bg-border/40"})})}const ug={"1h":60,"24h":1440},Fp={live:"Live","1h":"1 h","24h":"24 h"};function cg({value:n,onChange:r}){return v.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(Fp).map(i=>v.jsx("button",{onClick:()=>r(i),className:Ye("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",n===i?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Fp[i]},i))})}const Tw=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function Iw(){var x,y,w,k;const{sys:n,hist:r}=Nw(),[i,l]=H.useState("live"),a=ng(i==="live"?60:ug[i],i!=="live"),c=H.useMemo(()=>{var S;return i==="live"?r:(((S=a.data)==null?void 0:S.points)??[]).map(b=>({t:b.t*1e3,cpu:b.cpu,ram:b.ram,gpu:b.gpu,disk:b.disk}))},[i,r,a.data]),f=!!(n!=null&&n.gpu&&n.gpu.busy_percent!=null&&n.gpu.gtt_used!=null&&n.gpu.gtt_total!=null),h=Tw.filter(S=>S.key!=="gpu"||f),p={cpu:(x=n==null?void 0:n.cpu)==null?void 0:x.percent,ram:(y=n==null?void 0:n.ram)==null?void 0:y.percent,gpu:f?n.gpu.busy_percent:null,disk:(w=n==null?void 0:n.disk)==null?void 0:w.percent},m={cpu:(k=n==null?void 0:n.cpu)!=null&&k.cores?`${n.cpu.cores} Cores`:"",ram:n?`${ys(n.ram.used)}/${ys(n.ram.total)} GB`:"",gpu:f?`${ys(n.gpu.gtt_used)}/${ys(n.gpu.gtt_total)} GB`:"",disk:n!=null&&n.disk?`${ys(n.disk.used)}/${ys(n.disk.total)} GB`:""};return v.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[v.jsxs("div",{children:[v.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[v.jsx(o1,{className:"h-4.5 w-4.5 text-primary"}),v.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),i==="live"&&v.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[v.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),v.jsx("div",{className:"ml-auto",children:v.jsx(cg,{value:i,onChange:l})})]}),n?v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:h.map(S=>v.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[v.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:S.color}}),v.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:S.label}),v.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(p[S.key]??0),"%"]}),m[S.key]&&v.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:m[S.key]})]},S.key))}),i!=="live"&&c.length===0&&v.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(i==="live"||c.length>0)&&v.jsx(ag,{data:c,series:h,unit:"%",yMode:"percent",height:176,showTime:!0})]}):v.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(n==null?void 0:n.temp)&&(n.temp.cpu||n.temp.gpu)&&v.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[n.temp.cpu!=null&&v.jsxs("span",{children:["CPU Temp: ",n.temp.cpu," °C"]}),n.temp.gpu!=null&&v.jsxs("span",{children:["GPU Temp: ",n.temp.gpu," °C"]})]})]})}const Us=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],Ai=n=>n==null?"–":`${(n/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function Dw(n){const r=Math.max(0,Date.now()/1e3-n);return r<60?`vor ${Math.round(r)} s`:r<3600?`vor ${Math.round(r/60)} min`:`vor ${Math.round(r/3600)} h`}function Cc(n){return Us.reduce((r,i)=>r+(n[i.key]??0),0)}function Fw(n){let r=null;for(const i of Us){const l=n[i.key];l!=null&&(r==null||l>r.ms)&&(r={label:i.label,color:i.color,ms:l})}return r}function zw({t:n,scale:r}){const i=Us.map(l=>`${l.label} ${Ai(n[l.key])}`).join(" · ");return v.jsxs("div",{className:"flex items-center gap-2.5",children:[v.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:Dw(n.ts)}),v.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:i,children:[v.jsx("div",{className:"absolute inset-0 flex",children:Us.map(l=>{const a=n[l.key];return!a||a<=0?null:v.jsx("div",{style:{width:`${a/r*100}%`,background:l.color},className:"h-full first:rounded-l-sm"},l.key)})}),n.error&&v.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),v.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:n.error?"–":Ai(Cc(n))})]})}function Ow(){const{data:n}=dw(12),r=n??[],i=Math.max(1,...r.map(c=>Cc(c))),l=r[0],a=l?Fw(l):null;return v.jsxs("div",{className:"mc-card p-5",children:[v.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[v.jsxs("div",{children:[v.jsxs("div",{className:"flex items-center gap-2",children:[v.jsx(a1,{className:"h-4.5 w-4.5 text-primary"}),v.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),v.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[v.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),l?v.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[v.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${l.error?"text-rose-400":"text-foreground"}`,children:l.error?"Fehler":Ai(Cc(l))}),v.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!l.error&&a&&v.jsxs(v.Fragment,{children:[" · Täter: ",v.jsx("span",{style:{color:a.color},className:"font-semibold",children:a.label})," ",Ai(a.ms)]})]})]}):v.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),l&&!l.error&&v.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:Us.filter(c=>l[c.key]!=null).map(c=>`${c.label} ${Ai(l[c.key])}`).join(" · ")})]}),v.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Us.map(c=>v.jsxs("div",{className:"flex items-center gap-1.5",children:[v.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:c.color}}),v.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:c.label})]},c.key))})]}),r.length>0?v.jsx("div",{className:"space-y-1.5",children:r.map(c=>v.jsx(zw,{t:c,scale:i},c.id))}):v.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),v.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Gedächtnis-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const zp=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function Aw(){const{data:n}=ig(),r=vw(),[i,l]=H.useState("live"),a=ng(i==="live"?60:ug[i],i!=="live"),c=H.useMemo(()=>{var x;if(i==="live")return r;const p=((x=a.data)==null?void 0:x.points)??[],m=[];for(let y=1;yv.jsxs("div",{className:"flex items-center gap-1.5",children:[v.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:p.color}}),v.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:p.label}),v.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((f==null?void 0:f[p.key])??0)})]},p.key))})]})]}),i!=="live"&&c.length===0?v.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):n?v.jsx(ag,{data:c,series:zp,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):v.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),v.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}const Il=n=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:n}}));function Uw({onNavigate:n}){var W,ee,we,he;const{data:r}=sg(),{data:i}=rg(),{data:l}=hw(),{data:a}=fw(),{data:c}=pw(),{data:f}=uw(),{data:h}=cw(),p=Cw(),{showAlert:m,dialogElement:x}=Pw(),y=Lc(),[w,k]=H.useState({});async function S(V,oe){k(X=>({...X,[V]:!0}));try{if(oe.kind==="loadModel")await Le(`/api/models/${encodeURIComponent(oe.model)}/load`,{method:"POST"});else{const X=await Le("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:oe.service})});X.ok||m("Reparatur nicht ganz geklappt",(X.err||"Unbekannter Fehler")+(oe.needsSudo?` + +Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}y.invalidateQueries({queryKey:Fe.health}),y.invalidateQueries({queryKey:Fe.services}),y.invalidateQueries({queryKey:Fe.models})}catch(X){m("Reparatur fehlgeschlagen",String((X==null?void 0:X.message)||X))}finally{k(X=>({...X,[V]:!1}))}}const b=((W=r==null?void 0:r.running)==null?void 0:W.length)??0,C=(i==null?void 0:i.services.filter(V=>V.ok).length)??0,L=(i==null?void 0:i.services.length)??0,N=L-C,F=(l?(l.os>0?1:0)+(l.engine>0?1:0)+(l.swap>0?1:0)+(l.models>0?1:0):0)+(((ee=l==null?void 0:l.components)==null?void 0:ee.filter(V=>V.update===!0).length)??0),I=f!=null&&f.available?f.open_count:0,U=h!=null&&h.available?h.items.filter(V=>V.status==="blocked").length:0,O=c?[c.gateway,c.memory,c.desktop_gateway]:[],Y=O.filter(V=>V==null?void 0:V.ok).length,Q=c?c.gateway.ok?c.memory.ok?c.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",z=(we=r==null?void 0:r.models)==null?void 0:we.find(V=>V.role==="hermes"),q=z!=null&&z.name?(he=z.name.split("/").pop())==null?void 0:he.replace(/\.gguf$/i,""):"",J=i==null?void 0:i.services.filter(V=>!V.ok).map(V=>V.name).join(", "),Z=l?[l.os>0&&"OS",l.engine>0&&"Engine",l.swap>0&&"Swap",l.models>0&&"Modelle"].filter(Boolean):[],de=Z.length>0?Z.join(" + "):"";return v.jsxs("div",{className:"space-y-6",children:[v.jsxs("div",{children:[v.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Cockpit"}),v.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),v.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[v.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[v.jsx(Bw,{verdict:p.verdict,memory:p.memory,warns:p.warns,problems:p.problems}),v.jsxs("section",{children:[v.jsx(qu,{children:"Leistung"}),v.jsx("div",{className:"grid gap-4 md:grid-cols-1",children:v.jsx(Iw,{})}),v.jsx("div",{className:"mt-4",children:v.jsx(Ow,{})}),v.jsx("div",{className:"mt-4",children:v.jsx(Aw,{})})]}),v.jsxs("section",{children:[v.jsx(qu,{children:"Bereiche"}),v.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[v.jsx(Ii,{icon:$c,title:"Auftragsbuch",value:f!=null&&f.available?I:"—",unit:I===1?"Vorschlag":"Vorschläge",tone:f?U>0||I>0?"warn":"ok":"loading",hint:U>0?`${U} Karte${U===1?"":"n"} wartet auf deine Antwort`:I>0?`${I} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>n("auftraege")}),v.jsx(Ii,{icon:Vm,title:"Modelle",value:b,unit:"warm",tone:b>0?"ok":"muted",hint:q?`Hirn: ${q}`:"Kein Hermes-Modell geladen",onClick:()=>n("models")}),v.jsx(Ii,{icon:Wm,title:"Dienste",value:i?`${C}/${L}`:"…",unit:"laufen",tone:i?N>0?"warn":"ok":"loading",hint:J?`Ausfall: ${J}`:"Alle Dienste online",onClick:()=>Il("maintenance")}),v.jsx(Ii,{icon:Wc,title:"Updates",value:l?F>0?F:"0":"…",unit:F>0?"bereit":"aktuell",tone:l?F>0?"warn":"ok":"loading",hint:F>0?`Verfügbar: ${de}`:"Alles auf dem neuesten Stand",onClick:()=>Il("maintenance")}),v.jsx(Ii,{icon:Hc,title:"Verbinden",value:c?`${Y}/${O.length}`:"…",unit:"Leitungen",tone:c?Y===O.length?"ok":"warn":"loading",hint:Q?`Gestört: ${Q}`:"Hermes Desktop & IDEs bereit",onClick:()=>n("connect")})]})]})]}),v.jsxs("div",{className:"space-y-6",children:[v.jsx($w,{problems:p.problems,pendingCount:F,openAuftraege:I,blockedIdeen:U,busy:w,onRepair:S,onNavigate:n}),v.jsxs("section",{children:[v.jsx(qu,{children:"Werkzeuge & Diagnose"}),v.jsx(Vw,{agent:a,svcErrors:N,onNavigate:n})]})]})]}),x]})}function qu({children:n}){return v.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:n})}function Bw({verdict:n,memory:r,warns:i,problems:l}){const a=i.length?`${i[0].label}: ${i[0].detail}${i.length>1?` (+${i.length-1} weitere)`:""}`:r.status==="full"?r.text:"Nichts Schlimmes — nur ein Hinweis.",c=l.length?`${l[0].label}: ${l[0].detail}${l.length>1?` (+${l.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",f={loading:{ring:"border-border/60 bg-card/45",icon:Vc,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:c1,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:xc,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:a},problem:{ring:"border-red-500/50 bg-red-500/5",icon:xc,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:c}}[n],h=f.icon,p={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[r.status],m={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[r.status];return v.jsxs("div",{className:Ye("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",f.ring),children:[v.jsxs("div",{className:"flex items-center gap-3",children:[v.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:v.jsx(h,{className:Ye("h-6 w-6",f.iconCls)})}),v.jsxs("div",{className:"min-w-0",children:[v.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:f.title}),v.jsx("p",{className:"text-xs text-muted-foreground",children:f.sub})]})]}),v.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[v.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[v.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[v.jsx(u1,{className:"h-3.5 w-3.5"})," Speicher"]}),v.jsx("span",{className:Ye("font-mono font-bold",p),children:r.status==="unknown"?"—":`${r.usedGb.toFixed(1)} / ${r.totalGb.toFixed(1)} GB`})]}),v.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:v.jsx("div",{className:Ye("h-full rounded-full transition-all duration-500",m),style:{width:`${r.pct}%`}})})]})]})}function $w({problems:n,pendingCount:r,openAuftraege:i,blockedIdeen:l,busy:a,onRepair:c,onNavigate:f}){const h=r>0,p=i>0,m=l>0,x=n.length===0&&!h&&!p&&!m;return v.jsx("div",{className:"h-full flex flex-col justify-between",children:x?v.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[v.jsx(r1,{className:"h-5 w-5 shrink-0 text-emerald-400"}),v.jsxs("div",{children:[v.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),v.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):v.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[n.map(y=>v.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[v.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[v.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:v.jsx(y.icon,{className:"h-4.5 w-4.5"})}),v.jsxs("div",{className:"min-w-0 flex-1",children:[v.jsx("p",{className:"text-sm font-bold text-foreground",children:y.label}),v.jsx("p",{className:"truncate text-xs text-muted-foreground",children:y.detail})]})]}),y.repair&&v.jsxs("button",{onClick:()=>y.repair&&c(y.id,y.repair),disabled:!!a[y.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[a[y.id]?v.jsx(Vc,{className:"h-3.5 w-3.5 animate-spin"}):v.jsx(k1,{className:"h-3.5 w-3.5"}),y.repair.label]})]},y.id)),m&&v.jsxs("button",{onClick:()=>f("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[v.jsxs("div",{className:"flex items-center gap-3",children:[v.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:v.jsx(Hm,{className:"h-4.5 w-4.5"})}),v.jsxs("div",{children:[v.jsxs("p",{className:"text-sm font-bold text-foreground",children:[l," Karte",l===1?"":"n"," braucht deine Antwort"]}),v.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),v.jsx(Oi,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),p&&v.jsxs("button",{onClick:()=>f("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[v.jsxs("div",{className:"flex items-center gap-3",children:[v.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:v.jsx($c,{className:"h-4.5 w-4.5"})}),v.jsxs("div",{children:[v.jsxs("p",{className:"text-sm font-bold text-foreground",children:[i," Vorschl",i===1?"ag":"äge"," im Auftragsbuch"]}),v.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),v.jsx(Oi,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),h&&v.jsxs("button",{onClick:()=>Il("maintenance"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[v.jsxs("div",{className:"flex items-center gap-3",children:[v.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:v.jsx(Wc,{className:"h-4.5 w-4.5"})}),v.jsxs("div",{children:[v.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Update",r===1?"":"s"," bereit"]}),v.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),v.jsx(Oi,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function Vw({agent:n,svcErrors:r,onNavigate:i}){const l=[{label:"Hermes Agent",status:n?n.gateway_reachable?"Bereit":"Offline":"…",tone:n?n.gateway_reachable?"ok":"alert":"loading",action:()=>i("agent")},{label:"Konsole (Box-Shell)",status:n?n.box_console_reachable?"Bereit":"Offline":"…",tone:n?n.box_console_reachable?"ok":"warn":"loading",action:()=>i("konsole")},{label:"Systemlogs & Diagnose",status:r>0?`${r} Fehler`:"Keine Fehler",tone:r>0?"alert":"ok",action:()=>Il("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>i("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>i("chronik")}];return v.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:v.jsx("div",{className:"divide-y divide-border/20",children:l.map((a,c)=>{const f={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[a.tone];return v.jsxs("button",{onClick:a.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[v.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:a.label}),v.jsxs("div",{className:"flex items-center gap-2",children:[v.jsx("span",{className:Ye("text-[10px] font-semibold font-mono",a.tone==="ok"?"text-emerald-400":a.tone==="warn"?"text-amber-400":a.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:a.status}),v.jsx("span",{className:Ye("h-1.5 w-1.5 rounded-full",f)})]})]},c)})})})}const Hw=H.lazy(()=>Nt(()=>import("./ModelsView-BM7QJHLl.js"),__vite__mapDeps([14,15,16,17,3,9,18,19])).then(n=>({default:n.ModelsView}))),Ww=H.lazy(()=>Nt(()=>import("./ConnectView-1pPeysE2.js"),__vite__mapDeps([20,6,18,5])).then(n=>({default:n.ConnectView}))),Qw=H.lazy(()=>Nt(()=>import("./AgentView-B0wsg8uQ.js"),__vite__mapDeps([21,8,4])).then(n=>({default:n.AgentView}))),Kw=H.lazy(()=>Nt(()=>import("./KonsoleView-50ZTmnVb.js"),__vite__mapDeps([22,8,1])).then(n=>({default:n.KonsoleView}))),qw=H.lazy(()=>Nt(()=>import("./GuideView-DYdOo_ra.js"),__vite__mapDeps([23,17,19,4])).then(n=>({default:n.GuideView}))),Gw=H.lazy(()=>Nt(()=>import("./AuftragsbuchView-Ca4tUml_.js"),__vite__mapDeps([24,25,1,6,7,18])).then(n=>({default:n.AuftragsbuchView}))),Yw=H.lazy(()=>Nt(()=>import("./IdeenView-C8BKiJHT.js"),__vite__mapDeps([26,25,16,7,19,18,2,1])).then(n=>({default:n.IdeenView}))),Zw=H.lazy(()=>Nt(()=>import("./SkillsView-BPaqT2zI.js"),__vite__mapDeps([27,15,5])).then(n=>({default:n.SkillsView}))),Xw=H.lazy(()=>Nt(()=>import("./ChronikView-CBBlq8pa.js"),[]).then(n=>({default:n.ChronikView}))),Jw=H.lazy(()=>Nt(()=>import("./WissenView-zIpzRZKj.js"),__vite__mapDeps([28,13,1,3,2])).then(n=>({default:n.WissenView}))),ek=n=>{const r=n.system;return r==="wartung"||r==="logs"?{system:r}:{}},$s=Fx({component:_w,validateSearch:ek,notFoundComponent:()=>v.jsx(to,{titel:"Diese Seite gibt es nicht",text:"Der Link zeigt auf eine Ansicht, die Mission Control nicht kennt. Vielleicht stammt er aus einer älteren Fassung."})}),tk=eo({getParentRoute:()=>$s,path:"/",beforeLoad:()=>{throw ym({to:"/cockpit"})}});function ar(n,r){return eo({getParentRoute:()=>$s,path:n,component:r,errorComponent:({error:i,reset:l})=>v.jsx(to,{titel:"Diese Ansicht ist abgestürzt",text:"Der Rest von Mission Control läuft weiter. Erneut versuchen — oder in eine andere Ansicht wechseln.",fehler:i,onErneut:l})})}function nk(){const n=Al();return v.jsx(Uw,{onNavigate:r=>{const i=As.find(l=>l.id===r);i&&n({to:i.pfad})}})}const rk=ar("/cockpit",()=>v.jsx(nk,{})),sk=ar("/auftraege",()=>v.jsx(Gw,{})),ik=ar("/skills",()=>v.jsx(Zw,{})),ok=ar("/chronik",()=>v.jsx(Xw,{})),lk=ar("/verbinden",()=>v.jsx(Ww,{})),ak=ar("/konsole",()=>v.jsx(Kw,{})),uk=ar("/anleitung",()=>v.jsx(qw,{})),ck=ar("/agent",()=>v.jsx(Qw,{})),dk=eo({getParentRoute:()=>$s,path:"/ideen",validateSearch:n=>typeof n.offen=="string"&&n.offen?{offen:n.offen}:{},component:()=>v.jsx(Yw,{}),errorComponent:({error:n,reset:r})=>v.jsx(to,{titel:"Die Ideen-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),fk=eo({getParentRoute:()=>$s,path:"/wissen",validateSearch:n=>typeof n.datei=="string"&&n.datei?{datei:n.datei}:{},component:()=>v.jsx(Jw,{}),errorComponent:({error:n,reset:r})=>v.jsx(to,{titel:"Die Wissens-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),hk=eo({getParentRoute:()=>$s,path:"/modelle",validateSearch:n=>{const r=n.reiter;return r==="werkbank"||r==="routing"||r==="discover"?{reiter:r}:{}},component:()=>v.jsx(Hw,{}),errorComponent:({error:n,reset:r})=>v.jsx(to,{titel:"Der Modell-Manager ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),pk=$s.addChildren([tk,rk,dk,sk,ik,ok,fk,lk,ak,uk,hk,ck]),mk=Wx({routeTree:pk,scrollRestoration:!0,defaultPreload:!1});class gk extends Ur.Component{constructor(){super(...arguments);dl(this,"state",{error:null})}static getDerivedStateFromError(i){return{error:i}}componentDidCatch(i,l){console.error("Unbehandelter UI-Fehler:",i,l.componentStack)}render(){return this.state.error?v.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:v.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[v.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),v.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),v.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const yk=Object.fromEntries(As.map(n=>[n.id,n.pfad]));function vk(){const n=window.location.hash.replace(/^#\/?/,"");if(!n)return;const r=yk[n];r&&window.history.replaceState(null,"",r+window.location.search)}const Gu="mc_neuladen_wegen_version";function xk(){window.addEventListener("vite:preloadError",n=>{sessionStorage.getItem(Gu)||(n.preventDefault(),sessionStorage.setItem(Gu,"1"),window.location.reload())}),window.addEventListener("load",()=>{window.setTimeout(()=>sessionStorage.removeItem(Gu),5e3)})}vk();xk();const wk=new Wv({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});xv.createRoot(document.getElementById("root")).render(v.jsx(Ur.StrictMode,{children:v.jsx(gk,{children:v.jsx(Qv,{client:wk,children:v.jsx(qx,{router:mk})})})}));export{Vk as $,Dm as A,n1 as B,r1 as C,zk as D,l1 as E,pw as F,Oi as G,u1 as H,fw as I,bk as J,vc as K,Vc as L,e1 as M,Ok as N,Wm as O,Vm as P,Hc as Q,y1 as R,w1 as S,xc as T,p1 as U,a1 as V,k1 as W,Qm as X,x1 as Y,uw as Z,cw as _,Mk as a,$c as a0,Ek as a1,Hm as a2,Ji as a3,Zu as a4,Ui as a5,$v as a6,st as a7,wt as a8,Xp as a9,Ae as aa,Tk as ab,Bk as ac,Pk as ad,d1 as ae,Wc as af,c1 as ag,Rk as ah,Ur as ai,qp as aj,jk as ak,Nk as al,h1 as am,rg as an,Sk as ao,As as ap,C1 as aq,bx as ar,Xi as as,gv as at,Ye as b,_e as c,Ck as d,t1 as e,sg as f,Lk as g,$l as h,Ik as i,v as j,Pw as k,Uk as l,Fk as m,Le as n,ys as o,_1 as p,Fe as q,H as r,_k as s,o1 as t,Lc as u,$k as v,Dk as w,hw as x,Ak as y,Al as z}; diff --git a/frontend/dist/assets/index-DErfN6d3.css b/frontend/dist/assets/index-DErfN6d3.css new file mode 100644 index 0000000..8f36ff3 --- /dev/null +++ b/frontend/dist/assets/index-DErfN6d3.css @@ -0,0 +1 @@ +/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[99\]{z-index:99}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[70vh\]{height:70vh}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-border,.bg-border\/40{background-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.bg-border\/40{background-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.bg-card,.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover,.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-red-400{color:var(--color-red-400)}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2")}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem;color-scheme:dark}html,body,#root{height:100dvh;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} diff --git a/frontend/dist/assets/index-wthGkuS_.js b/frontend/dist/assets/index-wthGkuS_.js new file mode 100644 index 0000000..0d91d50 --- /dev/null +++ b/frontend/dist/assets/index-wthGkuS_.js @@ -0,0 +1 @@ +import{at as r}from"./index-Bb8GyPHo.js";var o=r();export{o as r}; diff --git a/frontend/dist/assets/layers-DCwnbkXd.js b/frontend/dist/assets/layers-y2iqT_Gl.js similarity index 91% rename from frontend/dist/assets/layers-DCwnbkXd.js rename to frontend/dist/assets/layers-y2iqT_Gl.js index 41baafa..d9171d1 100644 --- a/frontend/dist/assets/layers-DCwnbkXd.js +++ b/frontend/dist/assets/layers-y2iqT_Gl.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-BYlMs6Dj.js";/** +import{c as a}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/power-BF5yiJ4i.js b/frontend/dist/assets/power-BF5yiJ4i.js new file mode 100644 index 0000000..abf2d37 --- /dev/null +++ b/frontend/dist/assets/power-BF5yiJ4i.js @@ -0,0 +1,6 @@ +import{c as o}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a=o("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);export{a as P}; diff --git a/frontend/dist/assets/refresh-cw-C3saW9zg.js b/frontend/dist/assets/refresh-cw-C3saW9zg.js new file mode 100644 index 0000000..de44863 --- /dev/null +++ b/frontend/dist/assets/refresh-cw-C3saW9zg.js @@ -0,0 +1,6 @@ +import{c as e}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t=e("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);export{t as R}; diff --git a/frontend/dist/assets/rotate-ccw-Dx0bZ_kA.js b/frontend/dist/assets/rotate-ccw-Dx0bZ_kA.js deleted file mode 100644 index 5c1e8de..0000000 --- a/frontend/dist/assets/rotate-ccw-Dx0bZ_kA.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as t}from"./index-BYlMs6Dj.js";/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=t("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);export{e as R}; diff --git a/frontend/dist/assets/search-CKPXZNvI.js b/frontend/dist/assets/search-CKPXZNvI.js new file mode 100644 index 0000000..45e91fe --- /dev/null +++ b/frontend/dist/assets/search-CKPXZNvI.js @@ -0,0 +1,6 @@ +import{c}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r=c("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);export{r as S}; diff --git a/frontend/dist/assets/shield-DNyHWe3b.js b/frontend/dist/assets/shield-DNyHWe3b.js new file mode 100644 index 0000000..43b3ae1 --- /dev/null +++ b/frontend/dist/assets/shield-DNyHWe3b.js @@ -0,0 +1,6 @@ +import{c as a}from"./index-Bb8GyPHo.js";/** + * @license lucide-react v0.460.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c=a("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);export{c as S}; diff --git a/frontend/dist/assets/zap-B_VSdjfC.js b/frontend/dist/assets/zap-CsukfbMs.js similarity index 96% rename from frontend/dist/assets/zap-B_VSdjfC.js rename to frontend/dist/assets/zap-CsukfbMs.js index 94aebfc..bf8baa7 100644 --- a/frontend/dist/assets/zap-B_VSdjfC.js +++ b/frontend/dist/assets/zap-CsukfbMs.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-BYlMs6Dj.js";/** +import{c as a}from"./index-Bb8GyPHo.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/index.html b/frontend/dist/index.html index d0ff2fa..2371bcc 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -7,8 +7,8 @@ Mission Control 2.0 - - + +
diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 55715d3..510336e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -12,6 +12,7 @@ "@fontsource/jetbrains-mono": "^5.2.8", "@fontsource/space-grotesk": "^5.2.10", "@tanstack/react-query": "^5.101.1", + "@tanstack/react-router": "^1.170.32", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3-force": "^3.0.0", @@ -2340,6 +2341,19 @@ "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, + "node_modules/@tanstack/history": { + "version": "1.162.1", + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.162.1.tgz", + "integrity": "sha512-DR9t6lfLVdrjgCwpglrR9DR7Ok8/HlXjcOE+goWXF3zyuLUO/ug7vMbSFxTqrQTtbRghJfyhmIZ0S6LhPIy44w==", + "license": "MIT", + "engines": { + "node": ">=20.19" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@tanstack/query-core": { "version": "5.101.1", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.1.tgz", @@ -2366,6 +2380,76 @@ "react": "^18 || ^19" } }, + "node_modules/@tanstack/react-router": { + "version": "1.170.32", + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.170.32.tgz", + "integrity": "sha512-SIpxvaTKco100a5ZR3ePmArbhtm3XOx+w1dpGYY9gxHDta4iXSKDdQuhLonwJbIMkVJsU1rwXf0UDHMrF/1snw==", + "license": "MIT", + "dependencies": { + "@tanstack/history": "1.162.1", + "@tanstack/react-store": "^0.9.3", + "@tanstack/router-core": "1.171.27", + "isbot": "^5.1.22" + }, + "engines": { + "node": ">=20.19" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=18.0.0 || >=19.0.0", + "react-dom": ">=18.0.0 || >=19.0.0" + } + }, + "node_modules/@tanstack/react-store": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.9.3.tgz", + "integrity": "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==", + "license": "MIT", + "dependencies": { + "@tanstack/store": "0.9.3", + "use-sync-external-store": "^1.6.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/router-core": { + "version": "1.171.27", + "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.171.27.tgz", + "integrity": "sha512-wDwSLvoLwIaNcnx9UNcN9Mb7Y8QwCYq1U1RQZwyN186gnkIoIYI2SOxy8VqH1vFigbkHkk4FmwMAQlghPgDK2g==", + "license": "MIT", + "dependencies": { + "@tanstack/history": "1.162.1", + "cookie-es": "^3.0.0", + "seroval": "^1.6.2", + "seroval-plugins": "^1.6.2" + }, + "engines": { + "node": ">=20.19" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/store": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.9.3.tgz", + "integrity": "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@testing-library/dom": { "version": "10.4.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", @@ -3354,6 +3438,12 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie-es": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-3.1.1.tgz", + "integrity": "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==", + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -4401,6 +4491,15 @@ "dev": true, "license": "MIT" }, + "node_modules/isbot": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/isbot/-/isbot-5.2.2.tgz", + "integrity": "sha512-iQcBXcd+Rv/pkubRyGh2utW2j1oPG5hZY6TUhVPpqK4G+o3IbxpJNx04hgksjc/N7GK5pEorUxDeg31cFgEk/w==", + "license": "Unlicense", + "engines": { + "node": ">=18" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5568,6 +5667,27 @@ "semver": "bin/semver.js" } }, + "node_modules/seroval": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.6.4.tgz", + "integrity": "sha512-LErWMNS2RRFdu2RMA5u/PA59/IWs0XsikyEXGQ2/36iEWFrdG0ABmg17E17cikrv76891kOAMq3TkTFXpwAHXw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval-plugins": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.6.4.tgz", + "integrity": "sha512-R0f1U9hmn38+dFMz6b6ab8lwucmw4AtiY7St+JPWudy1dm+Bs3g884nyrsH9Cy6rKpZKLYayXuMda9GZ/fl8JQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index e7b9f5e..5033563 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,6 +17,7 @@ "@fontsource/jetbrains-mono": "^5.2.8", "@fontsource/space-grotesk": "^5.2.10", "@tanstack/react-query": "^5.101.1", + "@tanstack/react-router": "^1.170.32", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3-force": "^3.0.0", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index ebb3284..7336a58 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,29 +1,22 @@ -import { useEffect, useState, useCallback, lazy, Suspense } from "react" +import { useEffect, useState, useCallback, Suspense, lazy } from "react" +import { Link, Outlet, useNavigate, useRouterState } from "@tanstack/react-router" import { Command as CommandIcon, ChevronLeft, ChevronRight, Loader2, Menu, X } from "lucide-react" -import { NAV, type ViewId } from "@/nav" -import { CommandPalette } from "@/components/CommandPalette" +import { NAV, navFuerPfad } from "@/nav" import { ExpertToggle } from "@/components/ExpertToggle" -import { SystemDrawer } from "@/components/SystemDrawer" + import { useHealth, useSystemStatus } from "@/lib/queries" import type { Health, SystemStatus } from "@/lib/api" import { useMetricsFeeder } from "@/lib/metricsStore" import { useEventStream } from "@/lib/events" import { cn } from "@/lib/utils" -import { CockpitView } from "@/views/cockpit/CockpitView" -// Code-Splitting: nur das Cockpit (Startseite) lädt sofort, jede weitere View -// kommt als eigenes Chunk erst beim ersten Aufruf — kleineres Start-Bundle. -const ModelsView = lazy(() => import("@/views/ModelsView").then((m) => ({ default: m.ModelsView }))) -const ConnectView = lazy(() => import("@/views/ConnectView").then((m) => ({ default: m.ConnectView }))) -const AgentView = lazy(() => import("@/views/AgentView").then((m) => ({ default: m.AgentView }))) -const KonsoleView = lazy(() => import("@/views/KonsoleView").then((m) => ({ default: m.KonsoleView }))) -const GuideView = lazy(() => import("@/views/GuideView").then((m) => ({ default: m.GuideView }))) -const AuftragsbuchView = lazy(() => import("@/views/AuftragsbuchView").then((m) => ({ default: m.AuftragsbuchView }))) -const IdeenView = lazy(() => import("@/views/IdeenView").then((m) => ({ default: m.IdeenView }))) -const SkillsView = lazy(() => import("@/views/SkillsView").then((m) => ({ default: m.SkillsView }))) -const ChronikView = lazy(() => import("@/views/ChronikView").then((m) => ({ default: m.ChronikView }))) - -const WissenView = lazy(() => import("@/views/WissenView").then((m) => ({ default: m.WissenView }))) +// Beide sind beim Start UNSICHTBAR und gehoeren deshalb nicht ins Start-Buendel (P2): +// die Schublade zieht Wartung, Logs, Einstellungen und den Update-Dialog mit, die Palette +// bringt cmdk mit. Zusammen waren das rund 30 kB gzip, die niemand beim ersten Bild braucht. +// Der Router kostete P2 ungefaehr dasselbe — so bleibt das Buendel-Budget der Ampel scharf, +// statt es einfach hochzusetzen. +const SystemDrawer = lazy(() => import("@/components/SystemDrawer").then((m) => ({ default: m.SystemDrawer }))) +const CommandPalette = lazy(() => import("@/components/CommandPalette").then((m) => ({ default: m.CommandPalette }))) // Dezenter Lade-Zustand während eine View nachgeladen wird (lokales Netz: kaum sichtbar). function ViewLoading() { @@ -37,22 +30,50 @@ function ViewLoading() { // Tastatur-Hinweis passend zum Betriebssystem (Palette hört auf Ctrl UND Cmd). const IS_MAC = /Mac|iPhone|iPad/.test(navigator.platform) -export default function App() { +/** + * Die Shell: Schiene, Kopfzeile, System-Schublade — alles, was über JEDER Ansicht liegt. + * + * v3-Umbau P2 (28.08.2026): Hier stand vorher der Ansichts-Umschalter + * (`{view === "ideen" && }`), gespeist aus einem `useState`, das am URL-Hash + * hing. Das funktionierte für Reload und Lesezeichen — aber nur auf View-Ebene. Jetzt + * rendert der Router in den ``, und der Zustand DARUNTER (offene Idee, Reiter, + * Schublade) liegt in echten Suchparametern. Siehe app/router.tsx. + */ +export function Shell() { useMetricsFeeder() // sammelt Live-Verlauf global, unabhängig vom aktiven Tab useEventStream() // SSE-Invalidation-Bus (P3a): sofortige Updates, Poller nur Netz - // View ist im URL-Hash (#models) verankert → Reload/Teilen/Cmd-Klick funktionieren. - const [view, setView] = useState(() => { - const h = window.location.hash.slice(1) as ViewId - return NAV.some((n) => n.id === h) ? h : "dashboard" + + const navigate = useNavigate() + const pfad = useRouterState({ select: (s) => s.location.pathname }) + // Die Schublade liegt über allem und gehört deshalb in die Wurzel-Suche (?system=). + // Vorher war sie lokaler State und wurde per CustomEvent von außen aufgestoßen — + // nicht teilbar, nicht reload-fest. + const drawerTab = useRouterState({ + select: (s) => (s.location.search as { system?: "wartung" | "logs" }).system, }) - const navigate = useCallback((v: ViewId) => { - if (window.location.hash.slice(1) === v) setView(v) - else window.location.hash = v - }, []) + const [sidebarCollapsed, setSidebarCollapsed] = useState(() => localStorage.getItem("mc_sidebar_collapsed") === "true") const [mobileNavOpen, setMobileNavOpen] = useState(false) - const [drawerOpen, setDrawerOpen] = useState(false) - const [drawerTab, setDrawerTab] = useState<"maintenance" | "logs">("maintenance") + // Die Palette wird beim ERSTEN Ruf geladen und bleibt dann gemountet — sie haelt ihren + // eigenen Offen-Zustand und soll nicht bei jedem Strg+K neu nachgeladen werden. + const [paletteBereit, setPaletteBereit] = useState(false) + + useEffect(() => { + const wecken = (e: KeyboardEvent) => { + if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k") setPaletteBereit(true) + } + const rufen = () => setPaletteBereit(true) + document.addEventListener("keydown", wecken) + window.addEventListener("mc-palette-open", rufen) + return () => { + document.removeEventListener("keydown", wecken) + window.removeEventListener("mc-palette-open", rufen) + } + }, []) + + const schubladeSetzen = useCallback((tab: "wartung" | "logs" | undefined) => { + navigate({ to: ".", search: (alt: Record) => ({ ...alt, system: tab }), replace: true }) + }, [navigate]) // isError mitnehmen: React Query behält bei Fehlern die letzten Daten — ohne den // Fehler-Blick zeigte die Sidebar bei totem Backend ewig den letzten grünen Stand. @@ -63,38 +84,33 @@ export default function App() { document.documentElement.classList.add("dark") }, []) + // Zwei Alt-Kanäle aus der Zeit vor dem Router. Sie bleiben in P2 bestehen, damit die + // Aufrufer (Cockpit-Kacheln, Agent-Ansicht, Auftragsbuch) unverändert weiterlaufen — + // gefüttert wird jetzt aber der Router, nicht mehr ein lokales useState. + // In P3 lösen Store und Palette diese Kanäle ganz ab (Befund B-08). useEffect(() => { const handleOpen = (e: Event) => { - const customEvent = e as CustomEvent - setDrawerTab(customEvent.detail?.tab || "maintenance") - setDrawerOpen(true) + const tab = (e as CustomEvent).detail?.tab + schubladeSetzen(tab === "logs" ? "logs" : "wartung") } window.addEventListener("open-system-drawer", handleOpen) return () => window.removeEventListener("open-system-drawer", handleOpen) - }, []) + }, [schubladeSetzen]) useEffect(() => { const handleNav = (e: Event) => { - const v = (e as CustomEvent).detail?.view as ViewId | undefined - if (v) navigate(v) + const v = (e as CustomEvent).detail?.view as string | undefined + const ziel = NAV.find((n) => n.id === v) + if (ziel) navigate({ to: ziel.pfad }) } window.addEventListener("mc-navigate", handleNav) return () => window.removeEventListener("mc-navigate", handleNav) }, [navigate]) - useEffect(() => { - const onHash = () => { - const h = window.location.hash.slice(1) as ViewId - if (NAV.some((n) => n.id === h)) setView(h) - } - window.addEventListener("hashchange", onHash) - return () => window.removeEventListener("hashchange", onHash) - }, []) - // Mobile-Navigation schließt nach jedem View-Wechsel (ein Tipp = ein Ziel). - useEffect(() => { setMobileNavOpen(false) }, [view]) + useEffect(() => { setMobileNavOpen(false) }, [pfad]) - const active = NAV.find((n) => n.id === view)! + const active = navFuerPfad(pfad) return (
@@ -112,8 +128,17 @@ export default function App() { }} /> - - setDrawerOpen(false)} defaultTab={drawerTab} /> + {/* Erst laden, wenn wirklich gebraucht — ohne Platzhalter, beide sind Overlays. */} + + {paletteBereit && } + {drawerTab && ( + schubladeSetzen(undefined)} + defaultTab={drawerTab === "logs" ? "logs" : "maintenance"} + /> + )} + {/* Sidebar (Desktop, ab md) */}
@@ -186,10 +211,7 @@ export default function App() {
@@ -223,16 +234,18 @@ export default function App() { // Sidebar-Inhalt (Logo, Navigation, Status-Fuß) — geteilt zwischen Desktop-Leiste // und Mobile-Off-Canvas, damit beide immer identisch bleiben. function SidebarContent({ - collapsed, onToggleCollapse, onClose, view, health, backendDown, sysStatus, + collapsed, onToggleCollapse, onClose, pfad, health, backendDown, sysStatus, }: { collapsed: boolean onToggleCollapse?: () => void onClose?: () => void - view: ViewId + pfad: string health: Health | undefined backendDown: boolean sysStatus: SystemStatus | undefined }) { + const aktiv = navFuerPfad(pfad) + return ( <>
@@ -272,6 +285,7 @@ function SidebarContent({ return NAV.map((item) => { const showGroupHeader = item.group !== lastGroup lastGroup = item.group + const istAktiv = aktiv?.id === item.id return (
{showGroupHeader && ( @@ -283,14 +297,14 @@ function SidebarContent({
) )} - +
) }) diff --git a/frontend/src/app/router.tsx b/frontend/src/app/router.tsx new file mode 100644 index 0000000..3fe48bb --- /dev/null +++ b/frontend/src/app/router.tsx @@ -0,0 +1,187 @@ +import { lazy } from "react" +import { + createRootRoute, + createRoute, + createRouter, + redirect, + useNavigate, +} from "@tanstack/react-router" +import { Shell } from "@/App" +import { NAV } from "@/nav" +import { RouteFehler } from "@/components/RouteFehler" +import { CockpitView } from "@/views/cockpit/CockpitView" + +// Routenbaum (v3-Umbau P2). +// +// Bewusst code-based statt dateibasiert: Es sind zwölf Routen, und sie stehen dadurch +// alle an EINER Stelle — inklusive dem, was in den Suchparametern erlaubt ist. Eine +// Datei-Konvention würde diese Übersicht auf zwölf Dateien verteilen, ohne dass jemand +// etwas davon hätte. +// +// Code-Splitting bleibt exakt wie bisher: die Views hängen an React.lazy, das Cockpit als +// Startseite lädt eifrig. Kein Chunk verschiebt sich durch den Router. +const ModelsView = lazy(() => import("@/views/ModelsView").then((m) => ({ default: m.ModelsView }))) +const ConnectView = lazy(() => import("@/views/ConnectView").then((m) => ({ default: m.ConnectView }))) +const AgentView = lazy(() => import("@/views/AgentView").then((m) => ({ default: m.AgentView }))) +const KonsoleView = lazy(() => import("@/views/KonsoleView").then((m) => ({ default: m.KonsoleView }))) +const GuideView = lazy(() => import("@/views/GuideView").then((m) => ({ default: m.GuideView }))) +const AuftragsbuchView = lazy(() => import("@/views/AuftragsbuchView").then((m) => ({ default: m.AuftragsbuchView }))) +const IdeenView = lazy(() => import("@/views/IdeenView").then((m) => ({ default: m.IdeenView }))) +const SkillsView = lazy(() => import("@/views/SkillsView").then((m) => ({ default: m.SkillsView }))) +const ChronikView = lazy(() => import("@/views/ChronikView").then((m) => ({ default: m.ChronikView }))) +const WissenView = lazy(() => import("@/views/WissenView").then((m) => ({ default: m.WissenView }))) + +// ── Suchparameter ─────────────────────────────────────────────────────────── +// Regel für das, was hier steht: Alles, was ein Kollege per Link teilen können soll und +// was einen Reload überleben muss. Nichts Flüchtiges (Hover, Entwürfe im Eingabefeld). + +/** Wurzel: die System-Schublade. Gehört hierher, weil sie über JEDER Ansicht liegt. */ +export interface WurzelSuche { + system?: "wartung" | "logs" +} + +const wurzelSuche = (roh: Record): WurzelSuche => { + const s = roh.system + return s === "wartung" || s === "logs" ? { system: s } : {} +} + +export const rootRoute = createRootRoute({ + component: Shell, + validateSearch: wurzelSuche, + notFoundComponent: () => ( + + ), +}) + +// Wurzelpfad → Cockpit. `redirect` statt einer Kopie der Startseite: sonst gäbe es +// zwei URLs für denselben Inhalt und die aktive Markierung in der Sidebar flackert. +const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/", + beforeLoad: () => { + throw redirect({ to: "/cockpit" }) + }, +}) + +/** Eine Route je Ansicht — kurze Schreibweise, weil sich nur Pfad und Bauteil ändern. + * Generisch über den Pfad, damit TanStack Router den Literal-Typ behält: mit + * `path: string` verlöre `navigate({ to: "/cockpit" })` seine Typprüfung. */ +function ansicht

(path: P, component: () => React.ReactNode) { + return createRoute({ + getParentRoute: () => rootRoute, + path, + component, + // Fehlergrenze PRO Route (Befund B-13): Vorher hing eine einzige Grenze in main.tsx + // um die ganze App — ein Renderfehler in den Modellen nahm Cockpit, Konsole und + // Chronik mit. Jetzt bleiben Schiene, Kopfzeile und Statusanzeige stehen. + errorComponent: ({ error, reset }) => ( + + ), + }) +} + +// Das Cockpit verlinkt in andere Bereiche und bekam den Sprung bisher als Prop von der +// App gereicht. Jetzt kommt er aus dem Router — die Ansicht selbst bleibt unverändert. +function CockpitSeite() { + const navigate = useNavigate() + return { + const ziel = NAV.find((n) => n.id === v) + if (ziel) navigate({ to: ziel.pfad }) + }} /> +} + +const cockpitRoute = ansicht("/cockpit", () => ) +const auftraegeRoute = ansicht("/auftraege", () => ) +const skillsRoute = ansicht("/skills", () => ) +const chronikRoute = ansicht("/chronik", () => ) +const verbindenRoute = ansicht("/verbinden", () => ) +const konsoleRoute = ansicht("/konsole", () => ) +const anleitungRoute = ansicht("/anleitung", () => ) +const agentRoute = ansicht("/agent", () => ) + +/** Ideen: `?offen=` hält die aufgeklappte Karte fest (Befund B-05). + * Vorher lag das in `useState` — wer während eines laufenden Workers neu lud, + * verlor seinen Platz in der Liste. */ +export interface IdeenSuche { + offen?: string +} +const ideenRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/ideen", + validateSearch: (roh: Record): IdeenSuche => + typeof roh.offen === "string" && roh.offen ? { offen: roh.offen } : {}, + component: () => , + errorComponent: ({ error, reset }) => ( + + ), +}) + +/** Wissen: `?datei=` macht jede Vault-Notiz verlinkbar. */ +export interface WissenSuche { + datei?: string +} +const wissenRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/wissen", + validateSearch: (roh: Record): WissenSuche => + typeof roh.datei === "string" && roh.datei ? { datei: roh.datei } : {}, + component: () => , + errorComponent: ({ error, reset }) => ( + + ), +}) + +/** Modelle: `?reiter=` — der Reiter war lokaler State und damit nicht teilbar. */ +export type ModellReiter = "werkbank" | "routing" | "discover" +export interface ModelleSuche { + reiter?: ModellReiter +} +const modelleRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/modelle", + validateSearch: (roh: Record): ModelleSuche => { + const r = roh.reiter + return r === "werkbank" || r === "routing" || r === "discover" ? { reiter: r } : {} + }, + component: () => , + errorComponent: ({ error, reset }) => ( + + ), +}) + +export const routeTree = rootRoute.addChildren([ + indexRoute, + cockpitRoute, + ideenRoute, + auftraegeRoute, + skillsRoute, + chronikRoute, + wissenRoute, + verbindenRoute, + konsoleRoute, + anleitungRoute, + modelleRoute, + agentRoute, +]) + +export const router = createRouter({ + routeTree, + // Ein LAN-Gerät: der Verlauf muss nicht scrollen-restaurieren, aber die Position + // oben zu haben ist beim Ansichtswechsel richtig. + scrollRestoration: true, + defaultPreload: false, +}) + +declare module "@tanstack/react-router" { + interface Register { + router: typeof router + } +} diff --git a/frontend/src/components/CommandPalette.tsx b/frontend/src/components/CommandPalette.tsx index 9e1fd75..c8767c0 100644 --- a/frontend/src/components/CommandPalette.tsx +++ b/frontend/src/components/CommandPalette.tsx @@ -1,9 +1,11 @@ import { useEffect, useState } from "react" import { Command } from "cmdk" -import { NAV, type ViewId } from "@/nav" +import { useNavigate } from "@tanstack/react-router" +import { NAV } from "@/nav" -export function CommandPalette({ onNavigate }: { onNavigate: (v: ViewId) => void }) { +export function CommandPalette() { const [open, setOpen] = useState(false) + const navigate = useNavigate() useEffect(() => { const onKey = (e: KeyboardEvent) => { @@ -16,6 +18,16 @@ export function CommandPalette({ onNavigate }: { onNavigate: (v: ViewId) => void return () => document.removeEventListener("keydown", onKey) }, []) + // Der „Suchen"-Knopf in der Kopfzeile (v3-Umbau P2, Befund B-09). + // Er baute vorher ein GEFÄLSCHTES Tastatur-Ereignis (`new KeyboardEvent("keydown", + // { metaKey: true })`) und feuerte es aufs Dokument, damit der Zuhörer oben anspringt. + // Jetzt ein eigener, ehrlicher Kanal. In P3 löst der Store auch den ab. + useEffect(() => { + const onOpen = () => setOpen(true) + window.addEventListener("mc-palette-open", onOpen) + return () => window.removeEventListener("mc-palette-open", onOpen) + }, []) + return ( void key={item.id} value={`${item.label} ${item.hint}`} onSelect={() => { - onNavigate(item.id) + navigate({ to: item.pfad }) setOpen(false) }} className="flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground" diff --git a/frontend/src/components/RouteFehler.tsx b/frontend/src/components/RouteFehler.tsx new file mode 100644 index 0000000..3a425de --- /dev/null +++ b/frontend/src/components/RouteFehler.tsx @@ -0,0 +1,61 @@ +import { AlertTriangle, RotateCcw } from "lucide-react" + +// Fehlerfläche EINER Ansicht (v3-Umbau P2, Befund B-13). +// +// Vorher hing genau eine Fehlergrenze in main.tsx um die gesamte App: Ein Renderfehler +// im Modell-Manager nahm Cockpit, Konsole und Chronik gleich mit — die Seite war weiß. +// Jetzt fängt jede Route für sich; Schiene, Kopfzeile und Statusanzeige bleiben stehen, +// und der Nutzer kann einfach woanders hin. +// +// Die Meldung sagt, was passiert ist und was man tun kann. Der technische Text steht +// aufklappbar darunter — nicht versteckt (man braucht ihn für einen Fehlerbericht), +// aber auch nicht als Erstes im Gesicht. +export function RouteFehler({ titel, text, fehler, onErneut }: { + titel: string + text: string + fehler?: unknown + onErneut?: () => void +}) { + const detail = fehler instanceof Error ? (fehler.stack || fehler.message) : fehler ? String(fehler) : null + + return ( +

+
+
+
+ +

{text}

+ +
+ {onErneut && ( + + )} + + Zum Cockpit + +
+ + {detail && ( +
+ + Technische Einzelheiten + +
+              {detail}
+            
+
+ )} +
+
+ ) +} diff --git a/frontend/src/components/SystemDrawer.tsx b/frontend/src/components/SystemDrawer.tsx index 5ad0838..c8f175a 100644 --- a/frontend/src/components/SystemDrawer.tsx +++ b/frontend/src/components/SystemDrawer.tsx @@ -311,9 +311,10 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst diff --git a/frontend/src/lib/hashUmleitung.test.ts b/frontend/src/lib/hashUmleitung.test.ts new file mode 100644 index 0000000..8d2af73 --- /dev/null +++ b/frontend/src/lib/hashUmleitung.test.ts @@ -0,0 +1,70 @@ +import { beforeEach, describe, expect, it } from "vitest" +import { hashUmleiten } from "./hashUmleitung" +import { NAV, navFuerPfad } from "@/nav" + +function adresseSetzen(url: string) { + window.history.replaceState(null, "", url) +} + +// Diese Brücke ist die einzige Verbindung zu Lesezeichen aus der Hash-Zeit. Sie sieht +// nach totem Code aus und wäre damit ein naheliegender Kandidat zum Wegräumen — die +// Tests machen sichtbar, was dabei kaputtginge. +describe("hashUmleiten()", () => { + beforeEach(() => adresseSetzen("/")) + + it("biegt jedes alte Hash-Lesezeichen auf seinen neuen Pfad", () => { + for (const eintrag of NAV) { + adresseSetzen("/#" + eintrag.id) + hashUmleiten() + expect(window.location.pathname, `#${eintrag.id}`).toBe(eintrag.pfad) + } + }) + + it("verträgt die Schreibweise mit Schrägstrich (#/models)", () => { + adresseSetzen("/#/models") + hashUmleiten() + expect(window.location.pathname).toBe("/modelle") + }) + + it("behält vorhandene Suchparameter", () => { + adresseSetzen("/?system=logs#models") + hashUmleiten() + expect(window.location.pathname).toBe("/modelle") + expect(window.location.search).toBe("?system=logs") + }) + + it("fasst einen unbekannten Hash nicht an", () => { + adresseSetzen("/cockpit#irgendwas") + hashUmleiten() + expect(window.location.pathname).toBe("/cockpit") + }) + + it("tut ohne Hash gar nichts", () => { + adresseSetzen("/modelle?reiter=routing") + hashUmleiten() + expect(window.location.pathname + window.location.search).toBe("/modelle?reiter=routing") + }) +}) + +describe("navFuerPfad()", () => { + it("findet den Eintrag zum exakten Pfad", () => { + expect(navFuerPfad("/modelle")?.id).toBe("models") + expect(navFuerPfad("/cockpit")?.id).toBe("dashboard") + }) + + // Damit /ideen/ die Sidebar weiterhin bei „Ideen" markiert und nicht ins Leere fällt. + it("ordnet Unterpfade dem übergeordneten Eintrag zu", () => { + expect(navFuerPfad("/ideen/id_9f3c")?.id).toBe("ideen") + }) + + it("liefert nichts für einen unbekannten Pfad", () => { + expect(navFuerPfad("/gibtsnicht")).toBeUndefined() + }) + + // Der Grund für die Längen-Sortierung: ein kurzer Pfad darf einen längeren nicht + // überstimmen, sonst gewinnt der erstbeste Präfix-Treffer. + it("nimmt bei mehreren Treffern den längsten Pfad", () => { + const treffer = navFuerPfad("/modelle") + expect(treffer?.pfad).toBe("/modelle") + }) +}) diff --git a/frontend/src/lib/hashUmleitung.ts b/frontend/src/lib/hashUmleitung.ts new file mode 100644 index 0000000..6f569af --- /dev/null +++ b/frontend/src/lib/hashUmleitung.ts @@ -0,0 +1,26 @@ +// Alte Hash-Lesezeichen auf die neuen Pfade umbiegen (v3-Umbau P2). +// +// Bis zum 28.08.2026 lebte die Ansicht im URL-Hash (`#models`). Das war teilbar und +// reload-fest — aber nur auf View-Ebene; für den Zustand DARUNTER (offene Idee, Reiter, +// Drawer) war kein Platz. Mit dem Router zieht das in echte Pfade um. +// +// Wer ein altes Lesezeichen hat, soll nichts merken: Diese Funktion läuft EINMAL vor dem +// Router-Mount und ersetzt `#models` durch `/modelle` — per `replaceState`, damit die +// Zurück-Taste nicht in einer Umleitungs-Schleife landet. +// +// Die Tabelle darf mit der Zeit schrumpfen, aber nicht kommentarlos: Solange jemand ein +// Lesezeichen von früher haben könnte, ist sie die einzige Brücke dorthin. + +import { NAV, type ViewId } from "@/nav" + +const ALT_ZU_PFAD: Record = Object.fromEntries( + NAV.map((n) => [n.id, n.pfad]), +) as Record + +export function hashUmleiten(): void { + const hash = window.location.hash.replace(/^#\/?/, "") + if (!hash) return + const ziel = ALT_ZU_PFAD[hash as ViewId] + if (!ziel) return + window.history.replaceState(null, "", ziel + window.location.search) +} diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index a61c836..2ec0605 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,13 +1,19 @@ import React from "react" import ReactDOM from "react-dom/client" import { QueryClient, QueryClientProvider } from "@tanstack/react-query" -import App from "./App" +import { RouterProvider } from "@tanstack/react-router" +import { router } from "./app/router" import { AppErrorBoundary } from "./components/AppErrorBoundary" +import { hashUmleiten } from "./lib/hashUmleitung" import { veralteteVersionAbfangen } from "./lib/veralteteVersion" import "./index.css" -// Muss VOR dem ersten Rendern hängen: Nach einem Deploy sucht ein offener Tab -// Nachlade-Chunks des alten Builds, die es nicht mehr gibt (siehe lib/veralteteVersion.ts). +// Beides MUSS vor dem ersten Rendern laufen: +// · hashUmleiten — alte Lesezeichen (#models) landen auf dem neuen Pfad (/modelle), +// bevor der Router die Adresse zum ersten Mal liest (P2). +// · veralteteVersionAbfangen — nach einem Deploy sucht ein offener Tab Nachlade-Chunks +// des alten Builds, die es nicht mehr gibt (P1). +hashUmleiten() veralteteVersionAbfangen() // Zentraler Daten-Layer: Caching, Dedup, Retry, Polling pro Query-Hook. @@ -21,11 +27,14 @@ const queryClient = new QueryClient({ }, }) +// AppErrorBoundary bleibt als LETZTES Netz stehen — für Fehler außerhalb jeder Route +// (Provider, Router selbst). Innerhalb der Routen fängt seit P2 jede Ansicht für sich +// (app/router.tsx → errorComponent), damit ein Absturz nicht die ganze Shell mitnimmt. ReactDOM.createRoot(document.getElementById("root")!).render( - + , diff --git a/frontend/src/nav.ts b/frontend/src/nav.ts index 89d4236..8d132a2 100644 --- a/frontend/src/nav.ts +++ b/frontend/src/nav.ts @@ -1,46 +1,55 @@ -import { - LayoutDashboard, - Boxes, - Inbox, - History, - Library, - Plug, - Bot, - SquareTerminal, - HelpCircle, - Lightbulb, - type LucideIcon, -} from "lucide-react" - -export type ViewId = "dashboard" | "ideen" | "auftraege" | "skills" | "models" | "wissen" | "chronik" | "connect" | "agent" | "konsole" | "guide" - -export type NavGroup = "Operativ" | "Wissen" | "Werkzeuge" | "Wartung" - -export interface NavItem { - id: ViewId - label: string - hint: string - icon: LucideIcon - group: NavGroup -} - -// Eine Quelle der Wahrheit für Sidebar UND Command-Palette. -export const NAV: NavItem[] = [ - { id: "dashboard", label: "Cockpit", hint: "Deine Box auf einen Blick", icon: LayoutDashboard, group: "Operativ" }, - // Der Haupteingang: Idee → Konzept → Repo → Zed. Steht bewusst direkt unter dem - // Cockpit — hier fängt jede Arbeit an (eigene Seite seit 25.07.2026). - // Hinweis bewusst kurz: die App zeigt ihn oben in Großbuchstaben, direkt über der - // Seitenüberschrift „Ideen" — ein langer Satz stand dort dreifach gedoppelt. - { id: "ideen", label: "Ideen", hint: "Schreib hin, was entstehen soll", icon: Lightbulb, group: "Operativ" }, - { id: "auftraege", label: "Auftragsbuch", hint: "Vorschläge der Box — annehmen oder ablehnen", icon: Inbox, group: "Operativ" }, - { id: "skills", label: "Skills & Jobs", hint: "Autonome Skills manuell auslösen", icon: Bot, group: "Operativ" }, - { id: "chronik", label: "Chronik", hint: "Was die Box von allein getan hat + Zeitmaschine", icon: History, group: "Operativ" }, - { id: "wissen", label: "Wissen", hint: "Lucys Wissens-Vault (Traum-Notizen)", icon: Library, group: "Wissen" }, - { id: "connect", label: "Verbinden", hint: "IDE-/Agent-Configs erzeugen", icon: Plug, group: "Werkzeuge" }, - { id: "konsole", label: "Konsole", hint: "Direkte Box-Shell (SSH-artig)", icon: SquareTerminal, group: "Werkzeuge" }, - { id: "guide", label: "Anleitung", hint: "Einrichten & Vibe-Coding", icon: HelpCircle, group: "Werkzeuge" }, - { id: "models", label: "Modelle", hint: "Speicher, laden & Rollen", icon: Boxes, group: "Wartung" }, - { id: "agent", label: "Hermes", hint: "Agent-Status & Verdrahtung", icon: Bot, group: "Wartung" }, -] - - +import { + LayoutDashboard, + Boxes, + Inbox, + History, + Library, + Plug, + Bot, + SquareTerminal, + HelpCircle, + Lightbulb, + type LucideIcon, +} from "lucide-react" + +export type ViewId = "dashboard" | "ideen" | "auftraege" | "skills" | "models" | "wissen" | "chronik" | "connect" | "agent" | "konsole" | "guide" + +export type NavGroup = "Operativ" | "Wissen" | "Werkzeuge" | "Wartung" + +export interface NavItem { + id: ViewId + /** Echter URL-Pfad (v3-Umbau P2). Vorher war die Ansicht nur ein Hash (#models) — + * teilbar auf View-Ebene, aber ohne Platz für den Zustand DARUNTER. */ + pfad: string + label: string + hint: string + icon: LucideIcon + group: NavGroup +} + +// Eine Quelle der Wahrheit für Sidebar UND Command-Palette. +export const NAV: NavItem[] = [ + { id: "dashboard", pfad: "/cockpit", label: "Cockpit", hint: "Deine Box auf einen Blick", icon: LayoutDashboard, group: "Operativ" }, + // Der Haupteingang: Idee → Konzept → Repo → IDE. Steht bewusst direkt unter dem + // Cockpit — hier fängt jede Arbeit an (eigene Seite seit 25.07.2026). + // Hinweis bewusst kurz: die App zeigt ihn oben in Großbuchstaben, direkt über der + // Seitenüberschrift „Ideen" — ein langer Satz stand dort dreifach gedoppelt. + { id: "ideen", pfad: "/ideen", label: "Ideen", hint: "Schreib hin, was entstehen soll", icon: Lightbulb, group: "Operativ" }, + { id: "auftraege", pfad: "/auftraege", label: "Auftragsbuch", hint: "Vorschläge der Box — annehmen oder ablehnen", icon: Inbox, group: "Operativ" }, + { id: "skills", pfad: "/skills", label: "Skills & Jobs", hint: "Autonome Skills manuell auslösen", icon: Bot, group: "Operativ" }, + { id: "chronik", pfad: "/chronik", label: "Chronik", hint: "Was die Box von allein getan hat + Zeitmaschine", icon: History, group: "Operativ" }, + { id: "wissen", pfad: "/wissen", label: "Wissen", hint: "Lucys Wissens-Vault (Traum-Notizen)", icon: Library, group: "Wissen" }, + { id: "connect", pfad: "/verbinden", label: "Verbinden", hint: "IDE-/Agent-Configs erzeugen", icon: Plug, group: "Werkzeuge" }, + { id: "konsole", pfad: "/konsole", label: "Konsole", hint: "Direkte Box-Shell (SSH-artig)", icon: SquareTerminal, group: "Werkzeuge" }, + { id: "guide", pfad: "/anleitung", label: "Anleitung", hint: "Einrichten & Vibe-Coding", icon: HelpCircle, group: "Werkzeuge" }, + { id: "models", pfad: "/modelle", label: "Modelle", hint: "Speicher, laden & Rollen", icon: Boxes, group: "Wartung" }, + { id: "agent", pfad: "/agent", label: "Hermes", hint: "Agent-Status & Verdrahtung", icon: Bot, group: "Wartung" }, +] + +/** Nav-Eintrag zu einem Pfad — für Kopfzeile und aktive Markierung. + * Längster Treffer gewinnt, damit /ideen/ beim Eintrag „Ideen" landet. */ +export function navFuerPfad(pfad: string): NavItem | undefined { + return [...NAV] + .sort((a, b) => b.pfad.length - a.pfad.length) + .find((n) => pfad === n.pfad || pfad.startsWith(n.pfad + "/")) +} diff --git a/frontend/src/views/IdeenView.tsx b/frontend/src/views/IdeenView.tsx index 10ab1ac..fbcdb09 100644 --- a/frontend/src/views/IdeenView.tsx +++ b/frontend/src/views/IdeenView.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from "react" +import { useNavigate, useSearch } from "@tanstack/react-router" import { Loader2, AlertTriangle, ChevronDown, ChevronRight, Clock, Hammer, Lightbulb, Send, HelpCircle, RotateCcw, Square, ArrowUp, ArrowDown, Code2, FileText, GitFork, X, Layers, @@ -114,7 +115,14 @@ function IdeenSection() { const [ziel, setZiel] = useState<"lxc" | "docker">("lxc") const [sending, setSending] = useState(false) const [busy, setBusy] = useState>({}) - const [openLog, setOpenLog] = useState(null) + // v3-Umbau P2 (Befund B-05): Die aufgeklappte Karte lag in useState. Wer waehrend + // eines laufenden Workers neu lud — und genau dann schaut man hin — verlor seinen + // Platz in der Liste. Jetzt steht sie in der URL (/ideen?offen=) und ist teilbar. + const navigate = useNavigate() + const suche = useSearch({ from: "/ideen" }) + const openLog = suche.offen ?? null + const setOpenLog = (id: string | null) => + navigate({ to: "/ideen", search: (alt) => ({ ...alt, offen: id ?? undefined }), replace: true }) const [openKonzept, setOpenKonzept] = useState(null) const [antworten, setAntworten] = useState>({}) diff --git a/frontend/src/views/ModelsView.tsx b/frontend/src/views/ModelsView.tsx index 345d824..3c98e20 100644 --- a/frontend/src/views/ModelsView.tsx +++ b/frontend/src/views/ModelsView.tsx @@ -1,4 +1,4 @@ -import { useState } from "react" +import { useNavigate, useSearch } from "@tanstack/react-router" import { cn } from "@/lib/utils" import { JobsBar } from "@/components/models/JobsBar" import { LaneEditor } from "@/components/models/LaneEditor" @@ -16,7 +16,14 @@ const TABS = [ type TabId = (typeof TABS)[number]["id"] export function ModelsView() { - const [tab, setTab] = useState("werkbank") + // v3-Umbau P2: Der Reiter lag in useState und war damit nicht teilbar und nicht + // reload-fest — wer jemandem „schau dir das Routing an" schicken wollte, schickte + // die Werkbank. Jetzt steht er in der URL (/modelle?reiter=routing). + const navigate = useNavigate() + const { reiter } = useSearch({ from: "/modelle" }) + const tab: TabId = reiter ?? "werkbank" + const setTab = (t: TabId) => + navigate({ to: "/modelle", search: (alt) => ({ ...alt, reiter: t }), replace: true }) return (