diff --git a/frontend/dist/assets/Auftraege-CdBAGJi2.js b/frontend/dist/assets/Auftraege-CdBAGJi2.js new file mode 100644 index 0000000..34c5bbe --- /dev/null +++ b/frontend/dist/assets/Auftraege-CdBAGJi2.js @@ -0,0 +1,2 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{It as a,Pt as o,S as s,Yt as c,b as l,ct as u,lt as d,st as f}from"./index-CIOHqG23.js";import{t as p}from"./button-D8rvET0Z.js";import{t as m}from"./Bestaetigen-D6CzMfJm.js";var h=t();function g(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function _(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function v(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var y=e=>e.group===`download`||/^download\s/i.test(e.label),b=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,x=e=>c(e)&&y(e),S=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],C=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function w(e){for(let[t,n]of S)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?C.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function T(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function E(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function D(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${a(e.done_bytes??0,1)} von ${a(e.total_bytes,1)}`),e.eta_s!=null&&c(e)&&t.push(T(e.eta_s)),t.join(` · `)}function O(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function k(e,t=Date.now()/1e3){let n=e.filter(c).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!c(e)&&!e.quittiert&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function A(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function j(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var M=r(e(),1),N=n(),P={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},F={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},I=e=>o(new Date(e*1e3).toISOString());function L(e){let t=(0,h.c)(3),[n,r]=(0,M.useState)(R),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,M.useEffect)(i,a),n}function R(){return Date.now()/1e3}function z(e){let t=(0,h.c)(76),{job:n,onAbbrechen:r,onQuittieren:a,abbrechenGesperrt:o,ebene:l}=e,u=l===void 0?4:l,[d,f]=(0,M.useState)(!1),[g,_]=(0,M.useState)(!1),v;t[0]===n.state?v=t[1]:(v=P[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=v);let b=v,S;t[2]===n?S=t[3]:(S=w(n),t[2]=n,t[3]=S);let C=S,T;t[4]===n?T=t[5]:(T=D(n),t[4]=n,t[5]=T);let k=T,A;t[6]===n?A=t[7]:(A=O(n),t[6]=n,t[7]=A);let j=A,R;t[8]===n?R=t[9]:(R=c(n),t[8]=n,t[9]=R);let z=R,B=L(z),V;t[10]!==n||t[11]!==r?(V=!!r&&x(n),t[10]=n,t[11]=r,t[12]=V):V=t[12];let H=V,U,W,G,K,q,J,Y,X;if(t[13]!==o||t[14]!==H||t[15]!==u||t[16]!==k||t[17]!==B||t[18]!==n||t[19]!==z||t[20]!==j||t[21]!==a||t[22]!==g||t[23]!==C||t[24]!==b.art||t[25]!==b.text){let e=(n.log??[]).slice(-12),r=u===3?`h3`:`h4`;Y=`Auftrag: ${C}`,X=`flex flex-col gap-2.5 rounded-xl border border-linie bg-erhaben/50 p-3.5`;let c;t[34]!==r||t[35]!==C?(c=(0,N.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:C}),t[34]=r,t[35]=C,t[36]=c):c=t[36];let l;t[37]!==b.art||t[38]!==b.text?(l=(0,N.jsx)(s,{art:b.art,children:b.text}),t[37]=b.art,t[38]=b.text,t[39]=l):l=t[39],t[40]!==c||t[41]!==l?(U=(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[c,l]}),t[40]=c,t[41]=l,t[42]=U):U=t[42],t[43]!==n.progress||t[44]!==n.state||t[45]!==C?(W=n.progress!=null&&(0,N.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${C}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,N.jsx)(`div`,{className:i(`h-full`,F[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[43]=n.progress,t[44]=n.state,t[45]=C,t[46]=W):W=t[46];let d;t[47]!==k||t[48]!==B||t[49]!==n||t[50]!==z||t[51]!==b.text?(d=z?k??E(n,B):`${b.text} · ${I(n.finished_at??n.started_at)}`,t[47]=k,t[48]=B,t[49]=n,t[50]=z,t[51]=b.text,t[52]=d):d=t[52],t[53]===d?G=t[54]:(G=(0,N.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:d}),t[53]=d,t[54]=G),t[55]!==n.progress||t[56]!==n.state||t[57]!==z||t[58]!==j?(K=j&&(n.state===`failed`||z&&n.progress==null)&&(0,N.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${j}`:j}),t[55]=n.progress,t[56]=n.state,t[57]=z,t[58]=j,t[59]=K):K=t[59],q=(H||e.length>1||!z&&a)&&(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[H&&(0,N.jsx)(p,{variant:`outline`,size:`sm`,disabled:o,onClick:()=>f(!0),children:`Abbrechen`}),e.length>1&&(0,N.jsx)(p,{variant:`ghost`,size:`sm`,"aria-expanded":g,onClick:()=>_(!g),children:g?`Protokoll zu`:`Protokoll`}),!z&&a&&(0,N.jsx)(p,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:()=>a(n),children:`Ausblenden`})]}),J=g&&(0,N.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` +`)}),t[13]=o,t[14]=H,t[15]=u,t[16]=k,t[17]=B,t[18]=n,t[19]=z,t[20]=j,t[21]=a,t[22]=g,t[23]=C,t[24]=b.art,t[25]=b.text,t[26]=U,t[27]=W,t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y,t[33]=X}else U=t[26],W=t[27],G=t[28],K=t[29],q=t[30],J=t[31],Y=t[32],X=t[33];let Z;t[60]!==H||t[61]!==d||t[62]!==n||t[63]!==r||t[64]!==C?(Z=H&&(0,N.jsx)(m,{offen:d,gefahr:!0,titel:`Auftrag abbrechen?`,text:y(n)?`Der ${C} stoppt. Du kannst ihn später über „Modelle selbst suchen“ neu starten.`:`„${C}“ wird abgebrochen.`,knopf:`Ja, abbrechen`,neinKnopf:`Weiterlaufen lassen`,onNein:()=>f(!1),onJa:()=>{d&&(f(!1),r?.(n))}}),t[60]=H,t[61]=d,t[62]=n,t[63]=r,t[64]=C,t[65]=Z):Z=t[65];let Q;return t[66]!==U||t[67]!==W||t[68]!==G||t[69]!==K||t[70]!==q||t[71]!==J||t[72]!==Z||t[73]!==Y||t[74]!==X?(Q=(0,N.jsxs)(`article`,{"aria-label":Y,className:X,children:[U,W,G,K,q,J,Z]}),t[66]=U,t[67]=W,t[68]=G,t[69]=K,t[70]=q,t[71]=J,t[72]=Z,t[73]=Y,t[74]=X,t[75]=Q):Q=t[75],Q}function B(e){let t=(0,h.c)(19),{alsPanel:n}=e,r=n!==void 0&&n,i=d(),a=f(),o=u(),s,c;if(t[0]!==a||t[1]!==r||t[2]!==i.data||t[3]!==i.error||t[4]!==i.isError||t[5]!==o){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=k(i.data?.jobs??[]);if(e.length>0){let n;t[8]!==a||t[9]!==r||t[10]!==o?(n=e=>(0,N.jsx)(z,{job:e,ebene:r?3:4,abbrechenGesperrt:a.isPending,onAbbrechen:e=>a.mutate({id:e.id,titel:w(e)}),onQuittieren:e=>o.mutate(e.id)},e.id),t[8]=a,t[9]=r,t[10]=o,t[11]=n):n=t[11],s=(0,N.jsx)(`div`,{className:`grid items-start gap-2.5 lg:grid-cols-2`,children:e.map(n)})}else if(i.isError&&!i.data){let e;t[12]===i.error.message?e=t[13]:(e=(0,N.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Aufträge lassen sich gerade nicht lesen: `,i.error.message]}),t[12]=i.error.message,t[13]=e),s=e}else{c=null;break bb0}}t[0]=a,t[1]=r,t[2]=i.data,t[3]=i.error,t[4]=i.isError,t[5]=o,t[6]=s,t[7]=c}else s=t[6],c=t[7];if(c!==Symbol.for(`react.early_return_sentinel`))return c;if(r){let e;return t[14]===s?e=t[15]:(e=(0,N.jsx)(l,{titel:`Aufträge`,children:s}),t[14]=s,t[15]=e),e}let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,N.jsx)(`h3`,{className:`schild m-0 text-sm text-text-3`,children:`Aufträge`}),t[16]=p):p=t[16];let m;return t[17]===s?m=t[18]:(m=(0,N.jsxs)(`section`,{"aria-label":`Aufträge`,className:`flex flex-col gap-2.5`,children:[p,s]}),t[17]=s,t[18]=m),m}export{O as a,g as c,b as i,_ as n,v as o,j as r,A as s,B as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Auftraege-cd2jcDwQ.js b/frontend/dist/assets/Auftraege-cd2jcDwQ.js deleted file mode 100644 index d9f4d7e..0000000 --- a/frontend/dist/assets/Auftraege-cd2jcDwQ.js +++ /dev/null @@ -1,2 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{$ as a,Bt as o,Dt as s,Tt as c,et as l,h as u,p as d,tt as f}from"./index-BwBSJspl.js";import{t as p}from"./button-D8rvET0Z.js";import{t as m}from"./Bestaetigen-DO-opKIi.js";var h=t();function g(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function _(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function v(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var y=e=>e.group===`download`||/^download\s/i.test(e.label),b=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,x=e=>o(e)&&y(e),S=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],C=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function w(e){for(let[t,n]of S)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?C.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function T(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function E(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function D(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${s(e.done_bytes??0,1)} von ${s(e.total_bytes,1)}`),e.eta_s!=null&&o(e)&&t.push(T(e.eta_s)),t.join(` · `)}function O(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function k(e,t=Date.now()/1e3){let n=e.filter(o).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!o(e)&&!e.quittiert&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function A(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function j(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var M=r(e(),1),N=n(),P={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},F={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},I=e=>c(new Date(e*1e3).toISOString());function L(e){let t=(0,h.c)(3),[n,r]=(0,M.useState)(R),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,M.useEffect)(i,a),n}function R(){return Date.now()/1e3}function z(e){let t=(0,h.c)(76),{job:n,onAbbrechen:r,onQuittieren:a,abbrechenGesperrt:s,ebene:c}=e,l=c===void 0?4:c,[d,f]=(0,M.useState)(!1),[g,_]=(0,M.useState)(!1),v;t[0]===n.state?v=t[1]:(v=P[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=v);let b=v,S;t[2]===n?S=t[3]:(S=w(n),t[2]=n,t[3]=S);let C=S,T;t[4]===n?T=t[5]:(T=D(n),t[4]=n,t[5]=T);let k=T,A;t[6]===n?A=t[7]:(A=O(n),t[6]=n,t[7]=A);let j=A,R;t[8]===n?R=t[9]:(R=o(n),t[8]=n,t[9]=R);let z=R,B=L(z),V;t[10]!==n||t[11]!==r?(V=!!r&&x(n),t[10]=n,t[11]=r,t[12]=V):V=t[12];let H=V,U,W,G,K,q,J,Y,X;if(t[13]!==s||t[14]!==H||t[15]!==l||t[16]!==k||t[17]!==B||t[18]!==n||t[19]!==z||t[20]!==j||t[21]!==a||t[22]!==g||t[23]!==C||t[24]!==b.art||t[25]!==b.text){let e=(n.log??[]).slice(-12),r=l===3?`h3`:`h4`;Y=`Auftrag: ${C}`,X=`flex flex-col gap-2.5 rounded-xl border border-linie bg-erhaben/50 p-3.5`;let o;t[34]!==r||t[35]!==C?(o=(0,N.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:C}),t[34]=r,t[35]=C,t[36]=o):o=t[36];let c;t[37]!==b.art||t[38]!==b.text?(c=(0,N.jsx)(u,{art:b.art,children:b.text}),t[37]=b.art,t[38]=b.text,t[39]=c):c=t[39],t[40]!==o||t[41]!==c?(U=(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[o,c]}),t[40]=o,t[41]=c,t[42]=U):U=t[42],t[43]!==n.progress||t[44]!==n.state||t[45]!==C?(W=n.progress!=null&&(0,N.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${C}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,N.jsx)(`div`,{className:i(`h-full`,F[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[43]=n.progress,t[44]=n.state,t[45]=C,t[46]=W):W=t[46];let d;t[47]!==k||t[48]!==B||t[49]!==n||t[50]!==z||t[51]!==b.text?(d=z?k??E(n,B):`${b.text} · ${I(n.finished_at??n.started_at)}`,t[47]=k,t[48]=B,t[49]=n,t[50]=z,t[51]=b.text,t[52]=d):d=t[52],t[53]===d?G=t[54]:(G=(0,N.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:d}),t[53]=d,t[54]=G),t[55]!==n.progress||t[56]!==n.state||t[57]!==z||t[58]!==j?(K=j&&(n.state===`failed`||z&&n.progress==null)&&(0,N.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${j}`:j}),t[55]=n.progress,t[56]=n.state,t[57]=z,t[58]=j,t[59]=K):K=t[59],q=(H||e.length>1||!z&&a)&&(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[H&&(0,N.jsx)(p,{variant:`outline`,size:`sm`,disabled:s,onClick:()=>f(!0),children:`Abbrechen`}),e.length>1&&(0,N.jsx)(p,{variant:`ghost`,size:`sm`,"aria-expanded":g,onClick:()=>_(!g),children:g?`Protokoll zu`:`Protokoll`}),!z&&a&&(0,N.jsx)(p,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:()=>a(n),children:`Ausblenden`})]}),J=g&&(0,N.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` -`)}),t[13]=s,t[14]=H,t[15]=l,t[16]=k,t[17]=B,t[18]=n,t[19]=z,t[20]=j,t[21]=a,t[22]=g,t[23]=C,t[24]=b.art,t[25]=b.text,t[26]=U,t[27]=W,t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y,t[33]=X}else U=t[26],W=t[27],G=t[28],K=t[29],q=t[30],J=t[31],Y=t[32],X=t[33];let Z;t[60]!==H||t[61]!==d||t[62]!==n||t[63]!==r||t[64]!==C?(Z=H&&(0,N.jsx)(m,{offen:d,gefahr:!0,titel:`Auftrag abbrechen?`,text:y(n)?`Der ${C} stoppt. Du kannst ihn später über „Modelle selbst suchen“ neu starten.`:`„${C}“ wird abgebrochen.`,knopf:`Ja, abbrechen`,neinKnopf:`Weiterlaufen lassen`,onNein:()=>f(!1),onJa:()=>{d&&(f(!1),r?.(n))}}),t[60]=H,t[61]=d,t[62]=n,t[63]=r,t[64]=C,t[65]=Z):Z=t[65];let Q;return t[66]!==U||t[67]!==W||t[68]!==G||t[69]!==K||t[70]!==q||t[71]!==J||t[72]!==Z||t[73]!==Y||t[74]!==X?(Q=(0,N.jsxs)(`article`,{"aria-label":Y,className:X,children:[U,W,G,K,q,J,Z]}),t[66]=U,t[67]=W,t[68]=G,t[69]=K,t[70]=q,t[71]=J,t[72]=Z,t[73]=Y,t[74]=X,t[75]=Q):Q=t[75],Q}function B(e){let t=(0,h.c)(19),{alsPanel:n}=e,r=n!==void 0&&n,i=f(),o=a(),s=l(),c,u;if(t[0]!==o||t[1]!==r||t[2]!==i.data||t[3]!==i.error||t[4]!==i.isError||t[5]!==s){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=k(i.data?.jobs??[]);if(e.length>0){let n;t[8]!==o||t[9]!==r||t[10]!==s?(n=e=>(0,N.jsx)(z,{job:e,ebene:r?3:4,abbrechenGesperrt:o.isPending,onAbbrechen:e=>o.mutate({id:e.id,titel:w(e)}),onQuittieren:e=>s.mutate(e.id)},e.id),t[8]=o,t[9]=r,t[10]=s,t[11]=n):n=t[11],c=(0,N.jsx)(`div`,{className:`grid items-start gap-2.5 lg:grid-cols-2`,children:e.map(n)})}else if(i.isError&&!i.data){let e;t[12]===i.error.message?e=t[13]:(e=(0,N.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Aufträge lassen sich gerade nicht lesen: `,i.error.message]}),t[12]=i.error.message,t[13]=e),c=e}else{u=null;break bb0}}t[0]=o,t[1]=r,t[2]=i.data,t[3]=i.error,t[4]=i.isError,t[5]=s,t[6]=c,t[7]=u}else c=t[6],u=t[7];if(u!==Symbol.for(`react.early_return_sentinel`))return u;if(r){let e;return t[14]===c?e=t[15]:(e=(0,N.jsx)(d,{titel:`Aufträge`,children:c}),t[14]=c,t[15]=e),e}let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,N.jsx)(`h3`,{className:`schild m-0 text-sm text-text-3`,children:`Aufträge`}),t[16]=p):p=t[16];let m;return t[17]===c?m=t[18]:(m=(0,N.jsxs)(`section`,{"aria-label":`Aufträge`,className:`flex flex-col gap-2.5`,children:[p,c]}),t[17]=c,t[18]=m),m}export{O as a,g as c,b as i,_ as n,v as o,j as r,A as s,B as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Bestaetigen-DO-opKIi.js b/frontend/dist/assets/Bestaetigen-D6CzMfJm.js similarity index 97% rename from frontend/dist/assets/Bestaetigen-DO-opKIi.js rename to frontend/dist/assets/Bestaetigen-D6CzMfJm.js index 301a7a6..cf21854 100644 --- a/frontend/dist/assets/Bestaetigen-DO-opKIi.js +++ b/frontend/dist/assets/Bestaetigen-D6CzMfJm.js @@ -1 +1 @@ -import{i as e,n as t,o as n,r,t as i}from"./dist-D4CVSex9.js";import{qt as a}from"./index-BwBSJspl.js";import{t as o}from"./button-D8rvET0Z.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-_946vtHa.js";var m=t();e();var h=r();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=n({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`schild pr-10 text-xl break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-erhaben sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-linie bg-panel pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file +import{i as e,n as t,o as n,r,t as i}from"./dist-D4CVSex9.js";import{nn as a}from"./index-CIOHqG23.js";import{t as o}from"./button-D8rvET0Z.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-B2n2wafq.js";var m=t();e();var h=r();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=n({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`schild pr-10 text-xl break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-erhaben sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-linie bg-panel pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Dienste-B2tq2N01.js b/frontend/dist/assets/Dienste-B2tq2N01.js deleted file mode 100644 index 4ca1ced..0000000 --- a/frontend/dist/assets/Dienste-B2tq2N01.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Dt as a,Kt as o,Lt as s,Nt as c,Wt as l,g as u,h as d,ot as f,p,rn as m,s as h,z as g}from"./index-BwBSJspl.js";import{t as _}from"./button-D8rvET0Z.js";import{t as v}from"./Bestaetigen-DO-opKIi.js";var y=r(e(),1),b=t(),x={laeuft:{wort:`läuft`,punkt:`bg-gruen`,text:`text-text-3`},startet:{wort:`startet`,punkt:`bg-bernstein`,text:`text-bernstein`},stoppt:{wort:`stoppt`,punkt:`bg-bernstein`,text:`text-bernstein`},antwortet_nicht:{wort:`antwortet nicht`,punkt:`bg-rot`,text:`text-rot-text`},gestoppt:{wort:`gestoppt`,punkt:`bg-rot`,text:`text-rot-text`},gescheitert:{wort:`gescheitert`,punkt:`bg-rot`,text:`text-rot-text`},schlaeft:{wort:`schläft`,punkt:`bg-text-3`,text:`text-text-3`}};function S(e){return e.zustand?e.zustand:e.ok?`laeuft`:e.schlaeft?`schlaeft`:`antwortet_nicht`}var C={gescheitert:0,gestoppt:0,antwortet_nicht:0,startet:1,stoppt:1,laeuft:3,schlaeft:4};function w(e){let t=S(e);return t===`laeuft`&&(e.neustarts??0)>0?2:C[t]}var T=e=>w(e)===0,E=e=>[...e].sort((e,t)=>w(e)-w(t)),D=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0}),O=new Intl.NumberFormat(`de-DE`,{minimumFractionDigits:1,maximumFractionDigits:1});function ee(e){if(e==null)return`–`;let t=e/1024**2;return t<1e3?`${D.format(t)} MB`:`${O.format(t/1024)} GB`}function te(e,t){return e.speicher_bytes==null||!t?null:(e.speicher_bytes+(e.grafik_bytes??0))/t*100}function ne(e){return e==null?`–`:e>0&&e<.05?`< 0,1 %`:e<10?`${O.format(e).replace(/,0$/,``)} %`:`${D.format(e)} %`}function k(e){return e==null||e<0?`–`:e<60?`< 1 min`:h(e)}var A=`Europe/Berlin`,j=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:A}),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:A}),N=new Intl.DateTimeFormat(`en-CA`,{timeZone:A});function re(e,t=Date.now()){let n=new Date(t-e*1e3),r=N.format(n);return r===N.format(new Date(t))?`heute ${j.format(n)}`:r===N.format(new Date(t-864e5))?`gestern ${j.format(n)}`:`${M.format(n)}, ${j.format(n)}`}function ie(e,t=Date.now()){let n=S(e);return n===`schlaeft`?`mit Absicht aus`:(n===`gestoppt`||n===`gescheitert`)&&e.aus_seit_s!=null?`aus seit ${re(e.aus_seit_s,t)}`:null}function P(e){let t=S(e);return t===`schlaeft`?`Wecken`:t===`gestoppt`||t===`gescheitert`?`Starten`:`Neu starten`}var F={"llama-swap":`Laufende Antworten brechen ab; die Modelle werden danach neu geladen.`,"mission-control-2":`Das ist diese Oberfläche selbst: Sie ist ein paar Sekunden nicht erreichbar.`,"hermes-gateway":`Lucy antwortet in der Zeit nicht.`};function I(e){let t=P(e);if(t===`Wecken`)return{titel:`${e.name} wecken?`,text:`Der Dienst startet und läuft bis zum nächsten Neustart der Box. Danach schläft er wieder.`,knopf:t};if(t===`Starten`)return{titel:`${e.name} starten?`,text:`Der Dienst wird gestartet. Scheitert er wieder, steht der Grund im Protokoll.`,knopf:t};let n=F[e.unit]?` ${F[e.unit]}`:``;return{titel:`${e.name} neu starten?`,text:`Der Dienst wird neu gestartet und ist dabei kurz nicht erreichbar.${n}`,knopf:t}}function L(e){let t=P(e);return`${e.name} ${t===`Wecken`?`wird geweckt`:t===`Starten`?`startet`:`startet neu`}.`}var R=n(),ae=`grid-cols-2 gap-x-4 sm:grid-cols-4 xl:gap-x-3 xl:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_9.5rem] min-[87.5rem]:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_17.5rem]`,z=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`});function B(e){let t=(0,b.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,R.jsx)(`span`,{className:`block text-xs text-text-3 xl:hidden`,children:n}),t[0]=n,t[1]=r),r}function oe(e){let t=(0,b.c)(7),{anteil:n,children:r}=e,i;t[0]===r?i=t[1]:(i=(0,R.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=n!==null&&(0,R.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,R.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.min(100,Math.max(2,n))}%`,background:`var(--reihe-1)`}})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function se(e){let t=(0,b.c)(9),{d:n,id:r}=e,i=f(n.unit),a=(0,y.useRef)(null),o;if(i.isPending)o=`Wird gelesen …`;else if(i.isError)o=`Das Protokoll lässt sich gerade nicht lesen: ${i.error.message}`;else if(i.data.ok===!1)o=i.data.err||i.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===i.data.text?e=t[1]:(e=i.data.text?.trim()||`Noch keine Einträge.`,t[0]=i.data.text,t[1]=e),o=e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=[o],t[3]=o,t[4]=c),(0,y.useEffect)(s,c);let l=`Letzte Protokollzeilen von ${n.name}`,u;return t[5]!==r||t[6]!==l||t[7]!==o?(u=(0,R.jsx)(`pre`,{id:r,ref:a,tabIndex:0,"aria-label":l,className:`ziffern m-0 max-h-[50vh] w-full overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap break-words text-text-2`,children:o}),t[5]=r,t[6]=l,t[7]=o,t[8]=u):u=t[8],u}function V(e){let t=(0,b.c)(113),{d:n,gesamt:r,offen:a,startet:o,onProtokoll:s,onFrage:c}=e,l=x[S(n)],u;t[0]===n?u=t[1]:(u=ie(n),t[0]=n,t[1]=u);let d=u,f,p,m,h,g,v,y,C,w,E,D;if(t[2]!==n||t[3]!==r||t[4]!==l.punkt||t[5]!==l.text||t[6]!==l.wort||t[7]!==d){let e=te(n,r);f=n.neustarts??0,p=`protokoll-${n.unit}`,C=`row`,t[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=i(`grid gap-y-2.5 border-t border-linie py-3 xl:items-center`,ae),t[19]=w):w=t[19];let a;t[20]===l.punkt?a=t[21]:(a=i(`mt-1.5 size-2.5 shrink-0 rounded-full`,l.punkt),t[20]=l.punkt,t[21]=a);let o;t[22]===a?o=t[23]:(o=(0,R.jsx)(`span`,{"aria-hidden":!0,className:a}),t[22]=a,t[23]=o);let s;t[24]===n.name?s=t[25]:(s=(0,R.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[24]=n.name,t[25]=s);let c=n.scope===`system`?` · Systemdienst`:``,u;t[26]!==n.unit||t[27]!==c?(u=(0,R.jsxs)(`span`,{className:`ziffern text-xs break-words text-text-3`,children:[n.unit,c]}),t[26]=n.unit,t[27]=c,t[28]=u):u=t[28];let _;t[29]!==s||t[30]!==u?(_=(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[s,u]}),t[29]=s,t[30]=u,t[31]=_):_=t[31],t[32]!==o||t[33]!==_?(E=(0,R.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 xl:col-span-1`,children:[o,_]}),t[32]=o,t[33]=_,t[34]=E):E=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,R.jsx)(B,{children:`Zustand`}),t[35]=b):b=t[35];let x;t[36]===l.text?x=t[37]:(x=i(`schild text-xs`,l.text),t[36]=l.text,t[37]=x);let S;t[38]!==x||t[39]!==l.wort?(S=(0,R.jsx)(`span`,{className:x,children:l.wort}),t[38]=x,t[39]=l.wort,t[40]=S):S=t[40];let T;t[41]===d?T=t[42]:(T=d&&(0,R.jsx)(`span`,{className:`text-xs text-text-3`,children:d}),t[41]=d,t[42]=T);let O;t[43]===f?O=t[44]:(O=f>0&&(0,R.jsx)(`span`,{className:`text-xs text-bernstein xl:hidden`,children:f===1?`1 Neustart`:`${f} Neustarts`}),t[43]=f,t[44]=O),t[45]!==S||t[46]!==T||t[47]!==O?(D=(0,R.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[b,S,T,O]}),t[45]=S,t[46]=T,t[47]=O,t[48]=D):D=t[48];let k;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,R.jsx)(B,{children:`CPU`}),t[49]=k):k=t[49],t[50]===n.cpu_prozent?m=t[51]:(m=(0,R.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[k,n.cpu_prozent==null?(0,R.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,R.jsx)(oe,{anteil:n.cpu_prozent,children:ne(n.cpu_prozent)})]}),t[50]=n.cpu_prozent,t[51]=m),h=`cell`,g=`min-w-0`,t[52]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,R.jsx)(B,{children:`Speicher`}),t[52]=v):v=t[52],y=n.speicher_bytes==null?(0,R.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,R.jsxs)(oe,{anteil:e,children:[ee(n.speicher_bytes+(n.grafik_bytes??0)),e!==null&&(0,R.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,ne(e)]})]}),t[2]=n,t[3]=r,t[4]=l.punkt,t[5]=l.text,t[6]=l.wort,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=v,t[14]=y,t[15]=C,t[16]=w,t[17]=E,t[18]=D}else f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],v=t[13],y=t[14],C=t[15],w=t[16],E=t[17],D=t[18];let O;t[53]!==n.grafik_bytes||t[54]!==n.speicher_bytes?(O=n.speicher_bytes!=null&&!!n.grafik_bytes&&(0,R.jsxs)(`span`,{className:`mt-1 block text-xs text-text-3`,children:[`davon `,ee(n.grafik_bytes),` Modelle`]}),t[53]=n.grafik_bytes,t[54]=n.speicher_bytes,t[55]=O):O=t[55];let A;t[56]!==O||t[57]!==h||t[58]!==g||t[59]!==v||t[60]!==y?(A=(0,R.jsxs)(`span`,{role:h,className:g,children:[v,y,O]}),t[56]=O,t[57]=h,t[58]=g,t[59]=v,t[60]=y,t[61]=A):A=t[61];let j;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,R.jsx)(B,{children:`Läuft seit`}),t[62]=j):j=t[62];let M;t[63]===n.laeuft_seit_s?M=t[64]:(M=k(n.laeuft_seit_s),t[63]=n.laeuft_seit_s,t[64]=M);let N;t[65]===M?N=t[66]:(N=(0,R.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:M}),t[65]=M,t[66]=N);let F;t[67]===n.laeuft_seit_s?F=t[68]:(F=n.laeuft_seit_s!=null&&(0,R.jsxs)(`span`,{className:`text-xs text-text-3`,children:[`gestartet `,re(n.laeuft_seit_s)]}),t[67]=n.laeuft_seit_s,t[68]=F);let I;t[69]!==N||t[70]!==F?(I=(0,R.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[j,N,F]}),t[69]=N,t[70]=F,t[71]=I):I=t[71];let L=f>0?`text-bernstein`:`text-text-3`,z;t[72]===L?z=t[73]:(z=i(`ziffern text-sm`,L),t[72]=L,t[73]=z);let V=n.neustarts??`–`,H;t[74]!==z||t[75]!==V?(H=(0,R.jsx)(`span`,{role:`cell`,className:`hidden min-w-0 xl:block`,children:(0,R.jsx)(`span`,{className:z,children:V})}),t[74]=z,t[75]=V,t[76]=H):H=t[76];let U=a?`info`:`ghost`,W=a?p:void 0,G=`Protokoll von ${n.name}`,K;t[77]!==a||t[78]!==s||t[79]!==U||t[80]!==W||t[81]!==G?(K=(0,R.jsx)(_,{variant:U,size:`sm`,"aria-expanded":a,"aria-controls":W,"aria-label":G,onClick:s,children:`Protokoll`}),t[77]=a,t[78]=s,t[79]=U,t[80]=W,t[81]=G,t[82]=K):K=t[82];let q=T(n)?`default`:`outline`,ce=o!==null,J;t[83]!==n||t[84]!==o?(J=o===n.unit?`startet …`:P(n),t[83]=n,t[84]=o,t[85]=J):J=t[85];let le=`${n.name}: ${J}`,Y;t[86]!==n||t[87]!==o?(Y=o===n.unit?`Startet …`:P(n),t[86]=n,t[87]=o,t[88]=Y):Y=t[88];let X;t[89]!==c||t[90]!==q||t[91]!==ce||t[92]!==le||t[93]!==Y?(X=(0,R.jsx)(_,{variant:q,size:`sm`,disabled:ce,"aria-label":le,onClick:c,children:Y}),t[89]=c,t[90]=q,t[91]=ce,t[92]=le,t[93]=Y,t[94]=X):X=t[94];let Z;t[95]!==K||t[96]!==X?(Z=(0,R.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex flex-wrap gap-2 sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-start xl:col-span-1 xl:col-start-auto xl:row-start-auto xl:flex-col xl:items-stretch xl:self-center min-[87.5rem]:flex-row min-[87.5rem]:justify-end`,children:[K,X]}),t[95]=K,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==n||t[99]!==a||t[100]!==p?(Q=a&&(0,R.jsx)(`div`,{role:`cell`,className:`col-span-full`,children:(0,R.jsx)(se,{d:n,id:p})}),t[98]=n,t[99]=a,t[100]=p,t[101]=Q):Q=t[101];let $;return t[102]!==m||t[103]!==A||t[104]!==I||t[105]!==H||t[106]!==Z||t[107]!==Q||t[108]!==C||t[109]!==w||t[110]!==E||t[111]!==D?($=(0,R.jsxs)(`div`,{role:C,className:w,children:[E,D,m,A,I,H,Z,Q]}),t[102]=m,t[103]=A,t[104]=I,t[105]=H,t[106]=Z,t[107]=Q,t[108]=C,t[109]=w,t[110]=E,t[111]=D,t[112]=$):$=t[112],$}function H(e){let t=(0,b.c)(16),{stand:n,gewaehlt:r,startet:a,onProtokoll:o,onFrage:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsxs)(`div`,{role:`row`,className:i(`schild hidden pb-2 text-xs font-semibold text-text-3 xl:grid`,ae),children:[(0,R.jsx)(`span`,{role:`columnheader`,children:`Dienst`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Zustand`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Neustarts`}),(0,R.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktionen`})]}),t[0]=c):c=t[0];let l;if(t[1]!==r||t[2]!==s||t[3]!==o||t[4]!==n.services||t[5]!==n.speicher_gesamt||t[6]!==a){let e;t[8]!==r||t[9]!==s||t[10]!==o||t[11]!==n.speicher_gesamt||t[12]!==a?(e=e=>(0,R.jsx)(V,{d:e,gesamt:n.speicher_gesamt,offen:r===e.unit,startet:a,onProtokoll:()=>o(e.unit),onFrage:()=>s(e)},e.unit),t[8]=r,t[9]=s,t[10]=o,t[11]=n.speicher_gesamt,t[12]=a,t[13]=e):e=t[13],l=E(n.services).map(e),t[1]=r,t[2]=s,t[3]=o,t[4]=n.services,t[5]=n.speicher_gesamt,t[6]=a,t[7]=l}else l=t[7];let u;return t[14]===l?u=t[15]:(u=(0,R.jsxs)(`div`,{role:`table`,"aria-label":`Dienste der KI-Box`,className:`flex flex-col`,children:[c,l]}),t[14]=l,t[15]=u),u}function U(e){let t=(0,b.c)(8),{dienste:n,stand:r}=e,i;t[0]===n?i=t[1]:(i=n.filter(T),t[0]=n,t[1]=i);let a=i.length,o;if(t[2]!==n||t[3]!==a||t[4]!==r){let e=n.filter(G),i;t[6]===r?i=t[7]:(i=r>0&&(0,R.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,z.format(r)]}),t[6]=r,t[7]=i),o=(0,R.jsxs)(`span`,{className:`flex flex-wrap items-center gap-3`,children:[i,a>0?(0,R.jsx)(d,{art:`rot`,children:a===1?`1 Problem`:`${a} Probleme`}):e.length>0?(0,R.jsx)(d,{art:`bernstein`,children:e.some(W)?`Startet gerade`:`Stoppt gerade`}):(0,R.jsx)(d,{art:`gruen`,children:`Alles in Ordnung`})]}),t[2]=n,t[3]=a,t[4]=r,t[5]=o}else o=t[5];return o}function W(e){return S(e)===`startet`}function G(e){return w(e)===1}function K(){let e=m(),t=g(),[n,r]=(0,y.useState)(null),[i,d]=(0,y.useState)(null),[f,h]=(0,y.useState)(!1),[_,b]=(0,y.useState)(null);async function x(t){if(!_){b(t.unit);try{let e=await o(`/api/maintenance/restart`,{service:t.unit});e.ok?c(`erfolg`,L(t)):c(`fehler`,`${t.name} ließ sich nicht starten: ${s(e)}`)}catch(e){t.unit===`mission-control-2`&&e instanceof l?c(`info`,`Der Box-Wart startet neu. Die Seite ist gleich wieder da.`):c(`fehler`,e.message)}finally{b(null),e.invalidateQueries({queryKey:[`dienste`]}),e.invalidateQueries({queryKey:[`protokoll`,t.unit]})}}}if(t.isPending)return(0,R.jsx)(u,{text:`Die Dienste werden gelesen …`});if(!t.data)return(0,R.jsx)(u,{fehler:!0,text:`Die Dienste lassen sich gerade nicht lesen: ${t.error?.message??`keine Daten`}`});let S=t.data,C=i?I(i):null,w=S.speicher_gesamt?`den ${a(S.speicher_gesamt)}`:`dem Arbeitsspeicher`,T=S.kerne?`allen ${S.kerne} Kernen`:`allen Kernen`;return(0,R.jsxs)(p,{titel:`Dienste`,rechts:(0,R.jsx)(U,{dienste:S.services,stand:t.dataUpdatedAt}),children:[(0,R.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Die Dienste der KI-Box: ob sie laufen, was sie gerade an CPU und Speicher brauchen, seit wann sie laufen und was sie zuletzt ins Protokoll geschrieben haben. Probleme stehen oben.`}),S.services.length===0?(0,R.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}):(0,R.jsx)(H,{stand:S,gewaehlt:n,startet:_,onProtokoll:e=>r(n===e?null:e),onFrage:e=>{d(e),h(!0)}}),(0,R.jsxs)(`p`,{className:`m-0 text-xs leading-relaxed text-text-3`,children:[`CPU: Anteil an `,T,` der Box, gemessen zwischen zwei Abfragen (alle zehn Sekunden). Speicher: was systemd dem Dienst zurechnet; der Balken zeigt den Anteil an `,w,` der Box. Bei der Engine zählen die geladenen Modelle mit — sie liegen im Grafikspeicher, den systemd keinem Dienst zurechnet. Neustarts: wie oft systemd den Dienst nach einem Absturz von selbst wieder gestartet hat. „Schläft“ heißt: mit Absicht abgeschaltet, kein Fehler.`]}),(0,R.jsx)(v,{offen:f&&!!C,titel:C?.titel??``,text:C?.text??``,knopf:C?.knopf??``,gefahr:C?.knopf===`Neu starten`,gesperrt:_!==null,onJa:()=>{h(!1),i&&x(i)},onNein:()=>h(!1)})]})}export{K as DiensteSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Dienste-atjWw704.js b/frontend/dist/assets/Dienste-atjWw704.js new file mode 100644 index 0000000..2b8545d --- /dev/null +++ b/frontend/dist/assets/Dienste-atjWw704.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{$t as a,C as o,Ht as s,It as c,K as l,Kt as u,S as d,b as f,m as p,mt as m,pn as h,tn as g}from"./index-CIOHqG23.js";import{t as _}from"./button-D8rvET0Z.js";import{t as v}from"./Bestaetigen-D6CzMfJm.js";var y=r(e(),1),b=t(),x={laeuft:{wort:`läuft`,punkt:`bg-gruen`,text:`text-text-3`},startet:{wort:`startet`,punkt:`bg-bernstein`,text:`text-bernstein`},stoppt:{wort:`stoppt`,punkt:`bg-bernstein`,text:`text-bernstein`},antwortet_nicht:{wort:`antwortet nicht`,punkt:`bg-rot`,text:`text-rot-text`},gestoppt:{wort:`gestoppt`,punkt:`bg-rot`,text:`text-rot-text`},gescheitert:{wort:`gescheitert`,punkt:`bg-rot`,text:`text-rot-text`},schlaeft:{wort:`schläft`,punkt:`bg-text-3`,text:`text-text-3`}};function S(e){return e.zustand?e.zustand:e.ok?`laeuft`:e.schlaeft?`schlaeft`:`antwortet_nicht`}var C={gescheitert:0,gestoppt:0,antwortet_nicht:0,startet:1,stoppt:1,laeuft:3,schlaeft:4};function w(e){let t=S(e);return t===`laeuft`&&(e.neustarts??0)>0?2:C[t]}var T=e=>w(e)===0,E=e=>[...e].sort((e,t)=>w(e)-w(t)),D=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0}),O=new Intl.NumberFormat(`de-DE`,{minimumFractionDigits:1,maximumFractionDigits:1});function ee(e){if(e==null)return`–`;let t=e/1024**2;return t<1e3?`${D.format(t)} MB`:`${O.format(t/1024)} GB`}function te(e,t){return e.speicher_bytes==null||!t?null:(e.speicher_bytes+(e.grafik_bytes??0))/t*100}function ne(e){return e==null?`–`:e>0&&e<.05?`< 0,1 %`:e<10?`${O.format(e).replace(/,0$/,``)} %`:`${D.format(e)} %`}function k(e){return e==null||e<0?`–`:e<60?`< 1 min`:p(e)}var A=`Europe/Berlin`,j=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:A}),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:A}),N=new Intl.DateTimeFormat(`en-CA`,{timeZone:A});function re(e,t=Date.now()){let n=new Date(t-e*1e3),r=N.format(n);return r===N.format(new Date(t))?`heute ${j.format(n)}`:r===N.format(new Date(t-864e5))?`gestern ${j.format(n)}`:`${M.format(n)}, ${j.format(n)}`}function ie(e,t=Date.now()){let n=S(e);return n===`schlaeft`?`mit Absicht aus`:(n===`gestoppt`||n===`gescheitert`)&&e.aus_seit_s!=null?`aus seit ${re(e.aus_seit_s,t)}`:null}function P(e){let t=S(e);return t===`schlaeft`?`Wecken`:t===`gestoppt`||t===`gescheitert`?`Starten`:`Neu starten`}var F={"llama-swap":`Laufende Antworten brechen ab; die Modelle werden danach neu geladen.`,"mission-control-2":`Das ist diese Oberfläche selbst: Sie ist ein paar Sekunden nicht erreichbar.`,"hermes-gateway":`Lucy antwortet in der Zeit nicht.`};function I(e){let t=P(e);if(t===`Wecken`)return{titel:`${e.name} wecken?`,text:`Der Dienst startet und läuft bis zum nächsten Neustart der Box. Danach schläft er wieder.`,knopf:t};if(t===`Starten`)return{titel:`${e.name} starten?`,text:`Der Dienst wird gestartet. Scheitert er wieder, steht der Grund im Protokoll.`,knopf:t};let n=F[e.unit]?` ${F[e.unit]}`:``;return{titel:`${e.name} neu starten?`,text:`Der Dienst wird neu gestartet und ist dabei kurz nicht erreichbar.${n}`,knopf:t}}function L(e){let t=P(e);return`${e.name} ${t===`Wecken`?`wird geweckt`:t===`Starten`?`startet`:`startet neu`}.`}var R=n(),ae=`grid-cols-2 gap-x-4 sm:grid-cols-4 xl:gap-x-3 xl:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_9.5rem] min-[87.5rem]:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_17.5rem]`,z=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`});function B(e){let t=(0,b.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,R.jsx)(`span`,{className:`block text-xs text-text-3 xl:hidden`,children:n}),t[0]=n,t[1]=r),r}function oe(e){let t=(0,b.c)(7),{anteil:n,children:r}=e,i;t[0]===r?i=t[1]:(i=(0,R.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=n!==null&&(0,R.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,R.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.min(100,Math.max(2,n))}%`,background:`var(--reihe-1)`}})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function se(e){let t=(0,b.c)(9),{d:n,id:r}=e,i=m(n.unit),a=(0,y.useRef)(null),o;if(i.isPending)o=`Wird gelesen …`;else if(i.isError)o=`Das Protokoll lässt sich gerade nicht lesen: ${i.error.message}`;else if(i.data.ok===!1)o=i.data.err||i.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===i.data.text?e=t[1]:(e=i.data.text?.trim()||`Noch keine Einträge.`,t[0]=i.data.text,t[1]=e),o=e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=[o],t[3]=o,t[4]=c),(0,y.useEffect)(s,c);let l=`Letzte Protokollzeilen von ${n.name}`,u;return t[5]!==r||t[6]!==l||t[7]!==o?(u=(0,R.jsx)(`pre`,{id:r,ref:a,tabIndex:0,"aria-label":l,className:`ziffern m-0 max-h-[50vh] w-full overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap break-words text-text-2`,children:o}),t[5]=r,t[6]=l,t[7]=o,t[8]=u):u=t[8],u}function V(e){let t=(0,b.c)(113),{d:n,gesamt:r,offen:a,startet:o,onProtokoll:s,onFrage:c}=e,l=x[S(n)],u;t[0]===n?u=t[1]:(u=ie(n),t[0]=n,t[1]=u);let d=u,f,p,m,h,g,v,y,C,w,E,D;if(t[2]!==n||t[3]!==r||t[4]!==l.punkt||t[5]!==l.text||t[6]!==l.wort||t[7]!==d){let e=te(n,r);f=n.neustarts??0,p=`protokoll-${n.unit}`,C=`row`,t[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=i(`grid gap-y-2.5 border-t border-linie py-3 xl:items-center`,ae),t[19]=w):w=t[19];let a;t[20]===l.punkt?a=t[21]:(a=i(`mt-1.5 size-2.5 shrink-0 rounded-full`,l.punkt),t[20]=l.punkt,t[21]=a);let o;t[22]===a?o=t[23]:(o=(0,R.jsx)(`span`,{"aria-hidden":!0,className:a}),t[22]=a,t[23]=o);let s;t[24]===n.name?s=t[25]:(s=(0,R.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[24]=n.name,t[25]=s);let c=n.scope===`system`?` · Systemdienst`:``,u;t[26]!==n.unit||t[27]!==c?(u=(0,R.jsxs)(`span`,{className:`ziffern text-xs break-words text-text-3`,children:[n.unit,c]}),t[26]=n.unit,t[27]=c,t[28]=u):u=t[28];let _;t[29]!==s||t[30]!==u?(_=(0,R.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[s,u]}),t[29]=s,t[30]=u,t[31]=_):_=t[31],t[32]!==o||t[33]!==_?(E=(0,R.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 xl:col-span-1`,children:[o,_]}),t[32]=o,t[33]=_,t[34]=E):E=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,R.jsx)(B,{children:`Zustand`}),t[35]=b):b=t[35];let x;t[36]===l.text?x=t[37]:(x=i(`schild text-xs`,l.text),t[36]=l.text,t[37]=x);let S;t[38]!==x||t[39]!==l.wort?(S=(0,R.jsx)(`span`,{className:x,children:l.wort}),t[38]=x,t[39]=l.wort,t[40]=S):S=t[40];let T;t[41]===d?T=t[42]:(T=d&&(0,R.jsx)(`span`,{className:`text-xs text-text-3`,children:d}),t[41]=d,t[42]=T);let O;t[43]===f?O=t[44]:(O=f>0&&(0,R.jsx)(`span`,{className:`text-xs text-bernstein xl:hidden`,children:f===1?`1 Neustart`:`${f} Neustarts`}),t[43]=f,t[44]=O),t[45]!==S||t[46]!==T||t[47]!==O?(D=(0,R.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[b,S,T,O]}),t[45]=S,t[46]=T,t[47]=O,t[48]=D):D=t[48];let k;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,R.jsx)(B,{children:`CPU`}),t[49]=k):k=t[49],t[50]===n.cpu_prozent?m=t[51]:(m=(0,R.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[k,n.cpu_prozent==null?(0,R.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,R.jsx)(oe,{anteil:n.cpu_prozent,children:ne(n.cpu_prozent)})]}),t[50]=n.cpu_prozent,t[51]=m),h=`cell`,g=`min-w-0`,t[52]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,R.jsx)(B,{children:`Speicher`}),t[52]=v):v=t[52],y=n.speicher_bytes==null?(0,R.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,R.jsxs)(oe,{anteil:e,children:[ee(n.speicher_bytes+(n.grafik_bytes??0)),e!==null&&(0,R.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,ne(e)]})]}),t[2]=n,t[3]=r,t[4]=l.punkt,t[5]=l.text,t[6]=l.wort,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=v,t[14]=y,t[15]=C,t[16]=w,t[17]=E,t[18]=D}else f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],v=t[13],y=t[14],C=t[15],w=t[16],E=t[17],D=t[18];let O;t[53]!==n.grafik_bytes||t[54]!==n.speicher_bytes?(O=n.speicher_bytes!=null&&!!n.grafik_bytes&&(0,R.jsxs)(`span`,{className:`mt-1 block text-xs text-text-3`,children:[`davon `,ee(n.grafik_bytes),` Modelle`]}),t[53]=n.grafik_bytes,t[54]=n.speicher_bytes,t[55]=O):O=t[55];let A;t[56]!==O||t[57]!==h||t[58]!==g||t[59]!==v||t[60]!==y?(A=(0,R.jsxs)(`span`,{role:h,className:g,children:[v,y,O]}),t[56]=O,t[57]=h,t[58]=g,t[59]=v,t[60]=y,t[61]=A):A=t[61];let j;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,R.jsx)(B,{children:`Läuft seit`}),t[62]=j):j=t[62];let M;t[63]===n.laeuft_seit_s?M=t[64]:(M=k(n.laeuft_seit_s),t[63]=n.laeuft_seit_s,t[64]=M);let N;t[65]===M?N=t[66]:(N=(0,R.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:M}),t[65]=M,t[66]=N);let F;t[67]===n.laeuft_seit_s?F=t[68]:(F=n.laeuft_seit_s!=null&&(0,R.jsxs)(`span`,{className:`text-xs text-text-3`,children:[`gestartet `,re(n.laeuft_seit_s)]}),t[67]=n.laeuft_seit_s,t[68]=F);let I;t[69]!==N||t[70]!==F?(I=(0,R.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[j,N,F]}),t[69]=N,t[70]=F,t[71]=I):I=t[71];let L=f>0?`text-bernstein`:`text-text-3`,z;t[72]===L?z=t[73]:(z=i(`ziffern text-sm`,L),t[72]=L,t[73]=z);let V=n.neustarts??`–`,H;t[74]!==z||t[75]!==V?(H=(0,R.jsx)(`span`,{role:`cell`,className:`hidden min-w-0 xl:block`,children:(0,R.jsx)(`span`,{className:z,children:V})}),t[74]=z,t[75]=V,t[76]=H):H=t[76];let U=a?`info`:`ghost`,W=a?p:void 0,G=`Protokoll von ${n.name}`,K;t[77]!==a||t[78]!==s||t[79]!==U||t[80]!==W||t[81]!==G?(K=(0,R.jsx)(_,{variant:U,size:`sm`,"aria-expanded":a,"aria-controls":W,"aria-label":G,onClick:s,children:`Protokoll`}),t[77]=a,t[78]=s,t[79]=U,t[80]=W,t[81]=G,t[82]=K):K=t[82];let q=T(n)?`default`:`outline`,ce=o!==null,J;t[83]!==n||t[84]!==o?(J=o===n.unit?`startet …`:P(n),t[83]=n,t[84]=o,t[85]=J):J=t[85];let le=`${n.name}: ${J}`,Y;t[86]!==n||t[87]!==o?(Y=o===n.unit?`Startet …`:P(n),t[86]=n,t[87]=o,t[88]=Y):Y=t[88];let X;t[89]!==c||t[90]!==q||t[91]!==ce||t[92]!==le||t[93]!==Y?(X=(0,R.jsx)(_,{variant:q,size:`sm`,disabled:ce,"aria-label":le,onClick:c,children:Y}),t[89]=c,t[90]=q,t[91]=ce,t[92]=le,t[93]=Y,t[94]=X):X=t[94];let Z;t[95]!==K||t[96]!==X?(Z=(0,R.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex flex-wrap gap-2 sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-start xl:col-span-1 xl:col-start-auto xl:row-start-auto xl:flex-col xl:items-stretch xl:self-center min-[87.5rem]:flex-row min-[87.5rem]:justify-end`,children:[K,X]}),t[95]=K,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==n||t[99]!==a||t[100]!==p?(Q=a&&(0,R.jsx)(`div`,{role:`cell`,className:`col-span-full`,children:(0,R.jsx)(se,{d:n,id:p})}),t[98]=n,t[99]=a,t[100]=p,t[101]=Q):Q=t[101];let $;return t[102]!==m||t[103]!==A||t[104]!==I||t[105]!==H||t[106]!==Z||t[107]!==Q||t[108]!==C||t[109]!==w||t[110]!==E||t[111]!==D?($=(0,R.jsxs)(`div`,{role:C,className:w,children:[E,D,m,A,I,H,Z,Q]}),t[102]=m,t[103]=A,t[104]=I,t[105]=H,t[106]=Z,t[107]=Q,t[108]=C,t[109]=w,t[110]=E,t[111]=D,t[112]=$):$=t[112],$}function H(e){let t=(0,b.c)(16),{stand:n,gewaehlt:r,startet:a,onProtokoll:o,onFrage:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,R.jsxs)(`div`,{role:`row`,className:i(`schild hidden pb-2 text-xs font-semibold text-text-3 xl:grid`,ae),children:[(0,R.jsx)(`span`,{role:`columnheader`,children:`Dienst`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Zustand`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`}),(0,R.jsx)(`span`,{role:`columnheader`,children:`Neustarts`}),(0,R.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktionen`})]}),t[0]=c):c=t[0];let l;if(t[1]!==r||t[2]!==s||t[3]!==o||t[4]!==n.services||t[5]!==n.speicher_gesamt||t[6]!==a){let e;t[8]!==r||t[9]!==s||t[10]!==o||t[11]!==n.speicher_gesamt||t[12]!==a?(e=e=>(0,R.jsx)(V,{d:e,gesamt:n.speicher_gesamt,offen:r===e.unit,startet:a,onProtokoll:()=>o(e.unit),onFrage:()=>s(e)},e.unit),t[8]=r,t[9]=s,t[10]=o,t[11]=n.speicher_gesamt,t[12]=a,t[13]=e):e=t[13],l=E(n.services).map(e),t[1]=r,t[2]=s,t[3]=o,t[4]=n.services,t[5]=n.speicher_gesamt,t[6]=a,t[7]=l}else l=t[7];let u;return t[14]===l?u=t[15]:(u=(0,R.jsxs)(`div`,{role:`table`,"aria-label":`Dienste der KI-Box`,className:`flex flex-col`,children:[c,l]}),t[14]=l,t[15]=u),u}function U(e){let t=(0,b.c)(8),{dienste:n,stand:r}=e,i;t[0]===n?i=t[1]:(i=n.filter(T),t[0]=n,t[1]=i);let a=i.length,o;if(t[2]!==n||t[3]!==a||t[4]!==r){let e=n.filter(G),i;t[6]===r?i=t[7]:(i=r>0&&(0,R.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,z.format(r)]}),t[6]=r,t[7]=i),o=(0,R.jsxs)(`span`,{className:`flex flex-wrap items-center gap-3`,children:[i,a>0?(0,R.jsx)(d,{art:`rot`,children:a===1?`1 Problem`:`${a} Probleme`}):e.length>0?(0,R.jsx)(d,{art:`bernstein`,children:e.some(W)?`Startet gerade`:`Stoppt gerade`}):(0,R.jsx)(d,{art:`gruen`,children:`Alles in Ordnung`})]}),t[2]=n,t[3]=a,t[4]=r,t[5]=o}else o=t[5];return o}function W(e){return S(e)===`startet`}function G(e){return w(e)===1}function K(){let e=h(),t=l(),[n,r]=(0,y.useState)(null),[i,d]=(0,y.useState)(null),[p,m]=(0,y.useState)(!1),[_,b]=(0,y.useState)(null);async function x(t){if(!_){b(t.unit);try{let e=await g(`/api/maintenance/restart`,{service:t.unit});e.ok?s(`erfolg`,L(t)):s(`fehler`,`${t.name} ließ sich nicht starten: ${u(e)}`)}catch(e){t.unit===`mission-control-2`&&e instanceof a?s(`info`,`Der Box-Wart startet neu. Die Seite ist gleich wieder da.`):s(`fehler`,e.message)}finally{b(null),e.invalidateQueries({queryKey:[`dienste`]}),e.invalidateQueries({queryKey:[`protokoll`,t.unit]})}}}if(t.isPending)return(0,R.jsx)(o,{text:`Die Dienste werden gelesen …`});if(!t.data)return(0,R.jsx)(o,{fehler:!0,text:`Die Dienste lassen sich gerade nicht lesen: ${t.error?.message??`keine Daten`}`});let S=t.data,C=i?I(i):null,w=S.speicher_gesamt?`den ${c(S.speicher_gesamt)}`:`dem Arbeitsspeicher`,T=S.kerne?`allen ${S.kerne} Kernen`:`allen Kernen`;return(0,R.jsxs)(f,{titel:`Dienste`,rechts:(0,R.jsx)(U,{dienste:S.services,stand:t.dataUpdatedAt}),children:[(0,R.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Die Dienste der KI-Box: ob sie laufen, was sie gerade an CPU und Speicher brauchen, seit wann sie laufen und was sie zuletzt ins Protokoll geschrieben haben. Probleme stehen oben.`}),S.services.length===0?(0,R.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}):(0,R.jsx)(H,{stand:S,gewaehlt:n,startet:_,onProtokoll:e=>r(n===e?null:e),onFrage:e=>{d(e),m(!0)}}),(0,R.jsxs)(`p`,{className:`m-0 text-xs leading-relaxed text-text-3`,children:[`CPU: Anteil an `,T,` der Box, gemessen zwischen zwei Abfragen (alle zehn Sekunden). Speicher: was systemd dem Dienst zurechnet; der Balken zeigt den Anteil an `,w,` der Box. Bei der Engine zählen die geladenen Modelle mit — sie liegen im Grafikspeicher, den systemd keinem Dienst zurechnet. Neustarts: wie oft systemd den Dienst nach einem Absturz von selbst wieder gestartet hat. „Schläft“ heißt: mit Absicht abgeschaltet, kein Fehler.`]}),(0,R.jsx)(v,{offen:p&&!!C,titel:C?.titel??``,text:C?.text??``,knopf:C?.knopf??``,gefahr:C?.knopf===`Neu starten`,gesperrt:_!==null,onJa:()=>{m(!1),i&&x(i)},onNein:()=>m(!1)})]})}export{K as DiensteSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Einstellungen-BUM2VQDj.js b/frontend/dist/assets/Einstellungen-BUM2VQDj.js new file mode 100644 index 0000000..10e8a4f --- /dev/null +++ b/frontend/dist/assets/Einstellungen-BUM2VQDj.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{Dt as a,H as o,Ht as s,Pt as c,S as l,Tt as u,V as d,Z as f,_t as p,an as m,at as h,cn as g,en as _,fn as v,kt as y,pn as b,pt as x,q as S,tn as C}from"./index-CIOHqG23.js";import{t as w}from"./button-D8rvET0Z.js";import{t as ee}from"./Bestaetigen-D6CzMfJm.js";var T={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};T.node;var E=g(T),D=t(),O=r(e(),1),k=n(),A=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],j=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function N(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?M.format(t):`–`}function P(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${A[e-1]} ${o}–${s}`:`${A[e-1]} ${o} – ${A[i-1]} ${s}`}function F(e){let t=(0,D.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,k.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,k.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-linie pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function I(e){let t=(0,D.c)(19),{titel:n,text:r,farbe:a,children:o}=e,s=a===`box`?`bg-box`:a===`homelab`?`bg-lab`:`bg-linie-stark`,c=a===`box`?`text-box-text`:a===`homelab`?`text-lab-text`:`text-foreground`,l;t[0]===s?l=t[1]:(l=i(`absolute inset-x-0 top-0 h-1`,s),t[0]=s,t[1]=l);let u;t[2]===l?u=t[3]:(u=(0,k.jsx)(`span`,{"aria-hidden":!0,className:l}),t[2]=l,t[3]=u);let d;t[4]===c?d=t[5]:(d=i(`schild text-lg font-bold tracking-[0.22em]`,c),t[4]=c,t[5]=d);let f;t[6]!==d||t[7]!==n?(f=(0,k.jsx)(`h2`,{className:d,children:n}),t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,k.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==o||t[15]!==u||t[16]!==m||t[17]!==n?(h=(0,k.jsxs)(`section`,{"aria-label":n,className:`relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-2xl border border-linie bg-panel p-5 sm:p-6`,children:[u,m,o]}),t[14]=o,t[15]=u,t[16]=m,t[17]=n,t[18]=h):h=t[18],h}function L(e){let t=(0,D.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function R(e){let t=(0,D.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function z({offen:e}){let t=b(),n=v({queryKey:[`geheimnisse`],queryFn:()=>_(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(!1),[c,l]=(0,O.useState)(!1);async function u(e){if(!a){o(!0),l(!1);try{await C(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),s(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){s(`fehler`,e.message)}finally{o(!1)}}}let d=n.data,f;return f=n.isPending?`Wird gelesen …`:d?d.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,k.jsxs)(F,{titel:`Hugging-Face-Zugang`,children:[(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,k.jsx)(`span`,{className:!d&&!n.isPending?`text-rot-text`:void 0,children:f}),` Nötig für gesperrte Modelle und schnellere Downloads.`,d?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),d?.schreibbar===!1&&(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&u(r.trim())},children:[(0,k.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,k.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),(0,k.jsx)(w,{type:`submit`,disabled:!r.trim()||d?.schreibbar===!1||a,children:a?`Speichert …`:`Speichern`})]}),d?.hf_token_gesetzt&&!d.hf_token_aus_env&&(c?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:a,onClick:()=>u(null),children:`Wirklich löschen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>l(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:a,onClick:()=>l(!0),children:`Zugang löschen`}))]})}function B(e){let t=(0,D.c)(24),{ziel:n,name:r}=e,i=a(),o=i.data,s=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],s=e}else if(o?.gesendet){let e=o.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=o.kennung?`, Kennung ${o.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,k.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],s=r}else if(o){let e=o.grund??o.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),s=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,k.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),s=e}let c;t[8]===r?c=t[9]:(c=(0,k.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=c);let l;t[10]!==i||t[11]!==n?(l=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=l):l=t[12];let u=`Testmeldung von ${r} senden`,d=i.isPending?`Sendet …`:`Test senden`,f;t[13]!==l||t[14]!==u||t[15]!==d||t[16]!==i.isPending?(f=(0,k.jsx)(w,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:l,"aria-label":u,children:d}),t[13]=l,t[14]=u,t[15]=d,t[16]=i.isPending,t[17]=f):f=t[17];let p;t[18]!==c||t[19]!==f?(p=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[c,f]}),t[18]=c,t[19]=f,t[20]=p):p=t[20];let m;return t[21]!==s||t[22]!==p?(m=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[p,s]}),t[21]=s,t[22]=p,t[23]=m):m=t[23],m}function V(){let e=(0,D.c)(9),t=h().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(U),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),s=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=s):(o=e[5],s=e[6]);let c;return e[7]===a?c=e[8]:(c=(0,k.jsxs)(F,{titel:`Telegram`,children:[o,s,a.map(H)]}),e[7]=a,e[8]=c),c}function H(e){return(0,k.jsx)(B,{ziel:e.ziel,name:e.name},e.ziel)}function U(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function W(e){let t=(0,D.c)(87),{e:n,laedt:r,fehler:i}=e,a=y(),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Update-Zeitfenster`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let u=n.update_fenster,d,f,p,m,h,g,_,v,b,x,S,C,T,E,M,I,z;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==u.naechster_lauf||t[6]!==u.neustart_fenster||t[7]!==u.tag||t[8]!==u.tag_name||t[9]!==u.timer_aktiv||t[10]!==u.uhrzeit||t[11]!==u.wirksam){z=o??{tag:u.tag,uhrzeit:u.uhrzeit},f=z.tag!==u.tag||z.uhrzeit!==u.uhrzeit;let e=j.includes(z.uhrzeit)?j:[...j,z.uhrzeit].sort();d=F,h=`Update-Zeitfenster`;let r;t[29]===u.naechster_lauf?r=t[30]:(r=u.naechster_lauf?` (nächster Lauf ${N(u.naechster_lauf)})`:``,t[29]=u.naechster_lauf,t[30]=r),t[31]!==u.neustart_fenster||t[32]!==u.tag_name||t[33]!==u.uhrzeit||t[34]!==r?(g=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,u.tag_name,` um `,u.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,u.neustart_fenster,`.`]}),t[31]=u.neustart_fenster,t[32]=u.tag_name,t[33]=u.uhrzeit,t[34]=r,t[35]=g):g=t[35],t[36]!==n.schaltbar||t[37]!==u.timer_aktiv?(_=n.schaltbar&&!u.timer_aktiv&&(0,k.jsx)(L,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=u.timer_aktiv,t[38]=_):_=t[38],t[39]!==n.schaltbar||t[40]!==u.wirksam?(v=n.schaltbar&&!u.wirksam&&(0,k.jsx)(L,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=u.wirksam,t[41]=v):v=t[41],I=`flex flex-wrap items-end gap-2`;let i=z.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=A.map(K),t[42]=a):a=t[42],m=(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,k.jsx)(`select`,{className:`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>s({...z,tag:Number(e.target.value)}),children:a})]}),E=`flex flex-col gap-1 text-xs text-text-3`,M=`Uhrzeit`,p=`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,b=z.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>s({...z,uhrzeit:e.target.value}),T=e.map(G),t[3]=n.schaltbar,t[4]=o,t[5]=u.naechster_lauf,t[6]=u.neustart_fenster,t[7]=u.tag,t[8]=u.tag_name,t[9]=u.timer_aktiv,t[10]=u.uhrzeit,t[11]=u.wirksam,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h,t[17]=g,t[18]=_,t[19]=v,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=T,t[25]=E,t[26]=M,t[27]=I,t[28]=z}else d=t[12],f=t[13],p=t[14],m=t[15],h=t[16],g=t[17],_=t[18],v=t[19],b=t[20],x=t[21],S=t[22],C=t[23],T=t[24],E=t[25],M=t[26],I=t[27],z=t[28];let B;t[43]!==p||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==T?(B=(0,k.jsx)(`select`,{className:p,value:b,disabled:x,"aria-label":S,onChange:C,children:T}),t[43]=p,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=T,t[49]=B):B=t[49];let V;t[50]!==B||t[51]!==E||t[52]!==M?(V=(0,k.jsxs)(`label`,{className:E,children:[M,B]}),t[50]=B,t[51]=E,t[52]=M,t[53]=V):V=t[53];let H=!n.schaltbar||a.isPending||!f&&u.wirksam,U;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>l(!0),t[54]=U):U=t[54];let W=a.isPending?`Speichert …`:`Speichern`,q;t[55]!==H||t[56]!==W?(q=(0,k.jsx)(w,{disabled:H,onClick:U,children:W}),t[55]=H,t[56]=W,t[57]=q):q=t[57];let J;t[58]!==m||t[59]!==V||t[60]!==q||t[61]!==I?(J=(0,k.jsxs)(`div`,{className:I,children:[m,V,q]}),t[58]=m,t[59]=V,t[60]=q,t[61]=I,t[62]=J):J=t[62];let Y=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,X;t[63]===Y?X=t[64]:(X=(0,k.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,Y]}),t[63]=Y,t[64]=X);let Z;t[65]!==z.tag||t[66]!==z.uhrzeit?(Z=P(z.tag,z.uhrzeit),t[65]=z.tag,t[66]=z.uhrzeit,t[67]=Z):Z=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${A[z.tag-1]} um ${z.uhrzeit} Uhr. Neu gestartet wird die Box nur ${Z}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>l(!1),t[68]=ne):ne=t[68];let Q;t[69]!==c||t[70]!==a||t[71]!==z?(Q=()=>{c&&(a.mutate(z,{onSuccess:()=>s(null)}),l(!1))},t[69]=c,t[70]=a,t[71]=z,t[72]=Q):Q=t[72];let $;t[73]!==c||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,k.jsx)(ee,{offen:c,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=c,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==d||t[79]!==h||t[80]!==g||t[81]!==_||t[82]!==v||t[83]!==J||t[84]!==X||t[85]!==$?(re=(0,k.jsxs)(d,{titel:h,children:[g,_,v,J,X,$]}),t[78]=d,t[79]=h,t[80]=g,t[81]=_,t[82]=v,t[83]=J,t[84]=X,t[85]=$,t[86]=re):re=t[86],re}function G(e){return(0,k.jsx)(`option`,{value:e,children:e},e)}function K(e,t){return(0,k.jsx)(`option`,{value:t+1,children:e},e)}function q(e){let t=(0,D.c)(37),{e:n,laedt:r,fehler:i}=e,a=p(),[o,s]=(0,O.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Modell-Radar`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let c=n.radar,l=c.zustand===`an`||c.zustand===`unbekannt`&&c.an,u;t[3]===c.naechster_lauf?u=t[4]:(u=c.naechster_lauf?` (nächster Lauf ${N(c.naechster_lauf)})`:``,t[3]=c.naechster_lauf,t[4]=u);let d=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${u}.`,f=c.an?`Eingeschaltet.`:`Ausgeschaltet.`,m;t[5]!==d||t[6]!==f?(m={an:d,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:f},t[5]=d,t[6]=f,t[7]=m):m=t[7];let h=m[c.zustand],g;t[8]===h?g=t[9]:(g=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:h}),t[8]=h,t[9]=g);let _;t[10]!==n.schaltbar||t[11]!==c.an||t[12]!==c.wirksam?(_=n.schaltbar&&!c.wirksam&&(0,k.jsxs)(L,{children:[`Eingestellt ist „`,c.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=c.an,t[12]=c.wirksam,t[13]=_):_=t[13];let v=l?`outline`:`default`,y=!n.schaltbar||a.isPending,b;t[14]===l?b=t[15]:(b=()=>s(!l),t[14]=l,t[15]=b);let x=a.isPending?`Schaltet …`:l?`Ausschalten`:`Einschalten`,S;t[16]!==b||t[17]!==x||t[18]!==v||t[19]!==y?(S=(0,k.jsx)(w,{variant:v,size:`sm`,className:`self-start`,disabled:y,onClick:b,children:x}),t[16]=b,t[17]=x,t[18]=v,t[19]=y,t[20]=S):S=t[20];let C=o!==null,T=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,E=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,A=o?`Einschalten`:`Ausschalten`,j;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>s(null),t[21]=j):j=t[21];let M;t[22]!==o||t[23]!==a?(M=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=M):M=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==A||t[30]!==M?(P=(0,k.jsx)(ee,{offen:C,titel:T,text:E,knopf:A,gesperrt:a.isPending,onNein:j,onJa:M}),t[25]=a.isPending,t[26]=C,t[27]=T,t[28]=E,t[29]=A,t[30]=M,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==g||t[35]!==_?(I=(0,k.jsxs)(F,{titel:`Modell-Radar`,children:[g,_,S,P]}),t[32]=S,t[33]=P,t[34]=g,t[35]=_,t[36]=I):I=t[36],I}function J(e){let t=(0,D.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,k.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,k.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,k.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${N(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${N(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,k.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,k.jsxs)(k.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,k.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Y(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function X(e){let t=(0,D.c)(21),{offen:n}=e,r=h().data,i=!!r?.partner.eingerichtet,[a,o]=u(n,i),s=a.data?.stand?.commit,c=o.data?.stand?.commit,l;t[0]!==s||t[1]!==c?(l=Y(s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let d=l,f=a.data?.instanz??r?.instanz??`Diese Instanz`,p=a.data?.stand,m=a.error?.message,g;t[3]!==a.isPending||t[4]!==f||t[5]!==p||t[6]!==m?(g=(0,k.jsx)(J,{name:f,stand:p,laedt:a.isPending,fehler:m}),t[3]=a.isPending,t[4]=f,t[5]=p,t[6]=m,t[7]=g):g=t[7];let _;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(_=i&&(0,k.jsx)(J,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=_):_=t[14];let v;t[15]===d?v=t[16]:(v=d===!1&&(0,k.jsx)(L,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=d,t[16]=v);let y;return t[17]!==g||t[18]!==_||t[19]!==v?(y=(0,k.jsxs)(F,{titel:`Instanzen`,children:[g,_,v]}),t[17]=g,t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function Z(e){let t=(0,D.c)(52),{h:n}=e,r=o(),i=d(),[a,s]=(0,O.useState)(``),[c,u]=(0,O.useState)(!1),[f,p]=(0,O.useState)(null),h=n.arcane,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={hinterlegt:(0,k.jsx)(l,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,k.jsx)(l,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,k.jsx)(l,{art:`bernstein`,children:`fehlt`})},t[0]=g):g=t[0];let _=g[h.schluessel],v;t[1]===h.url?v=t[2]:(v=h.url&&(0,k.jsxs)(`a`,{href:h.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,k.jsx)(m,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=h.url,t[2]=v);let y;t[3]!==_||t[4]!==v?(y=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,_,v]}),t[3]=_,t[4]=v,t[5]=y):y=t[5];let b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=b):b=t[6];let x;t[7]!==h.schluessel||t[8]!==r||t[9]!==a?(x=h.schluessel!==`umgebung`&&(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>s(``)})},children:[(0,k.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,k.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,k.jsx)(E,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,k.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>s(e.target.value),placeholder:h.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-lg border border-linie-stark bg-erhaben pr-3 pl-9 text-[15px] outline-none focus:border-lab`})]}),(0,k.jsx)(w,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=h.schluessel,t[8]=r,t[9]=a,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=S):S=t[11];let C;t[12]!==h.schluessel||t[13]!==c||t[14]!==r?(C=h.schluessel===`hinterlegt`&&(c?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),u(!1)},children:`Wirklich entfernen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>u(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>u(!0),children:`Schlüssel entfernen`})),t[12]=h.schluessel,t[13]=c,t[14]=r,t[15]=C):C=t[15];let T;t[16]!==y||t[17]!==x||t[18]!==C?(T=(0,k.jsxs)(F,{titel:`Arcane (Docker)`,children:[y,b,x,S,C]}),t[16]=y,t[17]=x,t[18]=C,t[19]=T):T=t[19];let A=h.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,j=h.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,M;t[20]!==A||t[21]!==j?(M=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[A,j]}),t[20]=A,t[21]=j,t[22]=M):M=t[22];let N=h.echt?`outline`:`default`,P=h.echt_quelle===`umgebung`||i.isPending||h.schluessel===`fehlt`,I;t[23]===h.echt?I=t[24]:(I=()=>p(!h.echt),t[23]=h.echt,t[24]=I);let L=i.isPending?`Schaltet …`:h.echt?`Zurück auf Probelauf`:`Echt schalten`,R;t[25]!==N||t[26]!==P||t[27]!==I||t[28]!==L?(R=(0,k.jsx)(w,{variant:N,size:`sm`,className:`self-start`,disabled:P,onClick:I,children:L}),t[25]=N,t[26]=P,t[27]=I,t[28]=L,t[29]=R):R=t[29];let z;t[30]===h.schluessel?z=t[31]:(z=h.schluessel===`fehlt`&&(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=h.schluessel,t[31]=z);let B=f!==null,V=f?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,H=f?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,U=f?`Echt schalten`:`Probelauf`,W=!!f,G;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>p(null),t[32]=G):G=t[32];let K;t[33]!==i||t[34]!==f?(K=()=>{f!==null&&(i.mutate(f),p(null))},t[33]=i,t[34]=f,t[35]=K):K=t[35];let q;t[36]!==i.isPending||t[37]!==B||t[38]!==V||t[39]!==H||t[40]!==U||t[41]!==W||t[42]!==K?(q=(0,k.jsx)(ee,{offen:B,titel:V,text:H,knopf:U,gefahr:W,gesperrt:i.isPending,onNein:G,onJa:K}),t[36]=i.isPending,t[37]=B,t[38]=V,t[39]=H,t[40]=U,t[41]=W,t[42]=K,t[43]=q):q=t[43];let J;t[44]!==M||t[45]!==R||t[46]!==z||t[47]!==q?(J=(0,k.jsxs)(F,{titel:`Docker-Updates`,children:[M,R,z,q]}),t[44]=M,t[45]=R,t[46]=z,t[47]=q,t[48]=J):J=t[48];let Y;return t[49]!==J||t[50]!==T?(Y=(0,k.jsxs)(k.Fragment,{children:[T,J]}),t[49]=J,t[50]=T,t[51]=Y):Y=t[51],Y}function te(e){let t=(0,D.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,o=r.verbunden?`verbunden`:`meldet sich nicht`,s;t[1]===r.zuletzt?s=t[2]:(s=r.zuletzt?` · zuletzt ${c(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=s);let l;t[3]!==a||t[4]!==o||t[5]!==s?(l=(0,k.jsxs)(`dd`,{className:a,children:[o,s]}),t[3]=a,t[4]=o,t[5]=s,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=u):u=t[7];let d=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,f;t[8]===d?f=t[9]:(f=(0,k.jsx)(`dd`,{className:`text-text-2`,children:d}),t[8]=d,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=p):p=t[10];let m=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,h;t[11]===m?h=t[12]:(h=(0,k.jsx)(`dd`,{className:`text-text-2`,children:m}),t[11]=m,t[12]=h);let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=g):g=t[13];let _=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,v;t[14]===_?v=t[15]:(v=(0,k.jsx)(`dd`,{className:`text-text-2`,children:_}),t[14]=_,t[15]=v);let y;return t[16]!==h||t[17]!==v||t[18]!==l||t[19]!==f?(y=(0,k.jsx)(F,{titel:`Ausführer und Updates`,children:(0,k.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,l,u,f,p,h,g,v]})}),t[16]=h,t[17]=v,t[18]=l,t[19]=f,t[20]=y):y=t[20],y}function ne(){let e=(0,D.c)(8),t=h().data,n=x().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=f(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z,{h:i.data}),(0,k.jsx)(te,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,k.jsx)(R,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,k.jsx)(I,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function Q(){let e=(0,D.c)(17),t=S(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,a,o;e[4]===i?(a=e[5],o=e[6]):(a=(0,k.jsx)(W,{...i}),o=(0,k.jsx)(q,{...i}),e[4]=i,e[5]=a,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,k.jsx)(z,{offen:!0}),e[7]=s):s=e[7];let c;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,k.jsxs)(F,{titel:`Hermes`,children:[(0,k.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-lg border border-linie-stark bg-erhaben px-4 text-[15px] hover:border-text-3`,children:[(0,k.jsx)(m,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=c):c=e[8];let l;e[9]!==a||e[10]!==o?(l=(0,k.jsxs)(I,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[a,o,s,c]}),e[9]=a,e[10]=o,e[11]=l):l=e[11];let u;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,k.jsx)(ne,{}),e[12]=u):u=e[12];let d;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,k.jsx)(I,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,k.jsx)(V,{})}),e[13]=d):d=e[13];let f;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(I,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,k.jsx)(X,{offen:!0})}),e[14]=f):f=e[14];let p;return e[15]===l?p=e[16]:(p=(0,k.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[l,u,d,f]}),e[15]=l,e[16]=p),p}export{Q as EinstellungenSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Einstellungen-DU7spr-x.js b/frontend/dist/assets/Einstellungen-DU7spr-x.js deleted file mode 100644 index ba84108..0000000 --- a/frontend/dist/assets/Einstellungen-DU7spr-x.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{B as a,F as o,Gt as s,Kt as c,Nt as l,P as u,Qt as d,Tt as f,W as p,Yt as m,Z as h,at as g,bt as _,gt as v,h as y,lt as b,nn as x,rn as S,vt as C}from"./index-BwBSJspl.js";import{t as w}from"./button-D8rvET0Z.js";import{t as ee}from"./Bestaetigen-DO-opKIi.js";var T={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};T.node;var E=d(T),D=t(),O=r(e(),1),k=n(),A=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],j=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),M=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function N(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?M.format(t):`–`}function P(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${A[e-1]} ${o}–${s}`:`${A[e-1]} ${o} – ${A[i-1]} ${s}`}function F(e){let t=(0,D.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,k.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,k.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-linie pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function I(e){let t=(0,D.c)(19),{titel:n,text:r,farbe:a,children:o}=e,s=a===`box`?`bg-box`:a===`homelab`?`bg-lab`:`bg-linie-stark`,c=a===`box`?`text-box-text`:a===`homelab`?`text-lab-text`:`text-foreground`,l;t[0]===s?l=t[1]:(l=i(`absolute inset-x-0 top-0 h-1`,s),t[0]=s,t[1]=l);let u;t[2]===l?u=t[3]:(u=(0,k.jsx)(`span`,{"aria-hidden":!0,className:l}),t[2]=l,t[3]=u);let d;t[4]===c?d=t[5]:(d=i(`schild text-lg font-bold tracking-[0.22em]`,c),t[4]=c,t[5]=d);let f;t[6]!==d||t[7]!==n?(f=(0,k.jsx)(`h2`,{className:d,children:n}),t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,k.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==o||t[15]!==u||t[16]!==m||t[17]!==n?(h=(0,k.jsxs)(`section`,{"aria-label":n,className:`relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-2xl border border-linie bg-panel p-5 sm:p-6`,children:[u,m,o]}),t[14]=o,t[15]=u,t[16]=m,t[17]=n,t[18]=h):h=t[18],h}function L(e){let t=(0,D.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function R(e){let t=(0,D.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function z({offen:e}){let t=S(),n=x({queryKey:[`geheimnisse`],queryFn:()=>s(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,O.useState)(``),[a,o]=(0,O.useState)(!1),[u,d]=(0,O.useState)(!1);async function f(e){if(!a){o(!0),d(!1);try{await c(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),l(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){l(`fehler`,e.message)}finally{o(!1)}}}let p=n.data,m;return m=n.isPending?`Wird gelesen …`:p?p.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,k.jsxs)(F,{titel:`Hugging-Face-Zugang`,children:[(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,k.jsx)(`span`,{className:!p&&!n.isPending?`text-rot-text`:void 0,children:m}),` Nötig für gesperrte Modelle und schnellere Downloads.`,p?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),p?.schreibbar===!1&&(0,k.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&f(r.trim())},children:[(0,k.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,k.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),(0,k.jsx)(w,{type:`submit`,disabled:!r.trim()||p?.schreibbar===!1||a,children:a?`Speichert …`:`Speichern`})]}),p?.hf_token_gesetzt&&!p.hf_token_aus_env&&(u?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:a,onClick:()=>f(null),children:`Wirklich löschen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>d(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:a,onClick:()=>d(!0),children:`Zugang löschen`}))]})}function B(e){let t=(0,D.c)(24),{ziel:n,name:r}=e,i=C(),a=i.data,o=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],o=e}else if(a?.gesendet){let e=a.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=a.kennung?`, Kennung ${a.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,k.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],o=r}else if(a){let e=a.grund??a.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,k.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),o=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,k.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),o=e}let s;t[8]===r?s=t[9]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=s);let c;t[10]!==i||t[11]!==n?(c=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=c):c=t[12];let l=`Testmeldung von ${r} senden`,u=i.isPending?`Sendet …`:`Test senden`,d;t[13]!==c||t[14]!==l||t[15]!==u||t[16]!==i.isPending?(d=(0,k.jsx)(w,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:c,"aria-label":l,children:u}),t[13]=c,t[14]=l,t[15]=u,t[16]=i.isPending,t[17]=d):d=t[17];let f;t[18]!==s||t[19]!==d?(f=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[18]=s,t[19]=d,t[20]=f):f=t[20];let p;return t[21]!==o||t[22]!==f?(p=(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,o]}),t[21]=o,t[22]=f,t[23]=p):p=t[23],p}function V(){let e=(0,D.c)(9),t=h().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(U),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),s=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=s):(o=e[5],s=e[6]);let c;return e[7]===a?c=e[8]:(c=(0,k.jsxs)(F,{titel:`Telegram`,children:[o,s,a.map(H)]}),e[7]=a,e[8]=c),c}function H(e){return(0,k.jsx)(B,{ziel:e.ziel,name:e.name},e.ziel)}function U(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function W(e){let t=(0,D.c)(87),{e:n,laedt:r,fehler:i}=e,a=_(),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Update-Zeitfenster`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let u=n.update_fenster,d,f,p,m,h,g,v,y,b,x,S,C,T,E,M,I,z;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==u.naechster_lauf||t[6]!==u.neustart_fenster||t[7]!==u.tag||t[8]!==u.tag_name||t[9]!==u.timer_aktiv||t[10]!==u.uhrzeit||t[11]!==u.wirksam){z=o??{tag:u.tag,uhrzeit:u.uhrzeit},f=z.tag!==u.tag||z.uhrzeit!==u.uhrzeit;let e=j.includes(z.uhrzeit)?j:[...j,z.uhrzeit].sort();d=F,h=`Update-Zeitfenster`;let r;t[29]===u.naechster_lauf?r=t[30]:(r=u.naechster_lauf?` (nächster Lauf ${N(u.naechster_lauf)})`:``,t[29]=u.naechster_lauf,t[30]=r),t[31]!==u.neustart_fenster||t[32]!==u.tag_name||t[33]!==u.uhrzeit||t[34]!==r?(g=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,u.tag_name,` um `,u.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,u.neustart_fenster,`.`]}),t[31]=u.neustart_fenster,t[32]=u.tag_name,t[33]=u.uhrzeit,t[34]=r,t[35]=g):g=t[35],t[36]!==n.schaltbar||t[37]!==u.timer_aktiv?(v=n.schaltbar&&!u.timer_aktiv&&(0,k.jsx)(L,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=u.timer_aktiv,t[38]=v):v=t[38],t[39]!==n.schaltbar||t[40]!==u.wirksam?(y=n.schaltbar&&!u.wirksam&&(0,k.jsx)(L,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=u.wirksam,t[41]=y):y=t[41],I=`flex flex-wrap items-end gap-2`;let i=z.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=A.map(K),t[42]=a):a=t[42],m=(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,k.jsx)(`select`,{className:`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>s({...z,tag:Number(e.target.value)}),children:a})]}),E=`flex flex-col gap-1 text-xs text-text-3`,M=`Uhrzeit`,p=`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] text-foreground outline-none focus:border-cyan`,b=z.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>s({...z,uhrzeit:e.target.value}),T=e.map(G),t[3]=n.schaltbar,t[4]=o,t[5]=u.naechster_lauf,t[6]=u.neustart_fenster,t[7]=u.tag,t[8]=u.tag_name,t[9]=u.timer_aktiv,t[10]=u.uhrzeit,t[11]=u.wirksam,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h,t[17]=g,t[18]=v,t[19]=y,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=T,t[25]=E,t[26]=M,t[27]=I,t[28]=z}else d=t[12],f=t[13],p=t[14],m=t[15],h=t[16],g=t[17],v=t[18],y=t[19],b=t[20],x=t[21],S=t[22],C=t[23],T=t[24],E=t[25],M=t[26],I=t[27],z=t[28];let B;t[43]!==p||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==T?(B=(0,k.jsx)(`select`,{className:p,value:b,disabled:x,"aria-label":S,onChange:C,children:T}),t[43]=p,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=T,t[49]=B):B=t[49];let V;t[50]!==B||t[51]!==E||t[52]!==M?(V=(0,k.jsxs)(`label`,{className:E,children:[M,B]}),t[50]=B,t[51]=E,t[52]=M,t[53]=V):V=t[53];let H=!n.schaltbar||a.isPending||!f&&u.wirksam,U;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>l(!0),t[54]=U):U=t[54];let W=a.isPending?`Speichert …`:`Speichern`,q;t[55]!==H||t[56]!==W?(q=(0,k.jsx)(w,{disabled:H,onClick:U,children:W}),t[55]=H,t[56]=W,t[57]=q):q=t[57];let J;t[58]!==m||t[59]!==V||t[60]!==q||t[61]!==I?(J=(0,k.jsxs)(`div`,{className:I,children:[m,V,q]}),t[58]=m,t[59]=V,t[60]=q,t[61]=I,t[62]=J):J=t[62];let Y=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,X;t[63]===Y?X=t[64]:(X=(0,k.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,Y]}),t[63]=Y,t[64]=X);let Z;t[65]!==z.tag||t[66]!==z.uhrzeit?(Z=P(z.tag,z.uhrzeit),t[65]=z.tag,t[66]=z.uhrzeit,t[67]=Z):Z=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${A[z.tag-1]} um ${z.uhrzeit} Uhr. Neu gestartet wird die Box nur ${Z}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>l(!1),t[68]=ne):ne=t[68];let Q;t[69]!==c||t[70]!==a||t[71]!==z?(Q=()=>{c&&(a.mutate(z,{onSuccess:()=>s(null)}),l(!1))},t[69]=c,t[70]=a,t[71]=z,t[72]=Q):Q=t[72];let $;t[73]!==c||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,k.jsx)(ee,{offen:c,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=c,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==d||t[79]!==h||t[80]!==g||t[81]!==v||t[82]!==y||t[83]!==J||t[84]!==X||t[85]!==$?(re=(0,k.jsxs)(d,{titel:h,children:[g,v,y,J,X,$]}),t[78]=d,t[79]=h,t[80]=g,t[81]=v,t[82]=y,t[83]=J,t[84]=X,t[85]=$,t[86]=re):re=t[86],re}function G(e){return(0,k.jsx)(`option`,{value:e,children:e},e)}function K(e,t){return(0,k.jsx)(`option`,{value:t+1,children:e},e)}function q(e){let t=(0,D.c)(37),{e:n,laedt:r,fehler:i}=e,a=b(),[o,s]=(0,O.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,k.jsx)(F,{titel:`Modell-Radar`,children:(0,k.jsx)(R,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let c=n.radar,l=c.zustand===`an`||c.zustand===`unbekannt`&&c.an,u;t[3]===c.naechster_lauf?u=t[4]:(u=c.naechster_lauf?` (nächster Lauf ${N(c.naechster_lauf)})`:``,t[3]=c.naechster_lauf,t[4]=u);let d=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${u}.`,f=c.an?`Eingeschaltet.`:`Ausgeschaltet.`,p;t[5]!==d||t[6]!==f?(p={an:d,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:f},t[5]=d,t[6]=f,t[7]=p):p=t[7];let m=p[c.zustand],h;t[8]===m?h=t[9]:(h=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:m}),t[8]=m,t[9]=h);let g;t[10]!==n.schaltbar||t[11]!==c.an||t[12]!==c.wirksam?(g=n.schaltbar&&!c.wirksam&&(0,k.jsxs)(L,{children:[`Eingestellt ist „`,c.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=c.an,t[12]=c.wirksam,t[13]=g):g=t[13];let _=l?`outline`:`default`,v=!n.schaltbar||a.isPending,y;t[14]===l?y=t[15]:(y=()=>s(!l),t[14]=l,t[15]=y);let x=a.isPending?`Schaltet …`:l?`Ausschalten`:`Einschalten`,S;t[16]!==y||t[17]!==x||t[18]!==_||t[19]!==v?(S=(0,k.jsx)(w,{variant:_,size:`sm`,className:`self-start`,disabled:v,onClick:y,children:x}),t[16]=y,t[17]=x,t[18]=_,t[19]=v,t[20]=S):S=t[20];let C=o!==null,T=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,E=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,A=o?`Einschalten`:`Ausschalten`,j;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>s(null),t[21]=j):j=t[21];let M;t[22]!==o||t[23]!==a?(M=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=M):M=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==A||t[30]!==M?(P=(0,k.jsx)(ee,{offen:C,titel:T,text:E,knopf:A,gesperrt:a.isPending,onNein:j,onJa:M}),t[25]=a.isPending,t[26]=C,t[27]=T,t[28]=E,t[29]=A,t[30]=M,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==h||t[35]!==g?(I=(0,k.jsxs)(F,{titel:`Modell-Radar`,children:[h,g,S,P]}),t[32]=S,t[33]=P,t[34]=h,t[35]=g,t[36]=I):I=t[36],I}function J(e){let t=(0,D.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,k.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,k.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,k.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${N(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${N(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,k.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,k.jsxs)(k.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,k.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,k.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Y(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function X(e){let t=(0,D.c)(21),{offen:n}=e,r=h().data,i=!!r?.partner.eingerichtet,[a,o]=v(n,i),s=a.data?.stand?.commit,c=o.data?.stand?.commit,l;t[0]!==s||t[1]!==c?(l=Y(s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u=l,d=a.data?.instanz??r?.instanz??`Diese Instanz`,f=a.data?.stand,p=a.error?.message,m;t[3]!==a.isPending||t[4]!==d||t[5]!==f||t[6]!==p?(m=(0,k.jsx)(J,{name:d,stand:f,laedt:a.isPending,fehler:p}),t[3]=a.isPending,t[4]=d,t[5]=f,t[6]=p,t[7]=m):m=t[7];let g;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(g=i&&(0,k.jsx)(J,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=g):g=t[14];let _;t[15]===u?_=t[16]:(_=u===!1&&(0,k.jsx)(L,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=u,t[16]=_);let y;return t[17]!==m||t[18]!==g||t[19]!==_?(y=(0,k.jsxs)(F,{titel:`Instanzen`,children:[m,g,_]}),t[17]=m,t[18]=g,t[19]=_,t[20]=y):y=t[20],y}function Z(e){let t=(0,D.c)(52),{h:n}=e,r=o(),i=u(),[a,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1),[d,f]=(0,O.useState)(null),p=n.arcane,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={hinterlegt:(0,k.jsx)(y,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,k.jsx)(y,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,k.jsx)(y,{art:`bernstein`,children:`fehlt`})},t[0]=h):h=t[0];let g=h[p.schluessel],_;t[1]===p.url?_=t[2]:(_=p.url&&(0,k.jsxs)(`a`,{href:p.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,k.jsx)(m,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=p.url,t[2]=_);let v;t[3]!==g||t[4]!==_?(v=(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,g,_]}),t[3]=g,t[4]=_,t[5]=v):v=t[5];let b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=b):b=t[6];let x;t[7]!==p.schluessel||t[8]!==r||t[9]!==a?(x=p.schluessel!==`umgebung`&&(0,k.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>s(``)})},children:[(0,k.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,k.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,k.jsx)(E,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,k.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>s(e.target.value),placeholder:p.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-lg border border-linie-stark bg-erhaben pr-3 pl-9 text-[15px] outline-none focus:border-lab`})]}),(0,k.jsx)(w,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=p.schluessel,t[8]=r,t[9]=a,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=S):S=t[11];let C;t[12]!==p.schluessel||t[13]!==c||t[14]!==r?(C=p.schluessel===`hinterlegt`&&(c?(0,k.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,k.jsx)(w,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),l(!1)},children:`Wirklich entfernen?`}),(0,k.jsx)(w,{variant:`ghost`,size:`sm`,onClick:()=>l(!1),children:`Nein`})]}):(0,k.jsx)(w,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>l(!0),children:`Schlüssel entfernen`})),t[12]=p.schluessel,t[13]=c,t[14]=r,t[15]=C):C=t[15];let T;t[16]!==v||t[17]!==x||t[18]!==C?(T=(0,k.jsxs)(F,{titel:`Arcane (Docker)`,children:[v,b,x,S,C]}),t[16]=v,t[17]=x,t[18]=C,t[19]=T):T=t[19];let A=p.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,j=p.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,M;t[20]!==A||t[21]!==j?(M=(0,k.jsxs)(`p`,{className:`text-sm text-text-2`,children:[A,j]}),t[20]=A,t[21]=j,t[22]=M):M=t[22];let N=p.echt?`outline`:`default`,P=p.echt_quelle===`umgebung`||i.isPending||p.schluessel===`fehlt`,I;t[23]===p.echt?I=t[24]:(I=()=>f(!p.echt),t[23]=p.echt,t[24]=I);let L=i.isPending?`Schaltet …`:p.echt?`Zurück auf Probelauf`:`Echt schalten`,R;t[25]!==N||t[26]!==P||t[27]!==I||t[28]!==L?(R=(0,k.jsx)(w,{variant:N,size:`sm`,className:`self-start`,disabled:P,onClick:I,children:L}),t[25]=N,t[26]=P,t[27]=I,t[28]=L,t[29]=R):R=t[29];let z;t[30]===p.schluessel?z=t[31]:(z=p.schluessel===`fehlt`&&(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=p.schluessel,t[31]=z);let B=d!==null,V=d?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,H=d?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,U=d?`Echt schalten`:`Probelauf`,W=!!d,G;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>f(null),t[32]=G):G=t[32];let K;t[33]!==i||t[34]!==d?(K=()=>{d!==null&&(i.mutate(d),f(null))},t[33]=i,t[34]=d,t[35]=K):K=t[35];let q;t[36]!==i.isPending||t[37]!==B||t[38]!==V||t[39]!==H||t[40]!==U||t[41]!==W||t[42]!==K?(q=(0,k.jsx)(ee,{offen:B,titel:V,text:H,knopf:U,gefahr:W,gesperrt:i.isPending,onNein:G,onJa:K}),t[36]=i.isPending,t[37]=B,t[38]=V,t[39]=H,t[40]=U,t[41]=W,t[42]=K,t[43]=q):q=t[43];let J;t[44]!==M||t[45]!==R||t[46]!==z||t[47]!==q?(J=(0,k.jsxs)(F,{titel:`Docker-Updates`,children:[M,R,z,q]}),t[44]=M,t[45]=R,t[46]=z,t[47]=q,t[48]=J):J=t[48];let Y;return t[49]!==J||t[50]!==T?(Y=(0,k.jsxs)(k.Fragment,{children:[T,J]}),t[49]=J,t[50]=T,t[51]=Y):Y=t[51],Y}function te(e){let t=(0,D.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,o=r.verbunden?`verbunden`:`meldet sich nicht`,s;t[1]===r.zuletzt?s=t[2]:(s=r.zuletzt?` · zuletzt ${f(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=s);let c;t[3]!==a||t[4]!==o||t[5]!==s?(c=(0,k.jsxs)(`dd`,{className:a,children:[o,s]}),t[3]=a,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=l):l=t[7];let u=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,d;t[8]===u?d=t[9]:(d=(0,k.jsx)(`dd`,{className:`text-text-2`,children:u}),t[8]=u,t[9]=d);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=p):p=t[10];let m=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,h;t[11]===m?h=t[12]:(h=(0,k.jsx)(`dd`,{className:`text-text-2`,children:m}),t[11]=m,t[12]=h);let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,k.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=g):g=t[13];let _=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,v;t[14]===_?v=t[15]:(v=(0,k.jsx)(`dd`,{className:`text-text-2`,children:_}),t[14]=_,t[15]=v);let y;return t[16]!==h||t[17]!==v||t[18]!==c||t[19]!==d?(y=(0,k.jsx)(F,{titel:`Ausführer und Updates`,children:(0,k.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,c,l,d,p,h,g,v]})}),t[16]=h,t[17]=v,t[18]=c,t[19]=d,t[20]=y):y=t[20],y}function ne(){let e=(0,D.c)(8),t=h().data,n=g().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=p(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,k.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z,{h:i.data}),(0,k.jsx)(te,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,k.jsx)(R,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,k.jsx)(I,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function Q(){let e=(0,D.c)(17),t=a(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,o,s;e[4]===i?(o=e[5],s=e[6]):(o=(0,k.jsx)(W,{...i}),s=(0,k.jsx)(q,{...i}),e[4]=i,e[5]=o,e[6]=s);let c;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,k.jsx)(z,{offen:!0}),e[7]=c):c=e[7];let l;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsxs)(F,{titel:`Hermes`,children:[(0,k.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-lg border border-linie-stark bg-erhaben px-4 text-[15px] hover:border-text-3`,children:[(0,k.jsx)(m,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,k.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=l):l=e[8];let u;e[9]!==o||e[10]!==s?(u=(0,k.jsxs)(I,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[o,s,c,l]}),e[9]=o,e[10]=s,e[11]=u):u=e[11];let d;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,k.jsx)(ne,{}),e[12]=d):d=e[12];let f;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,k.jsx)(I,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,k.jsx)(V,{})}),e[13]=f):f=e[13];let p;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,k.jsx)(I,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,k.jsx)(X,{offen:!0})}),e[14]=p):p=e[14];let h;return e[15]===u?h=e[16]:(h=(0,k.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[u,d,f,p]}),e[15]=u,e[16]=h),h}export{Q as EinstellungenSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-CMoMrvE9.js b/frontend/dist/assets/Homelab-CMoMrvE9.js deleted file mode 100644 index f9b57fd..0000000 --- a/frontend/dist/assets/Homelab-CMoMrvE9.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-cy4l-52D.js";import{t as o}from"./search-BlW0aIMN.js";import{A as s,C as c,Ct as l,D as u,E as d,G as f,K as p,O as m,Pt as h,Qt as g,S as _,T as v,Tt as y,U as b,Xt as x,Y as S,Z as C,Zt as w,at as T,b as E,en as D,ft as O,g as k,h as A,j as ee,k as j,mt as te,p as M,pt as ne,q as re,s as ie,tn as ae,w as oe,x as N}from"./index-BwBSJspl.js";import{t as P}from"./button-D8rvET0Z.js";import{t as F}from"./Bestaetigen-DO-opKIi.js";import{t as se}from"./Lampe-gSQfYg4e.js";var I={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};I.node;var ce=g(I),L={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};L.node;var le=g(L),R={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};R.node;var ue=g(R),z={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};z.node;var de=g(z),B={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};B.node;var fe=g(B),V=t(),H=n(),U=`md:grid-cols-[minmax(0,1.3fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,W=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function G(e){let t=(0,V.c)(17),{wert:n,gelb:r,rot:a,zusatz:o}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let s=n>=a?`var(--rot)`:n>=r?`var(--bernstein)`:`var(--reihe-1)`,c=n>=a?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,l;t[1]===c?l=t[2]:(l=i(`ziffern text-sm`,c),t[1]=c,t[2]=l);let u;t[3]===n?u=t[4]:(u=Math.round(n),t[3]=n,t[4]=u);let d;t[5]===o?d=t[6]:(d=o&&(0,H.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=d);let f;t[7]!==l||t[8]!==u||t[9]!==d?(f=(0,H.jsxs)(`span`,{className:l,children:[u,` %`,d]}),t[7]=l,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=`${Math.min(100,Math.max(2,n))}%`,m;t[11]!==s||t[12]!==p?(m=(0,H.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,H.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:p,background:s}})}),t[11]=s,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==m?(h=(0,H.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[f,m]}),t[14]=f,t[15]=m,t[16]=h):h=t[16],h}function K(e){if(e.erreichbar===!1)return 0;let t=d(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function pe(e){let t=(0,V.c)(4),{ziele:n,messwerte:r}=e,a;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(he)),o=[...n].sort(me),s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,H.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,U),children:[(0,H.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=s):s=t[3],a=(0,H.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[s,o.map(t=>{let n=e.get(t.id),r=n?.platte??(d(t)===null?null:d(t)*100),a=n?.ram_used&&n.ram_total?`${W(n.ram_used)} / ${W(n.ram_total)} GB`:void 0;return(0,H.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-linie py-3 md:items-center`,U),children:[(0,H.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[(0,H.jsx)(D,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),N(t)!==t.name&&(0,H.jsx)(`span`,{className:`text-sm text-text-3`,children:N(t)})]}),(0,H.jsxs)(`span`,{role:`cell`,className:i(`schild flex items-center gap-1.5 text-xs`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,H.jsx)(`span`,{"aria-hidden":!0,className:i(`size-2 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,H.jsxs)(`span`,{role:`cell`,children:[(0,H.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,H.jsx)(G,{wert:n?.cpu,gelb:85,rot:95})]}),(0,H.jsxs)(`span`,{role:`cell`,children:[(0,H.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,H.jsx)(G,{wert:n?.ram,gelb:85,rot:95,zusatz:a})]}),(0,H.jsxs)(`span`,{role:`cell`,children:[(0,H.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,H.jsx)(G,{wert:r,gelb:80,rot:90})]}),(0,H.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,H.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),ie(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=a}else a=t[2];return a}function me(e,t){return K(e)-K(t)}function he(e){return[e.id,e.aktuell]}function ge(e){let t=(0,V.c)(24),{lage:n,lampen:r,onAnsehen:a}=e,o=n.ziel!==null,s=!o,c=`${n.oben} ${n.mitte}`,l=h[n.art],u=o?`cursor-pointer`:`cursor-default`,d;t[0]!==l||t[1]!==u?(d=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,l,u),t[0]=l,t[1]=u,t[2]=d):d=t[2];let f;t[3]===n.oben?f=t[4]:(f=(0,H.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:n.oben}),t[3]=n.oben,t[4]=f);let p;t[5]===n.mitte?p=t[6]:(p=(0,H.jsx)(`span`,{className:`text-center text-[34px] leading-none font-bold tracking-[0.04em] sm:text-[38px]`,children:n.mitte}),t[5]=n.mitte,t[6]=p);let m;t[7]===n.unten?m=t[8]:(m=(0,H.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:n.unten}),t[7]=n.unten,t[8]=m);let g;t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==d||t[13]!==f||t[14]!==p||t[15]!==m?(g=(0,H.jsxs)(`button`,{type:`button`,onClick:a,disabled:s,"aria-label":c,className:d,children:[f,p,m]}),t[9]=a,t[10]=s,t[11]=c,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=g):g=t[16];let _;t[17]===r?_=t[18]:(_=r.map(_e),t[17]=r,t[18]=_);let v;t[19]===_?v=t[20]:(v=(0,H.jsx)(`ul`,{"aria-label":`Geräte`,className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:_}),t[19]=_,t[20]=v);let y;return t[21]!==v||t[22]!==g?(y=(0,H.jsxs)(`section`,{"aria-label":`Lage im Homelab`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[g,v]}),t[21]=v,t[22]=g,t[23]=y):y=t[23],y}function _e(e){return(0,H.jsx)(se,{lampe:e},e.id)}var q=r(e(),1),ve=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function J(e){return e==null?`–`:e>=0xe8d4a51000?`${ve(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${ve(e/1e9)} GB`}function ye(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function be(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${ye(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var Y={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`},X={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},xe={ok:`var(--reihe-1)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},Se=e=>y(new Date(e*1e3).toISOString());function Z(e){let t=(0,V.c)(11),{anteil:n,stufe:r,name:i}=e,a;t[0]===n?a=t[1]:(a=Math.round(n*100),t[0]=n,t[1]=a);let o=a,s=`${i}: ${o} % belegt`,c=`${Math.min(100,Math.max(2,o))}%`,l=xe[r],u;t[2]!==c||t[3]!==l?(u=(0,H.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:c,background:l}}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,H.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,H.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[90%] w-px bg-rot/80`}),t[5]=d,t[6]=f):(d=t[5],f=t[6]);let p;return t[7]!==o||t[8]!==s||t[9]!==u?(p=(0,H.jsxs)(`div`,{role:`meter`,"aria-label":s,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,className:`relative h-2 w-full overflow-hidden rounded-full bg-erhaben`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function Q(e){let t=(0,V.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,H.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r&&(0,H.jsx)(`span`,{className:`text-sm break-words text-text-3`,children:r}),t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,H.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==a?(u=(0,H.jsx)(A,{art:i,children:a}),t[7]=i,t[8]=a,t[9]=u):u=t[9];let d;t[10]!==l||t[11]!==u?(d=(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==d?(f=(0,H.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie bg-erhaben/40 p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function Ce(e){let t=(0,V.c)(31),{p:n}=e,r;t[0]===n.anteil?r=t[1]:(r=Math.round(n.anteil*100),t[0]=n.anteil,t[1]=r);let a=r,o=`Speicherpool ${n.speicher}`,s=X[n.stufe],c=Y[n.stufe],l=Math.max(n.anteil,n.meta_anteil??0),u=`Speicherpool ${n.speicher}`,d;t[2]!==n.stufe||t[3]!==l||t[4]!==u?(d=(0,H.jsx)(Z,{anteil:l,stufe:n.stufe,name:u}),t[2]=n.stufe,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f;t[6]===n.belegt?f=t[7]:(f=J(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=J(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=i(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=J(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,H.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==a||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,H.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[a,` % · `,f,` von `,p,` · `,_]}),t[17]=a,t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;t[22]===n.meta_anteil?y=t[23]:(y=n.meta_anteil!==null&&(0,H.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Metadaten `,Math.round(n.meta_anteil*100),` % belegt`]}),t[22]=n.meta_anteil,t[23]=y);let b;return t[24]!==v||t[25]!==y||t[26]!==o||t[27]!==s||t[28]!==c||t[29]!==d?(b=(0,H.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y]}),t[24]=v,t[25]=y,t[26]=o,t[27]=s,t[28]=c,t[29]=d,t[30]=b):b=t[30],b}function we(e){let t=(0,V.c)(21),{s:n}=e,r=X[n.stufe],i=Y[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,H.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`Systemplatte des Proxmox-Hosts`}),t[0]=n.anteil,t[1]=n.stufe,t[2]=a):a=t[2];let o;t[3]===n.anteil?o=t[4]:(o=Math.round(n.anteil*100),t[3]=n.anteil,t[4]=o);let s;t[5]===n.belegt?s=t[6]:(s=J(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=J(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=J(n.frei),t[9]=n.frei,t[10]=l);let u;t[11]!==o||t[12]!==s||t[13]!==c||t[14]!==l?(u=(0,H.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[o,` % · `,s,` von `,c,` · `,l,` frei`]}),t[11]=o,t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d;return t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,H.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u]}),t[16]=r,t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}function Te(e){let t=(0,V.c)(21),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:Y[n.stufe],a=`NAS ${n.server??``}`,o;t[0]===a?o=t[1]:(o=a.trim(),t[0]=a,t[1]=o);let s;t[2]===n.art?s=t[3]:(s=n.art.toUpperCase(),t[2]=n.art,t[3]=s);let c=`${s} · ${n.quelle??`?`} → ${n.ziel}`,l=X[n.stufe],u;t[4]!==n.anteil||t[5]!==n.belegt||t[6]!==n.gesamt||t[7]!==n.problem||t[8]!==n.server||t[9]!==n.stufe?(u=n.problem?(0,H.jsx)(`p`,{className:i(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,H.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,J(n.belegt),` von `,J(n.gesamt),` · `,J((n.gesamt??0)-(n.belegt??0)),` frei`]})]}),t[4]=n.anteil,t[5]=n.belegt,t[6]=n.gesamt,t[7]=n.problem,t[8]=n.server,t[9]=n.stufe,t[10]=u):u=t[10];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[11]!==d||t[12]!==f?(p=(0,H.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;return t[14]!==r||t[15]!==o||t[16]!==c||t[17]!==l||t[18]!==u||t[19]!==p?(m=(0,H.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[14]=r,t[15]=o,t[16]=c,t[17]=l,t[18]=u,t[19]=p,t[20]=m):m=t[20],m}function Ee(e){let t=(0,V.c)(18),{s:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={ok:`aktuell`,gelb:`Lücke`,rot:`gestört`,keine:`kein Auftrag`},t[0]=r):r=t[0];let i=r[n.stufe],a;t[1]===n?a=t[2]:(a=be(n),t[1]=n,t[2]=a);let o=X[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(Oe),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.zuletzt?(c=n.stufe===`ok`&&(0,H.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,H.jsxs)(H.Fragment,{children:[`, zuletzt `,(0,H.jsx)(`span`,{className:`ziffern`,children:Se(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.zuletzt,t[8]=c):c=t[8];let l;t[9]===n.fehlend?l=t[10]:(l=n.fehlend.length>0&&(0,H.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(De)}),t[9]=n.fehlend,t[10]=l);let u;return t[11]!==i||t[12]!==a||t[13]!==o||t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,H.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l]}),t[11]=i,t[12]=a,t[13]=o,t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function De(e){return(0,H.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,H.jsxs)(H.Fragment,{children:[`zuletzt `,(0,H.jsx)(`span`,{className:`ziffern`,children:Se(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function Oe(e){return(0,H.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function ke(e){let t=(0,V.c)(44),{daten:n,laeuft:r,gesperrt:i,onAktion:o}=e,s=r===void 0?null:r,c=i!==void 0&&i,[l,u]=(0,q.useState)(null),d;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(d=n.pools.some(Ne)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=d):d=t[2];let f=d,p,m,h;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==c||t[9]!==f||t[10]!==s||t[11]!==o){let e=n.empfehlungen.reduce(Me,0);p=`flex flex-col gap-4`;let r;t[15]===n.pools?r=t[16]:(r=n.pools.map(je),t[15]=n.pools,t[16]=r);let i;t[17]===n.systemplatte?i=t[18]:(i=n.systemplatte&&(0,H.jsx)(we,{s:n.systemplatte}),t[17]=n.systemplatte,t[18]=i);let l;t[19]===n.nas?l=t[20]:(l=n.nas.length>0?n.nas.map(Ae):(0,H.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,H.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[19]=n.nas,t[20]=l);let d;t[21]===n.sicherungen?d=t[22]:(d=(0,H.jsx)(Ee,{s:n.sicherungen}),t[21]=n.sicherungen,t[22]=d),t[23]!==d||t[24]!==r||t[25]!==i||t[26]!==l?(m=(0,H.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,l,d]}),t[23]=d,t[24]=r,t[25]=i,t[26]=l,t[27]=m):m=t[27],h=n.empfehlungen.length>0&&(0,H.jsxs)(`details`,{open:f,className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-3`,children:[(0,H.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,H.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,H.jsx)(a,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,H.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${J(e)}`]})]}),(0,H.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,H.jsx)(Ie,{e,laeuft:s,gesperrt:c||!o,onFrage:u},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=c,t[9]=f,t[10]=s,t[11]=o,t[12]=p,t[13]=m,t[14]=h}else p=t[12],m=t[13],h=t[14];let g=!!l,_=l?`Proxmox-Host: ${l.label}`:``,v=l?.frage??``,y=l?.label??``,b;t[28]!==l||t[29]!==o?(b=()=>{l&&o&&o(l),u(null)},t[28]=l,t[29]=o,t[30]=b):b=t[30];let x;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>u(null),t[31]=x):x=t[31];let S;t[32]!==c||t[33]!==y||t[34]!==b||t[35]!==g||t[36]!==_||t[37]!==v?(S=(0,H.jsx)(F,{offen:g,titel:_,text:v,knopf:y,gesperrt:c,onJa:b,onNein:x}),t[32]=c,t[33]=y,t[34]=b,t[35]=g,t[36]=_,t[37]=v,t[38]=S):S=t[38];let C;return t[39]!==S||t[40]!==p||t[41]!==m||t[42]!==h?(C=(0,H.jsxs)(`div`,{className:p,children:[m,h,S]}),t[39]=S,t[40]=p,t[41]=m,t[42]=h,t[43]=C):C=t[43],C}function Ae(e){return(0,H.jsx)(Te,{n:e},e.ziel)}function je(e){return(0,H.jsx)(Ce,{p:e},e.speicher)}function Me(e,t){return e+(t.platz??0)}function Ne(e){return e.stufe!==`ok`}var Pe={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function Fe({text:e}){return e.split(/`([^`]+)`/).map((e,t)=>t%2==1?(0,H.jsx)(`code`,{className:`rounded bg-erhaben px-1 font-mono text-[13px] text-foreground [font-variant-ligatures:none]`,children:e},t):e)}function Ie(e){let t=(0,V.c)(23),{e:n,laeuft:r,gesperrt:i,onFrage:a}=e,o;t[0]===n.titel?o=t[1]:(o=(0,H.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=o);let s;t[2]===n.platz?s=t[3]:(s=n.platz?`≈ ${J(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,H.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:s}),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,H.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[o,c]}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;t[9]===n.ort?u=t[10]:(u=n.ort&&(0,H.jsx)(`span`,{className:`schild text-xs text-text-3`,children:Pe[n.ort]??n.ort}),t[9]=n.ort,t[10]=u);let d;t[11]===n.text?d=t[12]:(d=(0,H.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:(0,H.jsx)(Fe,{text:n.text})}),t[11]=n.text,t[12]=d);let f;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(f=n.aktion&&(r?(0,H.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):(0,H.jsx)(P,{variant:`outline`,size:`sm`,className:`mt-1 self-start`,disabled:i,onClick:()=>a(n.aktion),children:n.aktion.label})),t[13]=n.aktion,t[14]=i,t[15]=r,t[16]=a,t[17]=f):f=t[17];let p;return t[18]!==l||t[19]!==u||t[20]!==d||t[21]!==f?(p=(0,H.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-1`,children:[l,u,d,f]}),t[18]=l,t[19]=u,t[20]=d,t[21]=f,t[22]=p):p=t[22],p}var Le={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function Re(e){let t=(0,V.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,q.useState)(!1),o=O(i),s=ee(),c;t[0]===o.data?.schritte?c=t[1]:(c=o.data?.schritte??[],t[0]=o.data?.schritte,t[1]=c);let l=c,u=r||n===0||s.isPending,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>a(!0),t[2]=d):d=t[2];let f=n>0?` (${n})`:``,p;t[3]!==u||t[4]!==f?(p=(0,H.jsxs)(P,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let m=l.length?`${l.length} Updates starten`:`Starten`,h=s.isPending||o.isPending||l.length===0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!1),t[6]=g):g=t[6];let _;t[7]!==i||t[8]!==s?(_=()=>{i&&(s.mutate(void 0),a(!1))},t[7]=i,t[8]=s,t[9]=_):_=t[9];let v;t[10]!==o.data||t[11]!==o.error||t[12]!==o.isPending||t[13]!==l?(v=o.isPending?(0,H.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,H.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,H.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,H.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(ze)}),o.data?.hinweis&&(0,H.jsx)(`p`,{className:`text-xs text-bernstein`,children:o.data.hinweis})]}),t[10]=o.data,t[11]=o.error,t[12]=o.isPending,t[13]=l,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==v||t[17]!==m||t[18]!==h||t[19]!==_?(y=(0,H.jsx)(F,{offen:i,titel:`Alle Homelab-Updates einspielen?`,text:`Die Updates laufen nacheinander, jedes mit Rückweg und Prüfung. Ist eine Prüfung rot, geht dieser Schritt von selbst zurück und der Rest bleibt stehen. AdGuard und NPMplus kommen zuletzt, der Proxmox-Host ganz am Ende; neu gestartet wird er nicht.`,knopf:m,gesperrt:h,onNein:g,onJa:_,children:v}),t[15]=i,t[16]=v,t[17]=m,t[18]=h,t[19]=_,t[20]=y):y=t[20];let b;return t[21]!==y||t[22]!==p?(b=(0,H.jsxs)(H.Fragment,{children:[p,y]}),t[21]=y,t[22]=p,t[23]=b):b=t[23],b}function ze(e,t){return(0,H.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,H.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,H.jsxs)(`span`,{className:`min-w-0`,children:[(0,H.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,H.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,H.jsx)(`span`,{className:i(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Le[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var Be={wartet:{Symbol:ce,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:ue,farbe:`text-cyan`,text:`läuft`},eingespielt:{Symbol:x,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:fe,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:le,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:de,farbe:`text-text-3`,text:`übersprungen`}},Ve={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function He(e){let t=(0,V.c)(33),{lauf:n,onQuittieren:r}=e,i;t[0]===n.schritte?i=t[1]:(i=n.schritte.filter(We),t[0]=n.schritte,t[1]=i);let a=i.length,o=Ve[n.status],s;t[2]!==a||t[3]!==n.schritte.length?(s=(0,H.jsxs)(`span`,{className:`schild text-sm tracking-[0.18em] text-cyan`,children:[`Alle aktualisieren · `,a,` von `,n.schritte.length]}),t[2]=a,t[3]=n.schritte.length,t[4]=s):s=t[4];let c;t[5]===n.start?c=t[6]:(c=y(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=c);let l;t[7]===c?l=t[8]:(l=(0,H.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c}),t[7]=c,t[8]=l);let u;t[9]!==o.art||t[10]!==o.text?(u=(0,H.jsx)(A,{art:o.art,children:o.text}),t[9]=o.art,t[10]=o.text,t[11]=u):u=t[11];let d;t[12]!==l||t[13]!==u?(d=(0,H.jsxs)(`span`,{className:`flex items-center gap-2`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]!==s||t[16]!==d?(f=(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[15]=s,t[16]=d,t[17]=f):f=t[17];let p=`${a/Math.max(1,n.schritte.length)*100}%`,m;t[18]===p?m=t[19]:(m=(0,H.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,H.jsx)(`div`,{className:`h-full rounded-full bg-cyan transition-all`,style:{width:p}})}),t[18]=p,t[19]=m);let h;t[20]===n.schritte?h=t[21]:(h=n.schritte.map(Ue),t[20]=n.schritte,t[21]=h);let g;t[22]===h?g=t[23]:(g=(0,H.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:h}),t[22]=h,t[23]=g);let _;t[24]!==n.status||t[25]!==n.text||t[26]!==r?(_=(n.text||n.status!==`laeuft`&&r)&&(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n.text&&(0,H.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),n.status!==`laeuft`&&r&&(0,H.jsx)(P,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:r,children:`Ausblenden`})]}),t[24]=n.status,t[25]=n.text,t[26]=r,t[27]=_):_=t[27];let v;return t[28]!==g||t[29]!==_||t[30]!==f||t[31]!==m?(v=(0,H.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-xl border border-cyan-rand/60 bg-cyan-grund/40 p-4`,children:[f,m,g,_]}),t[28]=g,t[29]=_,t[30]=f,t[31]=m,t[32]=v):v=t[32],v}function Ue(e){let t=Be[e.status];return(0,H.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,H.jsx)(t.Symbol,{className:i(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,H.jsxs)(`span`,{className:`min-w-0`,children:[(0,H.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,H.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,H.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function We(e){return![`wartet`,`laeuft`].includes(e.status)}var Ge=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function Ke(e){let t=(0,V.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?m(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,H.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,H.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i;t[2]===r.installiert?i=t[3]:(i=r.installiert?s(r.installiert):`–`,t[2]=r.installiert,t[3]=i);let a=i,o=r.zustand===`aktuell`?`text-foreground`:`text-text-2`,c;t[4]!==a||t[5]!==o?(c=(0,H.jsx)(`span`,{className:o,children:a}),t[4]=a,t[5]=o,t[6]=c):c=t[6];let l;t[7]!==r.verfuegbar||t[8]!==r.zustand?(l=r.zustand===`neu`&&r.verfuegbar&&(0,H.jsxs)(`span`,{className:`text-cyan`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=l):l=t[9];let u;t[10]===r.zustand?u=t[11]:(u=r.zustand===`aktuell`&&(0,H.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=u);let d;t[12]===r.zustand?d=t[13]:(d=r.zustand===`unbekannt`&&(0,H.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=d);let f;t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,H.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[c,l,u,d]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18];let p;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(p=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,H.jsx)(`span`,{className:`text-xs text-text-3`,children:r.grund}),t[19]=r.aktion,t[20]=r.grund,t[21]=r.zustand,t[22]=p):p=t[22];let h;return t[23]!==f||t[24]!==p?(h=(0,H.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[f,p]}),t[23]=f,t[24]=p,t[25]=h):h=t[25],h}function qe(e){let t=(0,V.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,s;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,H.jsx)(`span`,{className:`text-cyan`,children:e}),t[1]=e,t[2]=r),s=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,H.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),s=n}else{let e;t[5]===n.grund?e=t[6]:(e=oe(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,o=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,H.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==o||t[11]!==c?(l=(0,H.jsxs)(`span`,{className:`text-text-2`,title:i,children:[o,c]}),t[9]=i,t[10]=o,t[11]=c,t[12]=l):l=t[12],s=l}let c=n.zustand===`unbekannt`?n.aktion:null,l;t[13]===s?l=t[14]:(l=(0,H.jsx)(`span`,{className:`min-w-0`,children:s}),t[13]=s,t[14]=l);let u;t[15]!==i||t[16]!==r||t[17]!==c?(u=c&&(0,H.jsx)(P,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":c.label,title:c.label,disabled:i,onClick:()=>r(c),children:(0,H.jsx)(o,{})}),t[15]=i,t[16]=r,t[17]=c,t[18]=u):u=t[18];let d;return t[19]!==l||t[20]!==u?(d=(0,H.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}var Je={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function Ye(e){let t=(0,V.c)(54),{ziel:n,laeuft:r,gesperrt:a,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=E(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=m(n),t[2]=n,t[3]=l);let d=l,f,p,h,g,_,v,y,b,x;if(t[4]!==c||t[5]!==a||t[6]!==r||t[7]!==o||t[8]!==d||t[9]!==n){let e=n.bausteine.filter(Xe),s=j(n)>=2;v=`row`;let l=s&&`opacity-75`;t[19]===l?y=t[20]:(y=i(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:items-center`,Ge,l),t[19]=l,t[20]=y);let m;t[21]===n.name?m=t[22]:(m=(0,H.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[21]=n.name,t[22]=m);let S;t[23]===n?S=t[24]:(S=N(n)!==n.name&&(0,H.jsx)(`span`,{className:`text-sm text-text-3`,children:N(n)}),t[23]=n,t[24]=S),t[25]!==m||t[26]!==S?(b=(0,H.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[m,S]}),t[25]=m,t[26]=S,t[27]=b):b=t[27];let C;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,H.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[28]=C):C=t[28],t[29]!==c||t[30]!==n?(x=(0,H.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[C,(0,H.jsx)(Ke,{ziel:n,b:c})]}),t[29]=c,t[30]=n,t[31]=x):x=t[31];let w;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,H.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[32]=w):w=t[32];let T=a||!!r,E;t[33]!==o||t[34]!==n?(E=e=>o({ziel:n,aktion:e}),t[33]=o,t[34]=n,t[35]=E):E=t[35],t[36]!==d||t[37]!==T||t[38]!==E?(f=(0,H.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[w,(0,H.jsx)(qe,{b:d,gesperrt:T,onSuchen:E})]}),t[36]=d,t[37]=T,t[38]=E,t[39]=f):f=t[39];let D=e.length?u(n):``;t[40]===D?p=t[41]:(p=(0,H.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:D}),t[40]=D,t[41]=p),h=`cell`,g=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,_=r?(0,H.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):e.map(e=>(0,H.jsx)(P,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:Je[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=a,t[6]=r,t[7]=o,t[8]=d,t[9]=n,t[10]=f,t[11]=p,t[12]=h,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=x}else f=t[10],p=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=t[16],b=t[17],x=t[18];let S;t[42]!==h||t[43]!==g||t[44]!==_?(S=(0,H.jsx)(`span`,{role:h,className:g,children:_}),t[42]=h,t[43]=g,t[44]=_,t[45]=S):S=t[45];let C;return t[46]!==f||t[47]!==p||t[48]!==S||t[49]!==v||t[50]!==y||t[51]!==b||t[52]!==x?(C=(0,H.jsxs)(`div`,{role:v,className:y,children:[b,x,f,p,S]}),t[46]=f,t[47]=p,t[48]=S,t[49]=v,t[50]=y,t[51]=b,t[52]=x,t[53]=C):C=t[53],C}function Xe(e){return e.zustand===`neu`&&e.aktion}function Ze(e){let t=(0,V.c)(42),{ziele:n,laufend:r,gesperrt:a,onAktion:o}=e,[s,c]=(0,q.useState)(null),l,u,d,f,p,m;if(t[0]!==a||t[1]!==r||t[2]!==n){let e=[...n].sort($e),o;t[9]===n?o=t[10]:(o=n.filter(Qe),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,H.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,Ge),children:[(0,H.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,H.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,H.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==a||t[13]!==r?(s=e=>(0,H.jsx)(Ye,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:a||r.has(e.id),onFrage:c},e.id),t[12]=a,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=a,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,H.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,H.jsx)(A,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,b=s?.aktion.label??``,x;t[24]===s?.aktion.pfad?x=t[25]:(x=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=x);let S=!!x,C;t[26]!==s||t[27]!==o?(C=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=C):C=t[28];let w;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>c(null),t[29]=w):w=t[29];let T;t[30]!==a||t[31]!==y||t[32]!==b||t[33]!==S||t[34]!==C||t[35]!==_||t[36]!==v?(T=(0,H.jsx)(F,{offen:_,titel:v,text:y,knopf:b,gefahr:S,gesperrt:a,onJa:C,onNein:w}),t[30]=a,t[31]=y,t[32]=b,t[33]=S,t[34]=C,t[35]=_,t[36]=v,t[37]=T):T=t[37];let E;return t[38]!==T||t[39]!==h||t[40]!==g?(E=(0,H.jsxs)(H.Fragment,{children:[h,g,T]}),t[38]=T,t[39]=h,t[40]=g,t[41]=E):E=t[41],E}function Qe(e){return j(e)===3}function $e(e,t){return j(e)-j(t)}var et=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],tt={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`},aufgeraeumt:{art:`gruen`,text:`aufgeräumt`}},$=e=>y(new Date(e*1e3).toISOString());function nt(){let e=(0,V.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Homelab-Teil läuft als eigene Instanz in einem kleinen Container auf dem Proxmox-PC. Von dort prüft er auch die KI-Box von außen.`}),n=(0,H.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Steht er, erscheinen hier alle Geräte mit ihren offenen Updates. Ein Update startest du mit „Jetzt updaten“: Vorher wird gesichert, danach die Erreichbarkeit geprüft, und ist sie rot, geht es von selbst zurück.`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,H.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-3`,children:`Dazu kommen`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,H.jsxs)(H.Fragment,{children:[t,n,(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,H.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:et.map(rt)})]}),(0,H.jsx)(`p`,{className:`text-sm text-text-3`,children:`Der Container wird erst nach deiner Freigabe angelegt.`})]}),e[3]=i):i=e[3],i}function rt(e){return(0,H.jsx)(`li`,{children:(0,H.jsx)(A,{children:e})},e)}function it(e){let t=(0,V.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,H.jsx)(A,{art:`rot`,children:`Antwortet nicht`}):(0,H.jsx)(A,{children:`Noch nicht eingerichtet`}),t[0]=n.eingerichtet,t[1]=r);let i=r,a;t[2]!==n.eingerichtet||t[3]!==n.fehler||t[4]!==n.url?(a=n.eingerichtet?(0,H.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Homelab-Teil (`,n.url,`) ist `,n.fehler??`nicht erreichbar`,`. Hält das an, meldet der Wächter es nach fünf Minuten auf Telegram.`]}):(0,H.jsx)(nt,{}),t[2]=n.eingerichtet,t[3]=n.fehler,t[4]=n.url,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,H.jsx)(M,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function at(e){let t=(0,V.c)(10),{hinweise:n}=e,r=n.some(st)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,H.jsxs)(A,{art:r,children:[n.length,` offen`]}),t[0]=n.length,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(ot),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,H.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:a}),t[5]=a,t[6]=o);let s;return t[7]!==i||t[8]!==o?(s=(0,H.jsx)(M,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function ot(e){return(0,H.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,H.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,H.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function st(e){return e.stufe===`rot`}function ct(e){let t=(0,V.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(ut).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch kein Update im Homelab eingespielt.`}),t[4]=e):e=t[4],a=e;break bb0}r=`@container m-0 flex list-none flex-col p-0`,i=e.map(lt)}t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let o;return t[5]!==r||t[6]!==i?(o=(0,H.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function lt(e){let t=e.ergebnis?tt[e.ergebnis]:{art:`grau`,text:`unterbrochen`};return(0,H.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,H.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,H.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,H.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:e.name}),(0,H.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,H.jsx)(A,{art:t.art,children:t.text})})]}),e.text&&(0,H.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function ut(e){return e.status!==`laeuft`}function dt(e){let t=(0,V.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,H.jsxs)(`p`,{role:`alert`,className:`rounded-xl border border-bernstein/60 bg-bernstein-grund px-4 py-3 text-[15px] text-bernstein`,children:[`Der Ausführer auf dem Proxmox-Host meldet sich nicht`,e,`. Die Geräte zeigen den letzten bekannten Stand; Updates starten erst, wenn er wieder da ist.`]}),t[2]=e,t[3]=r),r}if(!n.bericht){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),t[4]=e):e=t[4],e}if(n.bericht.veraltet){let e;t[5]===n.bericht.empfangen?e=t[6]:(e=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,H.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,e,`; die Angaben können veraltet sein.`]}),t[7]=e,t[8]=r),r}return null}function ft(){let e=(0,V.c)(20),t=C(),n=T(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=b(r),a=p(r),o=f(r),s=l(),c=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(k,{text:`Wird gelesen …`}),e[0]=t):t=e[0],c=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,H.jsx)(it,{partner:n.data}):(0,H.jsx)(k,{fehler:!0,text:`Der Partner lässt sich nicht abfragen: ${n.error?.message??`keine Daten`}`}),e[1]=n.data,e[2]=n.error?.message,e[3]=t):t=e[3],c=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(k,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],c=t}else if(!i.data){let t=`Der Homelab-Teil antwortet nicht: ${i.error?.message??`keine Daten`}`,n;e[5]===t?n=e[6]:(n=(0,H.jsx)(k,{fehler:!0,text:t}),e[5]=t,e[6]=n),c=n}let u;if(e[7]!==a.data?.laeufe){u=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&u.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=u}else u=e[8];let d;e[9]===a.data?.laeufe?d=e[10]:(d=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=d);let m;e[11]===o.data?.hinweise?m=e[12]:(m=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=m);let h;return e[13]!==s||e[14]!==c||e[15]!==i.data||e[16]!==u||e[17]!==d||e[18]!==m?(h={ersatz:c,stand:i.data,laufend:u,laeufe:d,hinweise:m,aktion:s},e[13]=s,e[14]=c,e[15]=i.data,e[16]=u,e[17]=d,e[18]=m,e[19]=h):h=e[19],h}function pt(){let e=(0,V.c)(46),t=ae(),{ersatz:n,stand:r,laufend:i,hinweise:a,aktion:o}=ft(),s=re(`1h`,!!r),l=S(!!r);if(n||!r)return n;let u,d;e[0]!==a||e[1]!==i.size||e[2]!==r?(u=r.bericht?$(r.bericht.empfangen):null,d=_(r,a,i.size,u),e[0]=a,e[1]=i.size,e[2]=r,e[3]=u,e[4]=d):(u=e[3],d=e[4]);let f=d,p;if(e[5]!==i||e[6]!==r.ziele){let t;e[8]===i?t=e[9]:(t=e=>c(e,i.has(e.id)),e[8]=i,e[9]=t),p=r.ziele.map(t),e[5]=i,e[6]=r.ziele,e[7]=p}else p=e[7];let m;e[10]!==f.ziel||e[11]!==t?(m=()=>{f.ziel===`updates`?t({to:`/homelab/updates`}):f.ziel&&document.getElementById(f.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[10]=f.ziel,e[11]=t,e[12]=m):m=e[12];let h;e[13]!==f||e[14]!==p||e[15]!==m?(h=(0,H.jsx)(ge,{lage:f,lampen:p,onAnsehen:m}),e[13]=f,e[14]=p,e[15]=m,e[16]=h):h=e[16];let g;e[17]===r?g=e[18]:(g=(0,H.jsx)(dt,{stand:r}),e[17]=r,e[18]=g);let v;e[19]===a?v=e[20]:(v=a.length>0&&(0,H.jsx)(at,{hinweise:a}),e[19]=a,e[20]=v);let y;e[21]===u?y=e[22]:(y=u&&(0,H.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,u]}),e[21]=u,e[22]=y);let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,H.jsxs)(D,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,H.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})]}),e[23]=b):b=e[23];let x;e[24]===y?x=e[25]:(x=(0,H.jsxs)(`span`,{className:`flex items-center gap-3`,children:[y,b]}),e[24]=y,e[25]=x);let C=s.data?.geraete,T;e[26]!==r.ziele||e[27]!==C?(T=(0,H.jsx)(pe,{ziele:r.ziele,messwerte:C}),e[26]=r.ziele,e[27]=C,e[28]=T):T=e[28];let E;e[29]===s.isError?E=e[30]:(E=s.isError&&(0,H.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[29]=s.isError,e[30]=E);let O;e[31]!==T||e[32]!==E||e[33]!==x?(O=(0,H.jsxs)(M,{titel:`Geräte`,id:`geraete`,rechts:x,children:[T,E]}),e[31]=T,e[32]=E,e[33]=x,e[34]=O):O=e[34];let k;e[35]!==o||e[36]!==i||e[37]!==l.data||e[38]!==r.ausfuehrer?(k=l.data?.bericht&&(0,H.jsx)(M,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,H.jsx)(ke,{daten:l.data,laeuft:i.get(`pve`)??null,gesperrt:o.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>o.mutate(e)})}),e[35]=o,e[36]=i,e[37]=l.data,e[38]=r.ausfuehrer,e[39]=k):k=e[39];let A;return e[40]!==O||e[41]!==k||e[42]!==h||e[43]!==g||e[44]!==v?(A=(0,H.jsxs)(H.Fragment,{children:[h,g,v,O,k]}),e[40]=O,e[41]=k,e[42]=h,e[43]=g,e[44]=v,e[45]=A):A=e[45],A}function mt(){let e=(0,V.c)(30),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=ft(),o=ne(!!n),s=te();if(t||!n)return t;let c=o.data?.sammellauf??null,l=c?.status===`laeuft`,u;e[0]===n.ziele?u=e[1]:(u=v(n.ziele).filter(ht),e[0]=n.ziele,e[1]=u);let d=u.length,f=a.isPending||l||!n.ausfuehrer.verbunden,p;e[2]!==d||e[3]!==f?(p=(0,H.jsx)(Re,{anzahl:d,gesperrt:f}),e[2]=d,e[3]=f,e[4]=p):p=e[4];let m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,H.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Je Gerät, was läuft und was neu ist. Du startest jedes Update selbst — einzeln oder alle nacheinander. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[5]=m):m=e[5];let h;e[6]===n?h=e[7]:(h=(0,H.jsx)(dt,{stand:n}),e[6]=n,e[7]=h);let g;e[8]!==c||e[9]!==s||e[10]!==l||e[11]!==n.bericht?.empfangen?(g=c&&(l||c.ende&&(n.bericht?.empfangen??0)-c.ende<21600)&&(0,H.jsx)(He,{lauf:c,onQuittieren:()=>s.mutate(c.id)}),e[8]=c,e[9]=s,e[10]=l,e[11]=n.bericht?.empfangen,e[12]=g):g=e[12];let _=a.isPending||l||!n.ausfuehrer.verbunden,y;e[13]===a?y=e[14]:(y=e=>a.mutate(e),e[13]=a,e[14]=y);let b;e[15]!==r||e[16]!==n.ziele||e[17]!==_||e[18]!==y?(b=(0,H.jsx)(Ze,{ziele:n.ziele,laufend:r,gesperrt:_,onAktion:y}),e[15]=r,e[16]=n.ziele,e[17]=_,e[18]=y,e[19]=b):b=e[19];let x;e[20]!==p||e[21]!==h||e[22]!==g||e[23]!==b?(x=(0,H.jsxs)(M,{titel:`Updates`,rechts:p,children:[m,h,g,b]}),e[20]=p,e[21]=h,e[22]=g,e[23]=b,e[24]=x):x=e[24];let S;e[25]===i?S=e[26]:(S=(0,H.jsx)(M,{titel:`Verlauf`,children:(0,H.jsx)(ct,{laeufe:i})}),e[25]=i,e[26]=S);let C;return e[27]!==S||e[28]!==x?(C=(0,H.jsxs)(H.Fragment,{children:[x,S]}),e[27]=S,e[28]=x,e[29]=C):C=e[29],C}function ht(e){return e.baustein.aktion}export{pt as HomelabSeite,mt as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-Cf4eLYlp.js b/frontend/dist/assets/Homelab-Cf4eLYlp.js new file mode 100644 index 0000000..11d6d60 --- /dev/null +++ b/frontend/dist/assets/Homelab-Cf4eLYlp.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-4vXDP1Jj.js";import{n as o,t as s}from"./undo-2-DvQmwdhu.js";import{t as c}from"./search-hyFAofkN.js";import{$ as l,A as u,C as d,D as f,F as p,I as m,L as h,M as g,Mt as _,N as v,O as y,P as b,Pt as x,Q as S,R as C,S as w,St as T,Ut as E,X as D,at as O,b as k,bt as ee,cn as A,dn as te,et as ne,i as j,j as re,k as ie,m as ae,on as oe,pt as se,rt as ce,sn as M,un as N,xt as le}from"./index-CIOHqG23.js";import{t as P}from"./button-D8rvET0Z.js";import{t as F}from"./Bestaetigen-D6CzMfJm.js";import{t as ue}from"./Lampe-gSQfYg4e.js";var I={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};I.node;var de=A(I),L={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};L.node;var fe=A(L),R={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};R.node;var pe=A(R),z=t(),B=n(),V=`md:grid-cols-[minmax(0,1.3fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,H=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function U(e){let t=(0,z.c)(17),{wert:n,gelb:r,rot:a,zusatz:o}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let s=n>=a?`var(--rot)`:n>=r?`var(--bernstein)`:`var(--reihe-1)`,c=n>=a?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,l;t[1]===c?l=t[2]:(l=i(`ziffern text-sm`,c),t[1]=c,t[2]=l);let u;t[3]===n?u=t[4]:(u=Math.round(n),t[3]=n,t[4]=u);let d;t[5]===o?d=t[6]:(d=o&&(0,B.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=d);let f;t[7]!==l||t[8]!==u||t[9]!==d?(f=(0,B.jsxs)(`span`,{className:l,children:[u,` %`,d]}),t[7]=l,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=`${Math.min(100,Math.max(2,n))}%`,m;t[11]!==s||t[12]!==p?(m=(0,B.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,B.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:p,background:s}})}),t[11]=s,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==m?(h=(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[f,m]}),t[14]=f,t[15]=m,t[16]=h):h=t[16],h}function W(e){if(e.erreichbar===!1)return 0;let t=v(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function me(e){let t=(0,z.c)(4),{ziele:n,messwerte:r}=e,a;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(ge)),o=[...n].sort(he),s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,V),children:[(0,B.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=s):s=t[3],a=(0,B.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[s,o.map(t=>{let n=e.get(t.id),r=n?.platte??(v(t)===null?null:v(t)*100),a=n?.ram_used&&n.ram_total?`${H(n.ram_used)} / ${H(n.ram_total)} GB`:void 0;return(0,B.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-linie py-3 md:items-center`,V),children:[(0,B.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[(0,B.jsx)(N,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),y(t)!==t.name&&(0,B.jsx)(`span`,{className:`text-sm text-text-3`,children:y(t)})]}),(0,B.jsxs)(`span`,{role:`cell`,className:i(`schild flex items-center gap-1.5 text-xs`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:i(`size-2 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,B.jsxs)(`span`,{role:`cell`,children:[(0,B.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,B.jsx)(U,{wert:n?.cpu,gelb:85,rot:95})]}),(0,B.jsxs)(`span`,{role:`cell`,children:[(0,B.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,B.jsx)(U,{wert:n?.ram,gelb:85,rot:95,zusatz:a})]}),(0,B.jsxs)(`span`,{role:`cell`,children:[(0,B.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,B.jsx)(U,{wert:r,gelb:80,rot:90})]}),(0,B.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,B.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),ae(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=a}else a=t[2];return a}function he(e,t){return W(e)-W(t)}function ge(e){return[e.id,e.aktuell]}function _e(e){let t=(0,z.c)(24),{lage:n,lampen:r,onAnsehen:a}=e,o=n.ziel!==null,s=!o,c=`${n.oben} ${n.mitte}`,l=E[n.art],u=o?`cursor-pointer`:`cursor-default`,d;t[0]!==l||t[1]!==u?(d=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,l,u),t[0]=l,t[1]=u,t[2]=d):d=t[2];let f;t[3]===n.oben?f=t[4]:(f=(0,B.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:n.oben}),t[3]=n.oben,t[4]=f);let p;t[5]===n.mitte?p=t[6]:(p=(0,B.jsx)(`span`,{className:`text-center text-[34px] leading-none font-bold tracking-[0.04em] sm:text-[38px]`,children:n.mitte}),t[5]=n.mitte,t[6]=p);let m;t[7]===n.unten?m=t[8]:(m=(0,B.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:n.unten}),t[7]=n.unten,t[8]=m);let h;t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==d||t[13]!==f||t[14]!==p||t[15]!==m?(h=(0,B.jsxs)(`button`,{type:`button`,onClick:a,disabled:s,"aria-label":c,className:d,children:[f,p,m]}),t[9]=a,t[10]=s,t[11]=c,t[12]=d,t[13]=f,t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]===r?g=t[18]:(g=r.map(ve),t[17]=r,t[18]=g);let _;t[19]===g?_=t[20]:(_=(0,B.jsx)(`ul`,{"aria-label":`Geräte`,className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:g}),t[19]=g,t[20]=_);let v;return t[21]!==_||t[22]!==h?(v=(0,B.jsxs)(`section`,{"aria-label":`Lage im Homelab`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[h,_]}),t[21]=_,t[22]=h,t[23]=v):v=t[23],v}function ve(e){return(0,B.jsx)(ue,{lampe:e},e.id)}var G=r(e(),1),K=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function q(e){return e==null?`–`:e>=0xe8d4a51000?`${K(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${K(e/1e9)} GB`}function ye(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function be(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${ye(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var J={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`},Y={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},xe={ok:`var(--reihe-1)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},X=e=>x(new Date(e*1e3).toISOString());function Z(e){let t=(0,z.c)(11),{anteil:n,stufe:r,name:i}=e,a;t[0]===n?a=t[1]:(a=Math.round(n*100),t[0]=n,t[1]=a);let o=a,s=`${i}: ${o} % belegt`,c=`${Math.min(100,Math.max(2,o))}%`,l=xe[r],u;t[2]!==c||t[3]!==l?(u=(0,B.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:c,background:l}}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,B.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[90%] w-px bg-rot/80`}),t[5]=d,t[6]=f):(d=t[5],f=t[6]);let p;return t[7]!==o||t[8]!==s||t[9]!==u?(p=(0,B.jsxs)(`div`,{role:`meter`,"aria-label":s,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,className:`relative h-2 w-full overflow-hidden rounded-full bg-erhaben`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function Q(e){let t=(0,z.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,B.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r&&(0,B.jsx)(`span`,{className:`text-sm break-words text-text-3`,children:r}),t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==a?(u=(0,B.jsx)(w,{art:i,children:a}),t[7]=i,t[8]=a,t[9]=u):u=t[9];let d;t[10]!==l||t[11]!==u?(d=(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==d?(f=(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie bg-erhaben/40 p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function Se(e){let t=(0,z.c)(31),{p:n}=e,r;t[0]===n.anteil?r=t[1]:(r=Math.round(n.anteil*100),t[0]=n.anteil,t[1]=r);let a=r,o=`Speicherpool ${n.speicher}`,s=Y[n.stufe],c=J[n.stufe],l=Math.max(n.anteil,n.meta_anteil??0),u=`Speicherpool ${n.speicher}`,d;t[2]!==n.stufe||t[3]!==l||t[4]!==u?(d=(0,B.jsx)(Z,{anteil:l,stufe:n.stufe,name:u}),t[2]=n.stufe,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f;t[6]===n.belegt?f=t[7]:(f=q(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=q(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=i(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=q(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,B.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==a||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,B.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[a,` % · `,f,` von `,p,` · `,_]}),t[17]=a,t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;t[22]===n.meta_anteil?y=t[23]:(y=n.meta_anteil!==null&&(0,B.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Metadaten `,Math.round(n.meta_anteil*100),` % belegt`]}),t[22]=n.meta_anteil,t[23]=y);let b;return t[24]!==v||t[25]!==y||t[26]!==o||t[27]!==s||t[28]!==c||t[29]!==d?(b=(0,B.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y]}),t[24]=v,t[25]=y,t[26]=o,t[27]=s,t[28]=c,t[29]=d,t[30]=b):b=t[30],b}function Ce(e){let t=(0,z.c)(21),{s:n}=e,r=Y[n.stufe],i=J[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,B.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`Systemplatte des Proxmox-Hosts`}),t[0]=n.anteil,t[1]=n.stufe,t[2]=a):a=t[2];let o;t[3]===n.anteil?o=t[4]:(o=Math.round(n.anteil*100),t[3]=n.anteil,t[4]=o);let s;t[5]===n.belegt?s=t[6]:(s=q(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=q(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=q(n.frei),t[9]=n.frei,t[10]=l);let u;t[11]!==o||t[12]!==s||t[13]!==c||t[14]!==l?(u=(0,B.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[o,` % · `,s,` von `,c,` · `,l,` frei`]}),t[11]=o,t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d;return t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==u?(d=(0,B.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u]}),t[16]=r,t[17]=i,t[18]=a,t[19]=u,t[20]=d):d=t[20],d}function we(e){let t=(0,z.c)(21),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:J[n.stufe],a=`NAS ${n.server??``}`,o;t[0]===a?o=t[1]:(o=a.trim(),t[0]=a,t[1]=o);let s;t[2]===n.art?s=t[3]:(s=n.art.toUpperCase(),t[2]=n.art,t[3]=s);let c=`${s} · ${n.quelle??`?`} → ${n.ziel}`,l=Y[n.stufe],u;t[4]!==n.anteil||t[5]!==n.belegt||t[6]!==n.gesamt||t[7]!==n.problem||t[8]!==n.server||t[9]!==n.stufe?(u=n.problem?(0,B.jsx)(`p`,{className:i(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Z,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,B.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,q(n.belegt),` von `,q(n.gesamt),` · `,q((n.gesamt??0)-(n.belegt??0)),` frei`]})]}),t[4]=n.anteil,t[5]=n.belegt,t[6]=n.gesamt,t[7]=n.problem,t[8]=n.server,t[9]=n.stufe,t[10]=u):u=t[10];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[11]!==d||t[12]!==f?(p=(0,B.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;return t[14]!==r||t[15]!==o||t[16]!==c||t[17]!==l||t[18]!==u||t[19]!==p?(m=(0,B.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[14]=r,t[15]=o,t[16]=c,t[17]=l,t[18]=u,t[19]=p,t[20]=m):m=t[20],m}function Te(e){let t=(0,z.c)(18),{s:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={ok:`aktuell`,gelb:`Lücke`,rot:`gestört`,keine:`kein Auftrag`},t[0]=r):r=t[0];let i=r[n.stufe],a;t[1]===n?a=t[2]:(a=be(n),t[1]=n,t[2]=a);let o=Y[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(De),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.zuletzt?(c=n.stufe===`ok`&&(0,B.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,B.jsxs)(B.Fragment,{children:[`, zuletzt `,(0,B.jsx)(`span`,{className:`ziffern`,children:X(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.zuletzt,t[8]=c):c=t[8];let l;t[9]===n.fehlend?l=t[10]:(l=n.fehlend.length>0&&(0,B.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(Ee)}),t[9]=n.fehlend,t[10]=l);let u;return t[11]!==i||t[12]!==a||t[13]!==o||t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,B.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l]}),t[11]=i,t[12]=a,t[13]=o,t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Ee(e){return(0,B.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,B.jsxs)(B.Fragment,{children:[`zuletzt `,(0,B.jsx)(`span`,{className:`ziffern`,children:X(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function De(e){return(0,B.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function Oe(e){let t=(0,z.c)(45),{daten:n,laeuft:r,gesperrt:i,onAktion:o,snapshotsLink:s}=e,c=r===void 0?null:r,l=i!==void 0&&i,[u,d]=(0,G.useState)(null),f;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(f=n.pools.some(Me)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=f):f=t[2];let p=f,m,h,g;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==l||t[9]!==p||t[10]!==c||t[11]!==o||t[12]!==s){let e=n.empfehlungen.reduce(je,0);m=`flex flex-col gap-4`;let r;t[16]===n.pools?r=t[17]:(r=n.pools.map(Ae),t[16]=n.pools,t[17]=r);let i;t[18]===n.systemplatte?i=t[19]:(i=n.systemplatte&&(0,B.jsx)(Ce,{s:n.systemplatte}),t[18]=n.systemplatte,t[19]=i);let u;t[20]===n.nas?u=t[21]:(u=n.nas.length>0?n.nas.map(ke):(0,B.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,B.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[20]=n.nas,t[21]=u);let f;t[22]===n.sicherungen?f=t[23]:(f=(0,B.jsx)(Te,{s:n.sicherungen}),t[22]=n.sicherungen,t[23]=f),t[24]!==f||t[25]!==r||t[26]!==i||t[27]!==u?(h=(0,B.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,u,f]}),t[24]=f,t[25]=r,t[26]=i,t[27]=u,t[28]=h):h=t[28],g=n.empfehlungen.length>0&&(0,B.jsxs)(`details`,{open:p,className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-3`,children:[(0,B.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,B.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,B.jsx)(a,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,B.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${q(e)}`]})]}),(0,B.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,B.jsx)(Fe,{e,laeuft:c,gesperrt:l||!o,onFrage:d,verweis:e.art===`snapshot`?s:null},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=l,t[9]=p,t[10]=c,t[11]=o,t[12]=s,t[13]=m,t[14]=h,t[15]=g}else m=t[13],h=t[14],g=t[15];let _=!!u,v=u?`Proxmox-Host: ${u.label}`:``,y=u?.frage??``,b=u?.label??``,x;t[29]!==u||t[30]!==o?(x=()=>{u&&o&&o(u),d(null)},t[29]=u,t[30]=o,t[31]=x):x=t[31];let S;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>d(null),t[32]=S):S=t[32];let C;t[33]!==l||t[34]!==b||t[35]!==x||t[36]!==_||t[37]!==v||t[38]!==y?(C=(0,B.jsx)(F,{offen:_,titel:v,text:y,knopf:b,gesperrt:l,onJa:x,onNein:S}),t[33]=l,t[34]=b,t[35]=x,t[36]=_,t[37]=v,t[38]=y,t[39]=C):C=t[39];let w;return t[40]!==C||t[41]!==m||t[42]!==h||t[43]!==g?(w=(0,B.jsxs)(`div`,{className:m,children:[h,g,C]}),t[40]=C,t[41]=m,t[42]=h,t[43]=g,t[44]=w):w=t[44],w}function ke(e){return(0,B.jsx)(we,{n:e},e.ziel)}function Ae(e){return(0,B.jsx)(Se,{p:e},e.speicher)}function je(e,t){return e+(t.platz??0)}function Me(e){return e.stufe!==`ok`}var Ne={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function Pe({text:e}){return e.split(/`([^`]+)`/).map((e,t)=>t%2==1?(0,B.jsx)(`code`,{className:`rounded bg-erhaben px-1 font-mono text-[13px] text-foreground [font-variant-ligatures:none]`,children:e},t):e)}function Fe(e){let t=(0,z.c)(24),{e:n,laeuft:r,gesperrt:i,onFrage:a,verweis:o}=e,s;t[0]===n.titel?s=t[1]:(s=(0,B.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=s);let c;t[2]===n.platz?c=t[3]:(c=n.platz?`≈ ${q(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,B.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:c}),t[4]=c,t[5]=l);let u;t[6]!==s||t[7]!==l?(u=(0,B.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[s,l]}),t[6]=s,t[7]=l,t[8]=u):u=t[8];let d;t[9]===n.ort?d=t[10]:(d=n.ort&&(0,B.jsx)(`span`,{className:`schild text-xs text-text-3`,children:Ne[n.ort]??n.ort}),t[9]=n.ort,t[10]=d);let f;t[11]===n.text?f=t[12]:(f=(0,B.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:(0,B.jsx)(Pe,{text:n.text})}),t[11]=n.text,t[12]=f);let p;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(p=n.aktion&&(r?(0,B.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):(0,B.jsx)(P,{variant:`outline`,size:`sm`,className:`mt-1 self-start`,disabled:i,onClick:()=>a(n.aktion),children:n.aktion.label})),t[13]=n.aktion,t[14]=i,t[15]=r,t[16]=a,t[17]=p):p=t[17];let m;return t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==o?(m=(0,B.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-1`,children:[u,d,f,o,p]}),t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=o,t[23]=m):m=t[23],m}var Ie={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function Le(e){let t=(0,z.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,G.useState)(!1),o=ee(i),s=C(),c;t[0]===o.data?.schritte?c=t[1]:(c=o.data?.schritte??[],t[0]=o.data?.schritte,t[1]=c);let l=c,u=r||n===0||s.isPending,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>a(!0),t[2]=d):d=t[2];let f=n>0?` (${n})`:``,p;t[3]!==u||t[4]!==f?(p=(0,B.jsxs)(P,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let m=l.length?`${l.length} Updates starten`:`Starten`,h=s.isPending||o.isPending||l.length===0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!1),t[6]=g):g=t[6];let _;t[7]!==i||t[8]!==s?(_=()=>{i&&(s.mutate(void 0),a(!1))},t[7]=i,t[8]=s,t[9]=_):_=t[9];let v;t[10]!==o.data||t[11]!==o.error||t[12]!==o.isPending||t[13]!==l?(v=o.isPending?(0,B.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,B.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,B.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,B.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(Re)}),o.data?.hinweis&&(0,B.jsx)(`p`,{className:`text-xs text-bernstein`,children:o.data.hinweis})]}),t[10]=o.data,t[11]=o.error,t[12]=o.isPending,t[13]=l,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==v||t[17]!==m||t[18]!==h||t[19]!==_?(y=(0,B.jsx)(F,{offen:i,titel:`Alle Homelab-Updates einspielen?`,text:`Die Updates laufen nacheinander, jedes mit Rückweg und Prüfung. Ist eine Prüfung rot, geht dieser Schritt von selbst zurück und der Rest bleibt stehen. AdGuard und NPMplus kommen zuletzt, der Proxmox-Host ganz am Ende; neu gestartet wird er nicht.`,knopf:m,gesperrt:h,onNein:g,onJa:_,children:v}),t[15]=i,t[16]=v,t[17]=m,t[18]=h,t[19]=_,t[20]=y):y=t[20];let b;return t[21]!==y||t[22]!==p?(b=(0,B.jsxs)(B.Fragment,{children:[p,y]}),t[21]=y,t[22]=p,t[23]=b):b=t[23],b}function Re(e,t){return(0,B.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,B.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,B.jsxs)(`span`,{className:`min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,B.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,B.jsx)(`span`,{className:i(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Ie[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var ze={wartet:{Symbol:de,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:fe,farbe:`text-cyan`,text:`läuft`},eingespielt:{Symbol:oe,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:s,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:o,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:pe,farbe:`text-text-3`,text:`übersprungen`}},Be={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function Ve(e){let t=(0,z.c)(33),{lauf:n,onQuittieren:r}=e,i;t[0]===n.schritte?i=t[1]:(i=n.schritte.filter(Ue),t[0]=n.schritte,t[1]=i);let a=i.length,o=Be[n.status],s;t[2]!==a||t[3]!==n.schritte.length?(s=(0,B.jsxs)(`span`,{className:`schild text-sm tracking-[0.18em] text-cyan`,children:[`Alle aktualisieren · `,a,` von `,n.schritte.length]}),t[2]=a,t[3]=n.schritte.length,t[4]=s):s=t[4];let c;t[5]===n.start?c=t[6]:(c=x(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=c);let l;t[7]===c?l=t[8]:(l=(0,B.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c}),t[7]=c,t[8]=l);let u;t[9]!==o.art||t[10]!==o.text?(u=(0,B.jsx)(w,{art:o.art,children:o.text}),t[9]=o.art,t[10]=o.text,t[11]=u):u=t[11];let d;t[12]!==l||t[13]!==u?(d=(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]!==s||t[16]!==d?(f=(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[15]=s,t[16]=d,t[17]=f):f=t[17];let p=`${a/Math.max(1,n.schritte.length)*100}%`,m;t[18]===p?m=t[19]:(m=(0,B.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,B.jsx)(`div`,{className:`h-full rounded-full bg-cyan transition-all`,style:{width:p}})}),t[18]=p,t[19]=m);let h;t[20]===n.schritte?h=t[21]:(h=n.schritte.map(He),t[20]=n.schritte,t[21]=h);let g;t[22]===h?g=t[23]:(g=(0,B.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:h}),t[22]=h,t[23]=g);let _;t[24]!==n.status||t[25]!==n.text||t[26]!==r?(_=(n.text||n.status!==`laeuft`&&r)&&(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n.text&&(0,B.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),n.status!==`laeuft`&&r&&(0,B.jsx)(P,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:r,children:`Ausblenden`})]}),t[24]=n.status,t[25]=n.text,t[26]=r,t[27]=_):_=t[27];let v;return t[28]!==g||t[29]!==_||t[30]!==f||t[31]!==m?(v=(0,B.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-xl border border-cyan-rand/60 bg-cyan-grund/40 p-4`,children:[f,m,g,_]}),t[28]=g,t[29]=_,t[30]=f,t[31]=m,t[32]=v):v=t[32],v}function He(e){let t=ze[e.status];return(0,B.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,B.jsx)(t.Symbol,{className:i(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,B.jsxs)(`span`,{className:`min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,B.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,B.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function Ue(e){return![`wartet`,`laeuft`].includes(e.status)}var We=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function Ge(e){let t=(0,z.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?p(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,B.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,B.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i;t[2]===r.installiert?i=t[3]:(i=r.installiert?h(r.installiert):`–`,t[2]=r.installiert,t[3]=i);let a=i,o=r.zustand===`aktuell`?`text-foreground`:`text-text-2`,s;t[4]!==a||t[5]!==o?(s=(0,B.jsx)(`span`,{className:o,children:a}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]!==r.verfuegbar||t[8]!==r.zustand?(c=r.zustand===`neu`&&r.verfuegbar&&(0,B.jsxs)(`span`,{className:`text-cyan`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let l;t[10]===r.zustand?l=t[11]:(l=r.zustand===`aktuell`&&(0,B.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=l);let u;t[12]===r.zustand?u=t[13]:(u=r.zustand===`unbekannt`&&(0,B.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=u);let d;t[14]!==s||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,B.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,l,u]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(f=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,B.jsx)(`span`,{className:`text-xs text-text-3`,children:r.grund}),t[19]=r.aktion,t[20]=r.grund,t[21]=r.zustand,t[22]=f):f=t[22];let m;return t[23]!==d||t[24]!==f?(m=(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[d,f]}),t[23]=d,t[24]=f,t[25]=m):m=t[25],m}function Ke(e){let t=(0,z.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,o;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,B.jsx)(`span`,{className:`text-cyan`,children:e}),t[1]=e,t[2]=r),o=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,B.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),o=n}else{let e;t[5]===n.grund?e=t[6]:(e=re(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,s=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,B.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==s||t[11]!==c?(l=(0,B.jsxs)(`span`,{className:`text-text-2`,title:i,children:[s,c]}),t[9]=i,t[10]=s,t[11]=c,t[12]=l):l=t[12],o=l}let s=n.zustand===`unbekannt`?n.aktion:null,l;t[13]===o?l=t[14]:(l=(0,B.jsx)(`span`,{className:`min-w-0`,children:o}),t[13]=o,t[14]=l);let u;t[15]!==i||t[16]!==r||t[17]!==s?(u=s&&(0,B.jsx)(P,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":s.label,title:s.label,disabled:i,onClick:()=>r(s),children:(0,B.jsx)(c,{})}),t[15]=i,t[16]=r,t[17]=s,t[18]=u):u=t[18];let d;return t[19]!==l||t[20]!==u?(d=(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[l,u]}),t[19]=l,t[20]=u,t[21]=d):d=t[21],d}var qe={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function Je(e){let t=(0,z.c)(54),{ziel:n,laeuft:r,gesperrt:a,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=f(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=p(n),t[2]=n,t[3]=l);let u=l,d,h,g,_,v,x,S,C,w;if(t[4]!==c||t[5]!==a||t[6]!==r||t[7]!==o||t[8]!==u||t[9]!==n){let e=n.bausteine.filter(Ye),s=m(n)>=2;x=`row`;let l=s&&`opacity-75`;t[19]===l?S=t[20]:(S=i(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:items-center`,We,l),t[19]=l,t[20]=S);let f;t[21]===n.name?f=t[22]:(f=(0,B.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[21]=n.name,t[22]=f);let p;t[23]===n?p=t[24]:(p=y(n)!==n.name&&(0,B.jsx)(`span`,{className:`text-sm text-text-3`,children:y(n)}),t[23]=n,t[24]=p),t[25]!==f||t[26]!==p?(C=(0,B.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[f,p]}),t[25]=f,t[26]=p,t[27]=C):C=t[27];let T;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,B.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[28]=T):T=t[28],t[29]!==c||t[30]!==n?(w=(0,B.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[T,(0,B.jsx)(Ge,{ziel:n,b:c})]}),t[29]=c,t[30]=n,t[31]=w):w=t[31];let E;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,B.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[32]=E):E=t[32];let D=a||!!r,O;t[33]!==o||t[34]!==n?(O=e=>o({ziel:n,aktion:e}),t[33]=o,t[34]=n,t[35]=O):O=t[35],t[36]!==u||t[37]!==D||t[38]!==O?(d=(0,B.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[E,(0,B.jsx)(Ke,{b:u,gesperrt:D,onSuchen:O})]}),t[36]=u,t[37]=D,t[38]=O,t[39]=d):d=t[39];let k=e.length?b(n):``;t[40]===k?h=t[41]:(h=(0,B.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:k}),t[40]=k,t[41]=h),g=`cell`,_=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,v=r?(0,B.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,r]}):e.map(e=>(0,B.jsx)(P,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:qe[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=a,t[6]=r,t[7]=o,t[8]=u,t[9]=n,t[10]=d,t[11]=h,t[12]=g,t[13]=_,t[14]=v,t[15]=x,t[16]=S,t[17]=C,t[18]=w}else d=t[10],h=t[11],g=t[12],_=t[13],v=t[14],x=t[15],S=t[16],C=t[17],w=t[18];let T;t[42]!==g||t[43]!==_||t[44]!==v?(T=(0,B.jsx)(`span`,{role:g,className:_,children:v}),t[42]=g,t[43]=_,t[44]=v,t[45]=T):T=t[45];let E;return t[46]!==d||t[47]!==h||t[48]!==T||t[49]!==x||t[50]!==S||t[51]!==C||t[52]!==w?(E=(0,B.jsxs)(`div`,{role:x,className:S,children:[C,w,d,h,T]}),t[46]=d,t[47]=h,t[48]=T,t[49]=x,t[50]=S,t[51]=C,t[52]=w,t[53]=E):E=t[53],E}function Ye(e){return e.zustand===`neu`&&e.aktion}function Xe(e){let t=(0,z.c)(42),{ziele:n,laufend:r,gesperrt:a,onAktion:o}=e,[s,c]=(0,G.useState)(null),l,u,d,f,p,m;if(t[0]!==a||t[1]!==r||t[2]!==n){let e=[...n].sort(Qe),o;t[9]===n?o=t[10]:(o=n.filter(Ze),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,B.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,We),children:[(0,B.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,B.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,B.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==a||t[13]!==r?(s=e=>(0,B.jsx)(Je,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:a||r.has(e.id),onFrage:c},e.id),t[12]=a,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=a,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,B.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,B.jsx)(w,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,b=s?.aktion.label??``,x;t[24]===s?.aktion.pfad?x=t[25]:(x=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=x);let S=!!x,C;t[26]!==s||t[27]!==o?(C=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=C):C=t[28];let T;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>c(null),t[29]=T):T=t[29];let E;t[30]!==a||t[31]!==y||t[32]!==b||t[33]!==S||t[34]!==C||t[35]!==_||t[36]!==v?(E=(0,B.jsx)(F,{offen:_,titel:v,text:y,knopf:b,gefahr:S,gesperrt:a,onJa:C,onNein:T}),t[30]=a,t[31]=y,t[32]=b,t[33]=S,t[34]=C,t[35]=_,t[36]=v,t[37]=E):E=t[37];let D;return t[38]!==E||t[39]!==h||t[40]!==g?(D=(0,B.jsxs)(B.Fragment,{children:[h,g,E]}),t[38]=E,t[39]=h,t[40]=g,t[41]=D):D=t[41],D}function Ze(e){return m(e)===3}function Qe(e,t){return m(e)-m(t)}var $e=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],et={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`},aufgeraeumt:{art:`gruen`,text:`aufgeräumt`},offen:{art:`cyan`,text:`Probelauf`}},$=e=>x(new Date(e*1e3).toISOString());function tt(){let e=(0,z.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,B.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Homelab-Teil läuft als eigene Instanz in einem kleinen Container auf dem Proxmox-PC. Von dort prüft er auch die KI-Box von außen.`}),n=(0,B.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Steht er, erscheinen hier alle Geräte mit ihren offenen Updates. Ein Update startest du mit „Jetzt updaten“: Vorher wird gesichert, danach die Erreichbarkeit geprüft, und ist sie rot, geht es von selbst zurück.`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,B.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-3`,children:`Dazu kommen`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,B.jsxs)(B.Fragment,{children:[t,n,(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,B.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:$e.map(nt)})]}),(0,B.jsx)(`p`,{className:`text-sm text-text-3`,children:`Der Container wird erst nach deiner Freigabe angelegt.`})]}),e[3]=i):i=e[3],i}function nt(e){return(0,B.jsx)(`li`,{children:(0,B.jsx)(w,{children:e})},e)}function rt(e){let t=(0,z.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,B.jsx)(w,{art:`rot`,children:`Antwortet nicht`}):(0,B.jsx)(w,{children:`Noch nicht eingerichtet`}),t[0]=n.eingerichtet,t[1]=r);let i=r,a;t[2]!==n.eingerichtet||t[3]!==n.fehler||t[4]!==n.url?(a=n.eingerichtet?(0,B.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Homelab-Teil (`,n.url,`) ist `,n.fehler??`nicht erreichbar`,`. Hält das an, meldet der Wächter es nach fünf Minuten auf Telegram.`]}):(0,B.jsx)(tt,{}),t[2]=n.eingerichtet,t[3]=n.fehler,t[4]=n.url,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,B.jsx)(k,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function it(e){let t=(0,z.c)(10),{hinweise:n}=e,r=n.some(ot)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,B.jsxs)(w,{art:r,children:[n.length,` offen`]}),t[0]=n.length,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(at),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,B.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:a}),t[5]=a,t[6]=o);let s;return t[7]!==i||t[8]!==o?(s=(0,B.jsx)(k,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function at(e){return(0,B.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,B.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,B.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function ot(e){return e.stufe===`rot`}function st(e){let t=(0,z.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(lt).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch kein Update im Homelab eingespielt.`}),t[4]=e):e=t[4],a=e;break bb0}r=`@container m-0 flex list-none flex-col p-0`,i=e.map(ct)}t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let o;return t[5]!==r||t[6]!==i?(o=(0,B.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function ct(e){let t=e.ergebnis?et[e.ergebnis]??{art:`grau`,text:e.ergebnis}:{art:`grau`,text:`unterbrochen`};return(0,B.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-linie py-3 first:border-t-0 first:pt-0`,children:[(0,B.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,B.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,B.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:e.name}),(0,B.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,B.jsx)(w,{art:t.art,children:t.text})})]}),e.text&&(0,B.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function lt(e){return e.status!==`laeuft`&&!j(e)}function ut(e){let t=(0,z.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,B.jsxs)(`p`,{role:`alert`,className:`rounded-xl border border-bernstein/60 bg-bernstein-grund px-4 py-3 text-[15px] text-bernstein`,children:[`Der Ausführer auf dem Proxmox-Host meldet sich nicht`,e,`. Die Geräte zeigen den letzten bekannten Stand; Updates starten erst, wenn er wieder da ist.`]}),t[2]=e,t[3]=r),r}if(!n.bericht){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),t[4]=e):e=t[4],e}if(n.bericht.veraltet){let e;t[5]===n.bericht.empfangen?e=t[6]:(e=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,B.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,e,`; die Angaben können veraltet sein.`]}),t[7]=e,t[8]=r),r}return null}function dt(){let e=(0,z.c)(20),t=O(),n=se(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=D(r),a=l(r),o=S(r),s=_(),c=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,B.jsx)(d,{text:`Wird gelesen …`}),e[0]=t):t=e[0],c=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,B.jsx)(rt,{partner:n.data}):(0,B.jsx)(d,{fehler:!0,text:`Der Partner lässt sich nicht abfragen: ${n.error?.message??`keine Daten`}`}),e[1]=n.data,e[2]=n.error?.message,e[3]=t):t=e[3],c=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,B.jsx)(d,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],c=t}else if(!i.data){let t=`Der Homelab-Teil antwortet nicht: ${i.error?.message??`keine Daten`}`,n;e[5]===t?n=e[6]:(n=(0,B.jsx)(d,{fehler:!0,text:t}),e[5]=t,e[6]=n),c=n}let u;if(e[7]!==a.data?.laeufe){u=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&u.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=u}else u=e[8];let f;e[9]===a.data?.laeufe?f=e[10]:(f=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=f);let p;e[11]===o.data?.hinweise?p=e[12]:(p=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=p);let m;return e[13]!==s||e[14]!==c||e[15]!==i.data||e[16]!==u||e[17]!==f||e[18]!==p?(m={ersatz:c,stand:i.data,laufend:u,laeufe:f,hinweise:p,aktion:s},e[13]=s,e[14]=c,e[15]=i.data,e[16]=u,e[17]=f,e[18]=p,e[19]=m):m=e[19],m}function ft(){let e=(0,z.c)(49),t=te(),{ersatz:n,stand:r,laufend:i,laeufe:a,hinweise:o,aktion:s}=dt(),c=ne(`1h`,!!r),l=ce(!!r);if(n||!r)return n;let d,f,p;if(e[0]!==o||e[1]!==a||e[2]!==r){d=r.bericht?$(r.bericht.empfangen):null;let t;e[6]===a?t=e[7]:(t=new Set(a.filter(mt).map(pt)),e[6]=a,e[7]=t),f=t,p=ie(r,o,f.size,d),e[0]=o,e[1]=a,e[2]=r,e[3]=d,e[4]=f,e[5]=p}else d=e[3],f=e[4],p=e[5];let m=p,h;if(e[8]!==f||e[9]!==r.ziele){let t;e[11]===f?t=e[12]:(t=e=>u(e,f.has(e.id)),e[11]=f,e[12]=t),h=r.ziele.map(t),e[8]=f,e[9]=r.ziele,e[10]=h}else h=e[10];let g;e[13]!==m.ziel||e[14]!==t?(g=()=>{m.ziel===`updates`?t({to:`/homelab/updates`}):m.ziel&&document.getElementById(m.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[13]=m.ziel,e[14]=t,e[15]=g):g=e[15];let _;e[16]!==m||e[17]!==h||e[18]!==g?(_=(0,B.jsx)(_e,{lage:m,lampen:h,onAnsehen:g}),e[16]=m,e[17]=h,e[18]=g,e[19]=_):_=e[19];let v;e[20]===r?v=e[21]:(v=(0,B.jsx)(ut,{stand:r}),e[20]=r,e[21]=v);let y;e[22]===o?y=e[23]:(y=o.length>0&&(0,B.jsx)(it,{hinweise:o}),e[22]=o,e[23]=y);let b;e[24]===d?b=e[25]:(b=d&&(0,B.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,d]}),e[24]=d,e[25]=b);let x;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,B.jsxs)(N,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,B.jsx)(M,{className:`size-3.5`,"aria-hidden":!0})]}),e[26]=x):x=e[26];let S;e[27]===b?S=e[28]:(S=(0,B.jsxs)(`span`,{className:`flex items-center gap-3`,children:[b,x]}),e[27]=b,e[28]=S);let C=c.data?.geraete,w;e[29]!==r.ziele||e[30]!==C?(w=(0,B.jsx)(me,{ziele:r.ziele,messwerte:C}),e[29]=r.ziele,e[30]=C,e[31]=w):w=e[31];let T;e[32]===c.isError?T=e[33]:(T=c.isError&&(0,B.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[32]=c.isError,e[33]=T);let E;e[34]!==w||e[35]!==T||e[36]!==S?(E=(0,B.jsxs)(k,{titel:`Geräte`,id:`geraete`,rechts:S,children:[w,T]}),e[34]=w,e[35]=T,e[36]=S,e[37]=E):E=e[37];let D;e[38]!==s||e[39]!==i||e[40]!==l.data||e[41]!==r.ausfuehrer?(D=l.data?.bericht&&(0,B.jsx)(k,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,B.jsx)(Oe,{daten:l.data,laeuft:i.get(`pve`)??null,gesperrt:s.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>s.mutate(e),snapshotsLink:(0,B.jsxs)(N,{to:`/homelab/snapshots`,className:`inline-flex min-h-10 items-center gap-1 self-start text-sm text-lab-text hover:underline`,children:[`Zu den Snapshots `,(0,B.jsx)(M,{className:`size-3.5`,"aria-hidden":!0})]})})}),e[38]=s,e[39]=i,e[40]=l.data,e[41]=r.ausfuehrer,e[42]=D):D=e[42];let O;return e[43]!==E||e[44]!==D||e[45]!==_||e[46]!==v||e[47]!==y?(O=(0,B.jsxs)(B.Fragment,{children:[_,v,y,E,D]}),e[43]=E,e[44]=D,e[45]=_,e[46]=v,e[47]=y,e[48]=O):O=e[48],O}function pt(e){return e.ziel}function mt(e){return e.status===`laeuft`&&!j(e)}function ht(){let e=(0,z.c)(30),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=dt(),o=le(!!n),s=T();if(t||!n)return t;let c=o.data?.sammellauf??null,l=c?.status===`laeuft`,u;e[0]===n.ziele?u=e[1]:(u=g(n.ziele).filter(gt),e[0]=n.ziele,e[1]=u);let d=u.length,f=a.isPending||l||!n.ausfuehrer.verbunden,p;e[2]!==d||e[3]!==f?(p=(0,B.jsx)(Le,{anzahl:d,gesperrt:f}),e[2]=d,e[3]=f,e[4]=p):p=e[4];let m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,B.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Je Gerät, was läuft und was neu ist. Du startest jedes Update selbst — einzeln oder alle nacheinander. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[5]=m):m=e[5];let h;e[6]===n?h=e[7]:(h=(0,B.jsx)(ut,{stand:n}),e[6]=n,e[7]=h);let _;e[8]!==c||e[9]!==s||e[10]!==l||e[11]!==n.bericht?.empfangen?(_=c&&(l||c.ende&&(n.bericht?.empfangen??0)-c.ende<21600)&&(0,B.jsx)(Ve,{lauf:c,onQuittieren:()=>s.mutate(c.id)}),e[8]=c,e[9]=s,e[10]=l,e[11]=n.bericht?.empfangen,e[12]=_):_=e[12];let v=a.isPending||l||!n.ausfuehrer.verbunden,y;e[13]===a?y=e[14]:(y=e=>a.mutate(e),e[13]=a,e[14]=y);let b;e[15]!==r||e[16]!==n.ziele||e[17]!==v||e[18]!==y?(b=(0,B.jsx)(Xe,{ziele:n.ziele,laufend:r,gesperrt:v,onAktion:y}),e[15]=r,e[16]=n.ziele,e[17]=v,e[18]=y,e[19]=b):b=e[19];let x;e[20]!==p||e[21]!==h||e[22]!==_||e[23]!==b?(x=(0,B.jsxs)(k,{titel:`Updates`,rechts:p,children:[m,h,_,b]}),e[20]=p,e[21]=h,e[22]=_,e[23]=b,e[24]=x):x=e[24];let S;e[25]===i?S=e[26]:(S=(0,B.jsx)(k,{titel:`Verlauf`,children:(0,B.jsx)(st,{laeufe:i})}),e[25]=i,e[26]=S);let C;return e[27]!==S||e[28]!==x?(C=(0,B.jsxs)(B.Fragment,{children:[x,S]}),e[27]=S,e[28]=x,e[29]=C):C=e[29],C}function gt(e){return e.baustein.aktion}export{ft as HomelabSeite,ht as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabProtokoll-CuswONY1.js b/frontend/dist/assets/HomelabProtokoll-CuswONY1.js deleted file mode 100644 index b9e5a9c..0000000 --- a/frontend/dist/assets/HomelabProtokoll-CuswONY1.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-cy4l-52D.js";import{t as o}from"./search-BlW0aIMN.js";import{J as s,Jt as c,Qt as l,U as u,Z as d,at as f,g as p,p as m}from"./index-BwBSJspl.js";var h={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};h.node;var g=l(h),_={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};_.node;var v=l(_),y={name:`triangle-alert`,size:24,node:[[`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`}]],aliases:[`alert-triangle`]};y.node;var b=l(y),x=t(),S=r(e(),1),C=n(),w=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],T={auftrag:v,lauf:c,sammellauf:c,hinweis:b,meldung:g,pflege:o},E={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},D=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),O=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function A(e){let t=k.format(new Date),n=k.format(new Date(Date.now()-864e5)),r=k.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:D.format(new Date(e*1e3))}function j(e){let t=(0,x.c)(37),{e:n,geraet:r}=e,[o,s]=(0,S.useState)(!1),c=E[n.stufe]??E.info,l=T[n.art]??v,u;t[0]===n.zeit?u=t[1]:(u=O.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,C.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=i(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,C.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,C.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,C.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=i(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,C.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let y;t[15]===r?y=t[16]:(y=r&&(0,C.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=y);let b;t[17]===c.wort?b=t[18]:(b=(0,C.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=b);let w;t[19]!==b||t[20]!==m||t[21]!==_||t[22]!==y?(w=(0,C.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,y,b]}),t[19]=b,t[20]=m,t[21]=_,t[22]=y,t[23]=w):w=t[23];let D;t[24]===n.text?D=t[25]:(D=n.text&&(0,C.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=D);let k;t[26]!==n.details||t[27]!==o?(k=n.details&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),"aria-expanded":o,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,C.jsx)(a,{className:i(`size-3.5 transition-transform`,o&&`rotate-90`),"aria-hidden":!0}),o?`Ausgabe verbergen`:`Ausgabe zeigen`]}),o&&(0,C.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=o,t[28]=k):k=t[28];let A;t[29]!==w||t[30]!==D||t[31]!==k?(A=(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[w,D,k]}),t[29]=w,t[30]=D,t[31]=k,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,C.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-linie py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function M(){let e=(0,x.c)(16),t=d(),n=f(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[a,o]=(0,S.useState)(`alle`),[c,l]=(0,S.useState)(!1),h=s(r,c),g=new Map((u(r).data?.ziele??[]).map(N));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(p,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(p,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(h.data?.eintraege??[]).filter(e=>a===`alle`||e.art===a||a===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=A(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=m,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,C.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let T;e[3]===a?T=e[4]:(T=w.map(e=>(0,C.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":a===e.id,className:i(`h-9 rounded-full border px-3.5 text-sm`,a===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),e[3]=a,e[4]=T);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>l(e.target.checked),e[5]=E):E=e[5];let D;e[6]===c?D=e[7]:(D=(0,C.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:c,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=c,e[7]=D);let O;e[8]!==T||e[9]!==D?(O=(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[T,D]}),e[8]=T,e[9]=D,e[10]=O):O=e[10];let k=h.isPending?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):h.isError?(0,C.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,h.error.message]}):v.length===0?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,C.jsx)(`div`,{className:i(`flex flex-col gap-5`,h.isFetching&&`opacity-80`),children:v.map(e=>(0,C.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,C.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-lab-text`,children:e.titel}),(0,C.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?g.get(e.ziel)??e.ziel:null;return(0,C.jsx)(j,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),M;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(M=(0,C.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=M):M=e[15],M}function N(e){return[e.id,e.name]}export{M as HomelabProtokollSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabProtokoll-CwVh3SKG.js b/frontend/dist/assets/HomelabProtokoll-CwVh3SKG.js new file mode 100644 index 0000000..6a8b066 --- /dev/null +++ b/frontend/dist/assets/HomelabProtokoll-CwVh3SKG.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-4vXDP1Jj.js";import{t as o}from"./search-hyFAofkN.js";import{C as s,X as c,at as l,b as u,cn as d,in as f,pt as p,rn as m,tt as h}from"./index-CIOHqG23.js";var g={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};g.node;var _=d(g),v={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};v.node;var y=d(v),b={name:`triangle-alert`,size:24,node:[[`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`}]],aliases:[`alert-triangle`]};b.node;var x=d(b),S=t(),C=r(e(),1),w=n(),T=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`snapshot`,name:`Snapshots`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],E={auftrag:y,lauf:f,sammellauf:f,hinweis:x,meldung:_,pflege:o,snapshot:m},D={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},O=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),A=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function j(e){let t=A.format(new Date),n=A.format(new Date(Date.now()-864e5)),r=A.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:O.format(new Date(e*1e3))}function M(e){let t=(0,S.c)(37),{e:n,geraet:r}=e,[o,s]=(0,C.useState)(!1),c=D[n.stufe]??D.info,l=E[n.art]??y,u;t[0]===n.zeit?u=t[1]:(u=k.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,w.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=i(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,w.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,w.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,w.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=i(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,w.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let v;t[15]===r?v=t[16]:(v=r&&(0,w.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=v);let b;t[17]===c.wort?b=t[18]:(b=(0,w.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=b);let x;t[19]!==b||t[20]!==m||t[21]!==_||t[22]!==v?(x=(0,w.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,v,b]}),t[19]=b,t[20]=m,t[21]=_,t[22]=v,t[23]=x):x=t[23];let T;t[24]===n.text?T=t[25]:(T=n.text&&(0,w.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=T);let O;t[26]!==n.details||t[27]!==o?(O=n.details&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),"aria-expanded":o,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,w.jsx)(a,{className:i(`size-3.5 transition-transform`,o&&`rotate-90`),"aria-hidden":!0}),o?`Ausgabe verbergen`:`Ausgabe zeigen`]}),o&&(0,w.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=o,t[28]=O):O=t[28];let A;t[29]!==x||t[30]!==T||t[31]!==O?(A=(0,w.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[x,T,O]}),t[29]=x,t[30]=T,t[31]=O,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,w.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-linie py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function N(){let e=(0,S.c)(16),t=l(),n=p(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[a,o]=(0,C.useState)(`alle`),[d,f]=(0,C.useState)(!1),m=h(r,d),g=new Map((c(r).data?.ziele??[]).map(P));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(s,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(s,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(m.data?.eintraege??[]).filter(e=>a===`alle`||e.art===a||a===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=j(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=u,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,w.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Snapshots, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let x;e[3]===a?x=e[4]:(x=T.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":a===e.id,className:i(`h-9 rounded-full border px-3.5 text-sm`,a===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),e[3]=a,e[4]=x);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>f(e.target.checked),e[5]=E):E=e[5];let D;e[6]===d?D=e[7]:(D=(0,w.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,w.jsx)(`input`,{type:`checkbox`,checked:d,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=d,e[7]=D);let O;e[8]!==x||e[9]!==D?(O=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[x,D]}),e[8]=x,e[9]=D,e[10]=O):O=e[10];let k=m.isPending?(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):m.isError?(0,w.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,m.error.message]}):v.length===0?(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,w.jsx)(`div`,{className:i(`flex flex-col gap-5`,m.isFetching&&`opacity-80`),children:v.map(e=>(0,w.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,w.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-lab-text`,children:e.titel}),(0,w.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?g.get(e.ziel)??e.ziel:null;return(0,w.jsx)(M,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),A;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(A=(0,w.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=A):A=e[15],A}function P(e){return[e.id,e.name]}export{N as HomelabProtokollSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabSnapshots-BHJkSmwO.js b/frontend/dist/assets/HomelabSnapshots-BHJkSmwO.js new file mode 100644 index 0000000..5400f39 --- /dev/null +++ b/frontend/dist/assets/HomelabSnapshots-BHJkSmwO.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{n as a,t as o}from"./undo-2-DvQmwdhu.js";import{C as s,S as c,a as l,at as u,b as d,cn as f,n as p,nt as m,o as h,on as g,pt as _,r as v,s as y,t as b,wt as x}from"./index-CIOHqG23.js";import{t as S}from"./button-D8rvET0Z.js";import{t as C}from"./Bestaetigen-D6CzMfJm.js";var w={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};w.node;var T=f(w),E={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};E.node;var D=f(E),O=t(),k=r(e(),1),A=n(),j=`grid grid-cols-[minmax(0,1fr)_auto] items-start gap-x-3 gap-y-1.5 border-t border-linie py-3 [grid-template-areas:'name_herkunft'_'zeit_zeit'_'text_text'_'knoepfe_knoepfe'] md:grid-rows-[auto_auto_1fr] md:gap-x-4 md:[grid-template-areas:'name_herkunft'_'zeit_knoepfe'_'text_knoepfe'] xl:grid-cols-[minmax(10.5rem,1.1fr)_7.5rem_minmax(0,1fr)_minmax(0,1.4fr)_11rem] xl:grid-rows-none xl:items-center xl:[grid-template-areas:'name_herkunft_zeit_text_knoepfe']`,M=`ziffern min-w-0 pt-1 text-sm break-words text-foreground [grid-area:name] xl:pt-0`,N=`justify-self-end [grid-area:herkunft] xl:justify-self-start`;function P(e){let t=(0,O.c)(11),{zeit:n,jetzt:r}=e,i;t[0]!==r||t[1]!==n?(i=h(n,r),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]===i?a=t[4]:(a=(0,A.jsx)(`span`,{className:`ziffern text-text-2`,children:i}),t[3]=i,t[4]=a);let o;t[5]!==r||t[6]!==n?(o=n!==null&&(0,A.jsx)(`span`,{className:`text-text-3`,children:p(n,r)}),t[5]=r,t[6]=n,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,A.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap items-baseline gap-x-2 text-sm [grid-area:zeit]`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function F(e){let t=(0,O.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,A.jsx)(`span`,{role:`cell`,className:`min-w-0 text-sm break-words text-text-2 [grid-area:text]`,children:n}),t[0]=n,t[1]=r),r}function I(e){let t=(0,O.c)(5),{children:n,ohne:r}=e,i;t[0]!==n||t[1]!==r?(i=r?(0,A.jsx)(`span`,{className:`text-xs text-text-3`,children:r}):n,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;return t[3]===i?a=t[4]:(a=(0,A.jsx)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 [grid-area:knoepfe] md:flex-col md:items-stretch md:justify-self-end xl:justify-self-stretch`,children:i}),t[3]=i,t[4]=a),a}function L(e){let t=(0,O.c)(35),{g:n,s:r,jetzt:i,gesperrt:a,onFrage:s}=e,{loeschen:l,zuruecksetzen:u}=r,d=l||u?null:r.eigen?`Nicht freigegeben`:`Nur in Proxmox`,f;t[0]===r.name?f=t[1]:(f=(0,A.jsx)(`span`,{role:`rowheader`,className:M,children:r.name}),t[0]=r.name,t[1]=f);let p=b[r.herkunft],m=b[r.herkunft],h;t[2]===m.chip?h=t[3]:(h=(0,A.jsx)(c,{children:m.chip}),t[2]=m.chip,t[3]=h);let g;t[4]!==p.text||t[5]!==h?(g=(0,A.jsx)(`span`,{role:`cell`,className:N,title:p.text,children:h}),t[4]=p.text,t[5]=h,t[6]=g):g=t[6];let _;t[7]!==i||t[8]!==r.zeit?(_=(0,A.jsx)(P,{zeit:r.zeit,jetzt:i}),t[7]=i,t[8]=r.zeit,t[9]=_):_=t[9];let v;t[10]!==r.beschreibung||t[11]!==r.herkunft?(v=r.beschreibung??(0,A.jsx)(`span`,{className:`text-text-3`,children:b[r.herkunft].text}),t[10]=r.beschreibung,t[11]=r.herkunft,t[12]=v):v=t[12];let y;t[13]===v?y=t[14]:(y=(0,A.jsx)(F,{children:v}),t[13]=v,t[14]=y);let x;t[15]!==n||t[16]!==a||t[17]!==s||t[18]!==u?(x=u&&(0,A.jsxs)(S,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>s({name:n.name,aktion:u,gefahr:!0}),children:[(0,A.jsx)(o,{"aria-hidden":!0}),` Zurücksetzen`]}),t[15]=n,t[16]=a,t[17]=s,t[18]=u,t[19]=x):x=t[19];let C;t[20]!==n||t[21]!==a||t[22]!==l||t[23]!==s?(C=l&&(0,A.jsxs)(S,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>s({name:n.name,aktion:l,gefahr:!0}),children:[(0,A.jsx)(D,{"aria-hidden":!0}),` Löschen`]}),t[20]=n,t[21]=a,t[22]=l,t[23]=s,t[24]=C):C=t[24];let w;t[25]!==d||t[26]!==C||t[27]!==x?(w=(0,A.jsxs)(I,{ohne:d,children:[x,C]}),t[25]=d,t[26]=C,t[27]=x,t[28]=w):w=t[28];let T;return t[29]!==f||t[30]!==w||t[31]!==g||t[32]!==_||t[33]!==y?(T=(0,A.jsxs)(`div`,{role:`row`,className:j,children:[f,g,_,y,w]}),t[29]=f,t[30]=w,t[31]=g,t[32]=_,t[33]=y,t[34]=T):T=t[34],T}function R(e){let t=(0,O.c)(23),{g:n,e:r,jetzt:i,gesperrt:a,onFrage:o}=e,s;t[0]===r.groesse?s=t[1]:(s=v(r.groesse),t[0]=r.groesse,t[1]=s);let l=s,u=r.loeschen,d;t[2]===r.datei?d=t[3]:(d=(0,A.jsx)(`span`,{role:`rowheader`,className:M,children:r.datei}),t[2]=r.datei,t[3]=d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,A.jsx)(`span`,{role:`cell`,className:N,children:(0,A.jsx)(c,{children:`Sicherung`})}),t[4]=f):f=t[4];let p;t[5]!==r.zeit||t[6]!==i?(p=(0,A.jsx)(P,{zeit:r.zeit,jetzt:i}),t[5]=r.zeit,t[6]=i,t[7]=p):p=t[7];let m=l?`${l} auf „${r.speicher}“`:`Auf „${r.speicher}“`,h;t[8]===m?h=t[9]:(h=(0,A.jsxs)(F,{children:[m,`, vor einem Update angelegt`]}),t[8]=m,t[9]=h);let g=u?null:`Nicht freigegeben`,_;t[10]!==n||t[11]!==a||t[12]!==u||t[13]!==o?(_=u&&(0,A.jsxs)(S,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:u,gefahr:!0}),children:[(0,A.jsx)(D,{"aria-hidden":!0}),` Löschen`]}),t[10]=n,t[11]=a,t[12]=u,t[13]=o,t[14]=_):_=t[14];let y;t[15]!==g||t[16]!==_?(y=(0,A.jsx)(I,{ohne:g,children:_}),t[15]=g,t[16]=_,t[17]=y):y=t[17];let b;return t[18]!==d||t[19]!==p||t[20]!==h||t[21]!==y?(b=(0,A.jsxs)(`div`,{role:`row`,className:j,children:[d,f,p,h,y]}),t[18]=d,t[19]=p,t[20]=h,t[21]=y,t[22]=b):b=t[22],b}function z(e){let t=(0,O.c)(34),{g:n,jetzt:r,gesperrt:o,onFrage:s}=e,c=n.snapshots.length===0&&n.sicherungen.length===0,l=n.anlegen,u;t[0]===n.name?u=t[1]:(u=(0,A.jsx)(`h3`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[0]=n.name,t[1]=u);let d;t[2]===n.wo?d=t[3]:(d=(0,A.jsx)(`span`,{className:`text-sm text-text-3`,children:n.wo}),t[2]=n.wo,t[3]=d);let f;t[4]!==u||t[5]!==d?(f=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[u,d]}),t[4]=u,t[5]=d,t[6]=f):f=t[6];let p;t[7]!==l||t[8]!==n.laeuft||t[9]!==n.name||t[10]!==o||t[11]!==s?(p=n.laeuft?(0,A.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan`,children:[`Läuft: `,n.laeuft,` …`]}):l&&(0,A.jsxs)(S,{variant:`outline`,size:`sm`,disabled:o,onClick:()=>s({name:n.name,aktion:l,gefahr:!1}),children:[(0,A.jsx)(T,{"aria-hidden":!0}),` Snapshot anlegen`]}),t[7]=l,t[8]=n.laeuft,t[9]=n.name,t[10]=o,t[11]=s,t[12]=p):p=t[12];let m;t[13]!==f||t[14]!==p?(m=(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15];let _;t[16]===n.grund?_=t[17]:(_=n.grund&&(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:n.grund}),t[16]=n.grund,t[17]=_);let v;t[18]!==n.name||t[19]!==n.zuletzt||t[20]!==r?(v=n.zuletzt&&(0,A.jsxs)(`p`,{className:i(`flex items-start gap-1.5 text-sm`,n.zuletzt.ok?`text-gruen-text`:`text-rot-text`),children:[n.zuletzt.ok?(0,A.jsx)(g,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}):(0,A.jsx)(a,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,children:[(0,A.jsx)(`span`,{className:`break-words`,children:y(n.zuletzt.text,n.name)}),(0,A.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:h(n.zuletzt.ende,r)})]})]}),t[18]=n.name,t[19]=n.zuletzt,t[20]=r,t[21]=v):v=t[21];let b;t[22]!==n||t[23]!==o||t[24]!==r||t[25]!==c||t[26]!==s?(b=c?(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Keine Snapshots.`}):(0,A.jsxs)(`div`,{role:`table`,"aria-label":`Snapshots von ${n.name}`,className:`flex flex-col`,children:[(0,A.jsxs)(`div`,{role:`row`,className:`sr-only`,children:[(0,A.jsx)(`span`,{role:`columnheader`,children:`Snapshot`}),(0,A.jsx)(`span`,{role:`columnheader`,children:`Herkunft`}),(0,A.jsx)(`span`,{role:`columnheader`,children:`Zeitpunkt`}),(0,A.jsx)(`span`,{role:`columnheader`,children:`Beschreibung`}),(0,A.jsx)(`span`,{role:`columnheader`,children:`Aktion`})]}),n.snapshots.map(e=>(0,A.jsx)(L,{g:n,s:e,jetzt:r,gesperrt:o,onFrage:s},e.name)),n.sicherungen.map(e=>(0,A.jsx)(R,{g:n,e,jetzt:r,gesperrt:o,onFrage:s},e.datei))]}),t[22]=n,t[23]=o,t[24]=r,t[25]=c,t[26]=s,t[27]=b):b=t[27];let x;return t[28]!==n.name||t[29]!==m||t[30]!==_||t[31]!==v||t[32]!==b?(x=(0,A.jsxs)(`section`,{"aria-label":n.name,className:`flex min-w-0 flex-col gap-2 border-t border-linie-stark pt-4 first:border-t-0 first:pt-0`,children:[m,_,v,b]}),t[28]=n.name,t[29]=m,t[30]=_,t[31]=v,t[32]=b,t[33]=x):x=t[33],x}function B(e){let t=(0,O.c)(24),{daten:n,gesperrt:r,onAktion:i}=e,[a,o]=(0,k.useState)(null),s;if(t[0]!==n.geraete||t[1]!==n.jetzt||t[2]!==r){let e;t[4]!==n.jetzt||t[5]!==r?(e=e=>(0,A.jsx)(z,{g:e,jetzt:n.jetzt,gesperrt:r||!!e.laeuft,onFrage:o},e.id),t[4]=n.jetzt,t[5]=r,t[6]=e):e=t[6],s=n.geraete.map(e),t[0]=n.geraete,t[1]=n.jetzt,t[2]=r,t[3]=s}else s=t[3];let c;t[7]===s?c=t[8]:(c=(0,A.jsx)(`div`,{className:`flex flex-col gap-5`,children:s}),t[7]=s,t[8]=c);let l=!!a,u=a?`${a.name}: ${a.aktion.label}`:``,d=a?.aktion.frage??``,f=a?.aktion.label??``,p=a?.gefahr,m;t[9]!==a||t[10]!==i?(m=()=>{a&&i(a.aktion),o(null)},t[9]=a,t[10]=i,t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>o(null),t[12]=h):h=t[12];let g;t[13]!==r||t[14]!==l||t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(g=(0,A.jsx)(C,{offen:l,titel:u,text:d,knopf:f,gefahr:p,gesperrt:r,onJa:m,onNein:h}),t[13]=r,t[14]=l,t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=g):g=t[20];let _;return t[21]!==g||t[22]!==c?(_=(0,A.jsxs)(A.Fragment,{children:[c,g]}),t[21]=g,t[22]=c,t[23]=_):_=t[23],_}function V(){let e=(0,O.c)(23),t=u(),n=_(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=m(r),a=x();if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(s,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(s,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}if(i.isPending){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(s,{text:`Die Snapshots werden gelesen …`}),e[2]=t):t=e[2],t}if(!i.data){let t=`Die Snapshots lassen sich nicht lesen: ${i.error?.message??`keine Daten`}`,n;return e[3]===t?n=e[4]:(n=(0,A.jsx)(s,{fehler:!0,text:t}),e[3]=t,e[4]=n),n}let o=i.data,f=o.sperre,p;e[5]!==o.bericht||e[6]!==o.summe?(p=o.bericht?(0,A.jsx)(c,{children:l(o.summe)}):void 0,e[5]=o.bericht,e[6]=o.summe,e[7]=p):p=e[7];let g;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,A.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Ein Snapshot hält den Stand eines Geräts fest. Vor jedem Update legt der Orchestrator einen an (beim Proxmox Backup Server eine Sicherung) und räumt nach einem grünen Update die älteren weg. Hier legst du selbst welche an — die bleiben, bis du sie löschst —, setzt ein Gerät zurück oder löschst, was weg kann. Von Hand in Proxmox angelegte stehen nur zur Ansicht da.`}),e[8]=g):g=e[8];let v;e[9]===f?v=e[10]:(v=f&&(0,A.jsx)(`p`,{role:`alert`,className:`rounded-xl border border-bernstein/60 bg-bernstein-grund px-4 py-3 text-[15px] text-bernstein`,children:f}),e[9]=f,e[10]=v);let y;e[11]!==o.bericht||e[12]!==o.jetzt?(y=o.bericht?.veraltet&&(0,A.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,h(o.bericht.empfangen,o.jetzt),`; die Liste kann veraltet sein.`]}),e[11]=o.bericht,e[12]=o.jetzt,e[13]=y):y=e[13];let b;e[14]!==a||e[15]!==o||e[16]!==f?(b=o.bericht?(0,A.jsxs)(A.Fragment,{children:[!o.details&&(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Beschreibungen und die Größe der Sicherungen erscheinen, sobald der neue Ausführer auf dem Proxmox-Host läuft; bis dahin kommt der Zeitpunkt aus dem Namen des Snapshots.`}),(0,A.jsx)(B,{daten:o,gesperrt:a.isPending||!!f,onAktion:e=>a.mutate(e)}),(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wie viel ein Snapshot im Speicherpool belegt, sagt Proxmox nicht: Er teilt sich die Daten mit dem Gerät und wächst mit jeder Änderung seit seinem Zeitpunkt. Wie voll der Pool ist, steht im Cockpit unter „Speicher und Sicherungen“.`})]}):(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),e[14]=a,e[15]=o,e[16]=f,e[17]=b):b=e[17];let S;return e[18]!==p||e[19]!==v||e[20]!==y||e[21]!==b?(S=(0,A.jsxs)(d,{titel:`Snapshots`,rechts:p,children:[g,v,y,b]}),e[18]=p,e[19]=v,e[20]=y,e[21]=b,e[22]=S):S=e[22],S}export{V as HomelabSnapshotsSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/MenueSchublade-Brg4bBjO.js b/frontend/dist/assets/MenueSchublade-0T5uliTD.js similarity index 65% rename from frontend/dist/assets/MenueSchublade-Brg4bBjO.js rename to frontend/dist/assets/MenueSchublade-0T5uliTD.js index b5bf44e..89876cd 100644 --- a/frontend/dist/assets/MenueSchublade-Brg4bBjO.js +++ b/frontend/dist/assets/MenueSchublade-0T5uliTD.js @@ -1 +1 @@ -import{n as e,r as t}from"./dist-D4CVSex9.js";import{v as n,y as r}from"./index-BwBSJspl.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-qFYCDrLr.js";var l=e(),u=t();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(n,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-6 border-linie bg-[#0c0f12] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(r,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade}; \ No newline at end of file +import{n as e,r as t}from"./dist-D4CVSex9.js";import{E as n,T as r}from"./index-CIOHqG23.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-DU78qfp_.js";var l=e(),u=t();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(r,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-6 border-linie bg-[#0c0f12] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(n,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade}; \ No newline at end of file diff --git a/frontend/dist/assets/Modelle-BECWM9pK.js b/frontend/dist/assets/Modelle-BECWM9pK.js deleted file mode 100644 index 8033efb..0000000 --- a/frontend/dist/assets/Modelle-BECWM9pK.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{n as a,t as o}from"./useSelector-uUwrspuX.js";import{n as s}from"./useMatch-CiyhmkMV.js";import{t as c}from"./chevron-right-cy4l-52D.js";import{t as l}from"./search-BlW0aIMN.js";import{Bt as u,Dt as d,Et as f,Ft as p,Gt as m,Ht as h,I as g,L as _,M as v,Mt as y,N as b,Tt as x,Vt as S,Wt as C,X as w,_t as T,a as E,ct as D,dt as O,g as k,h as A,i as j,it as M,jt as N,nn as P,nt as F,o as I,p as L,rn as R,rt as z,st as B,tt as V,ut as H}from"./index-BwBSJspl.js";import{t as U}from"./button-D8rvET0Z.js";import{a as W,i as G,n as K,r as ee,t as te}from"./sheet-qFYCDrLr.js";import{t as ne}from"./Bestaetigen-DO-opKIi.js";import{a as re,r as ie,s as ae,t as q}from"./Auftraege-cd2jcDwQ.js";import{t as J}from"./breite-pBrnu3_s.js";function oe(e){let t=a();return o(t.stores.location,s(e,t))}var Y=t(),X=r(e(),1),Z=n(),Q=new Intl.NumberFormat(`de-DE`),se=240,ce=24,le={ArrowLeft:e=>Math.max(0,e-1),ArrowRight:(e,t)=>Math.min(t-1,e+1),Home:()=>0,End:(e,t)=>t-1};function ue(e){let t=(0,Y.c)(20),{saeule:n,reihen:r,summe:a,className:o,links:s}=e,c;t[0]===o?c=t[1]:(c=i(`flex flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2`,o),t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s===void 0?void 0:{left:s},t[2]=s,t[3]=l);let u;t[4]===n.lang?u=t[5]:(u=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:n.lang}),t[4]=n.lang,t[5]=u);let d;if(t[6]!==r||t[7]!==n.werte){let e;t[9]===n.werte?e=t[10]:(e=e=>(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 text-sm`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 shrink-0 self-center rounded-full`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(n.werte[e.name]??0)}),(0,Z.jsx)(`span`,{className:`min-w-0 text-text-3`,children:e.name})]},e.name),t[9]=n.werte,t[10]=e),d=r.map(e),t[6]=r,t[7]=n.werte,t[8]=d}else d=t[8];let f;t[11]!==r.length||t[12]!==a?(f=r.length>1&&(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 border-t border-linie pt-1 text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(a)}),(0,Z.jsx)(`span`,{className:`text-text-3`,children:`zusammen`})]}),t[11]=r.length,t[12]=a,t[13]=f):f=t[13];let p;return t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d||t[18]!==f?(p=(0,Z.jsxs)(`div`,{role:`status`,className:c,style:l,children:[u,d,f]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function de(e){let t=(0,Y.c)(92),{saeulen:n,reihen:r,titel:a,summen:o,hoehe:s,spalte:c}=e,l=o===void 0?`alle`:o,u=s===void 0?200:s,d=c===void 0?`Zeitraum`:c,[f,p]=J(),[m,h]=(0,X.useState)(null),g=n.length,_,v,y,b,x,S,C,w,T,D;if(t[0]!==p||t[1]!==u||t[2]!==m||t[3]!==g||t[4]!==f||t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==l||t[9]!==a){let e;t[20]===n?e=t[21]:(e=e=>n.some(t=>(t.werte[e.name]??0)>0),t[20]=n,t[21]=e);let o=r.filter(e),s=n.map(e=>o.reduce((t,n)=>t+(e.werte[n.name]??0),0)),c=Math.max(0,...s),O=I(c),k=O[O.length-1],A;t[22]===k?A=t[23]:(A=Q.format(k),t[22]=k,t[23]=A);let M=Math.max(28,A.length*7+12),N=n.some(ge)?34:22,P;t[24]!==M||t[25]!==N?(P={links:M,rechts:4,oben:20,unten:N},t[24]=M,t[25]=N,t[26]=P):P=t[26];let F=P,L=Math.max(1,p-F.links-F.rechts),R=u-F.oben-F.unten,z=L/Math.max(1,g),B=Math.min(ce,Math.max(3,z*.72)),V;t[27]!==R||t[28]!==k||t[29]!==F.oben?(V=e=>F.oben+R-e/k*R,t[27]=R,t[28]=k,t[29]=F.oben,t[30]=V):V=t[30];let H=V,U=F.oben+R,W;t[31]!==z||t[32]!==F.links?(W=e=>F.links+(e+.5)*z,t[31]=z,t[32]=F.links,t[33]=W):W=t[33];let G=W,K;t[34]===n?K=t[35]:(K=Math.max(1,...n.map(he)),t[34]=n,t[35]=K);let ee=K*6.6+8,te;t[36]!==z||t[37]!==ee?(te=[1,3,6,12].find(e=>e*z>=ee)??24,t[36]=z,t[37]=ee,t[38]=te):te=t[38];let ne=te,re=s.indexOf(c),ie=z<34,ae;t[39]===g?ae=t[40]:(ae=function(e){if(g===0)return;let t=e.currentTarget.getBoundingClientRect();h(Math.min(g-1,Math.max(0,Math.floor((e.clientX-t.left)/t.width*g))))},t[39]=g,t[40]=ae);let q=ae,J;t[41]===g?J=t[42]:(J=function(e){let t=le[e.key];g!==0&&t&&(e.preventDefault(),h(e=>t(e??g-1,g)))},t[41]=g,t[42]=J);let oe=J,Y=m===null?void 0:n[m],X=p>=360,de=m===null?0:Math.max(0,Math.min(p-se,G(m)+12+se>p?G(m)-12-se:G(m)+12));_=`flex flex-col gap-2`,v=o.length>1&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:o.map(me)});let _e;t[43]===g?_e=t[44]:(_e=()=>h(e=>e??(g?g-1:null)),t[43]=g,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>h(null),t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==z||t[48]!==m||t[49]!==R||t[50]!==F.links||t[51]!==F.oben?(ye=Y&&m!==null&&(0,Z.jsx)(`rect`,{x:F.links+m*z,y:F.oben-4,width:z,height:R+4,rx:4,fill:`var(--erhaben)`}),t[46]=Y,t[47]=z,t[48]=m,t[49]=R,t[50]=F.links,t[51]=F.oben,t[52]=ye):ye=t[52];let be;t[53]!==p||t[54]!==F.links||t[55]!==F.rechts||t[56]!==H?(be=e=>(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`line`,{x1:F.links,x2:p-F.rechts,y1:H(e),y2:H(e),strokeWidth:1,stroke:e===0?`var(--linie-stark)`:`var(--linie)`}),(0,Z.jsx)(`text`,{x:F.links-8,y:H(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:Q.format(e)})]},e),t[53]=p,t[54]=F.links,t[55]=F.rechts,t[56]=H,t[57]=be):be=t[57];let xe;t[58]!==L||t[59]!==R||t[60]!==c||t[61]!==F.links||t[62]!==F.oben?(xe=c===0&&(0,Z.jsx)(`text`,{x:F.links+L/2,y:F.oben+R/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Keine Anfragen in diesem Zeitraum`}),t[58]=L,t[59]=R,t[60]=c,t[61]=F.links,t[62]=F.oben,t[63]=xe):xe=t[63];let Se;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{e.pointerType!==`touch`&&h(null)},t[64]=Se):Se=t[64];let Ce;t[65]!==u||t[66]!==L||t[67]!==F.links||t[68]!==q?(Ce=(0,Z.jsx)(`rect`,{x:F.links,y:0,width:L,height:u,fill:`transparent`,onPointerMove:q,onPointerDown:q,onPointerLeave:Se}),t[65]=u,t[66]=L,t[67]=F.links,t[68]=q,t[69]=Ce):Ce=t[69],y=(0,Z.jsxs)(`div`,{ref:f,className:`relative w-full`,children:[(0,Z.jsxs)(`svg`,{width:p,height:u,viewBox:`0 0 ${p} ${u}`,role:`img`,"aria-label":a,tabIndex:0,onKeyDown:oe,onFocus:_e,onBlur:ve,className:`block h-auto max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[ye,O.map(be),n.map((e,t)=>{let n=G(t)-B/2;return(0,Z.jsxs)(`g`,{children:[E(o.map(t=>e.werte[t.name]??0),H).filter(pe).map(e=>e.oben?(0,Z.jsx)(`path`,{d:j(n,e.y,B,e.hoehe),fill:o[e.index].farbe},e.index):(0,Z.jsx)(`rect`,{x:n,y:e.y,width:B,height:e.hoehe,fill:o[e.index].farbe},e.index)),s[t]>0&&(l===`alle`||t===re)&&(0,Z.jsx)(`text`,{x:G(t),y:H(s[t])-6,textAnchor:`middle`,className:i(`fill-text-2 font-mono`,ie?`text-[10px]`:`text-[11px]`),children:Q.format(s[t])}),(e.raster??t)%ne===0&&(0,Z.jsxs)(`text`,{x:G(t),y:U+15,textAnchor:`middle`,className:`fill-text-3 font-mono text-[11px]`,children:[e.achse,e.achse2&&(0,Z.jsx)(`tspan`,{x:G(t),dy:13,className:`text-[10px]`,children:e.achse2})]})]},e.schluessel)}),xe,Ce]}),Y&&m!==null&&X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m],links:de,className:`pointer-events-none absolute top-1 z-10 w-60 shadow-lg`})]}),b=Y&&m!==null&&!X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m]}),T=`text-sm`,t[70]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[70]=D):D=t[70],w=`mt-2 overflow-x-auto`,S=`w-full border-collapse text-xs`;let we;t[71]===d?we=t[72]:(we=(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-left font-normal`,children:d}),t[71]=d,t[72]=we),C=(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`text-text-3`,children:[we,o.map(fe),o.length>1&&(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 text-right font-normal`,children:`Zusammen`})]})}),x=n.map((e,t)=>(0,Z.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,Z.jsx)(`th`,{scope:`row`,className:`py-1 pr-3 text-left font-normal text-text-3`,children:e.lang}),o.map(t=>(0,Z.jsx)(`td`,{className:`ziffern py-1 pr-3 text-right text-text-2`,children:Q.format(e.werte[t.name]??0)},t.name)),o.length>1&&(0,Z.jsx)(`td`,{className:`ziffern py-1 text-right text-foreground`,children:Q.format(s[t])})]},e.schluessel)),t[0]=p,t[1]=u,t[2]=m,t[3]=g,t[4]=f,t[5]=r,t[6]=n,t[7]=d,t[8]=l,t[9]=a,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=D}else _=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],D=t[19];let O;t[73]===x?O=t[74]:(O=(0,Z.jsx)(`tbody`,{children:x}),t[73]=x,t[74]=O);let k;t[75]!==O||t[76]!==S||t[77]!==C?(k=(0,Z.jsxs)(`table`,{className:S,children:[C,O]}),t[75]=O,t[76]=S,t[77]=C,t[78]=k):k=t[78];let A;t[79]!==k||t[80]!==w?(A=(0,Z.jsx)(`div`,{className:w,children:k}),t[79]=k,t[80]=w,t[81]=A):A=t[81];let M;t[82]!==A||t[83]!==T||t[84]!==D?(M=(0,Z.jsxs)(`details`,{className:T,children:[D,A]}),t[82]=A,t[83]=T,t[84]=D,t[85]=M):M=t[85];let N;return t[86]!==_||t[87]!==v||t[88]!==y||t[89]!==b||t[90]!==M?(N=(0,Z.jsxs)(`div`,{className:_,children:[v,y,b,M]}),t[86]=_,t[87]=v,t[88]=y,t[89]=b,t[90]=M,t[91]=N):N=t[91],N}function fe(e){return(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-right font-normal [overflow-wrap:anywhere]`,children:e.name},e.name)}function pe(e){return e.hoehe>0}function me(e){return(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),e.name]},e.name)}function he(e){return e.achse.length}function ge(e){return e.achse2}var _e=`Europe/Berlin`,ve=[`var(--reihe-1)`,`var(--reihe-2)`,`var(--reihe-3)`],ye={name:`Weitere`,farbe:`var(--reihe-weitere)`},be=new Intl.NumberFormat(`de-DE`),xe=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Se=new Intl.DateTimeFormat(`en-CA`,{timeZone:_e}),Ce=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:_e}),we=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,hourCycle:`h23`,timeZone:_e}),Te=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`UTC`}),Ee=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,timeZone:`UTC`}),$=e=>be.format(e);function De(e){if(!(e>0))return`0 %`;let t=e*100;return t<.1?`unter 0,1 %`:`${t<10?xe.format(t):be.format(Math.round(t))} %`}function Oe(e,t=!1){if(e==null||!Number.isFinite(e)||e<0)return`–`;if(Math.round(e*1e3)<1e3)return`${Math.round(e*1e3)} ms`;if(e<9.95)return`${xe.format(e)} s`;let n=Math.round(e);if(n<60)return`${n} s`;if(n<3600&&!t)return n%60?`${Math.floor(n/60)} min ${n%60} s`:`${n/60} min`;let r=Math.round(e/60);return r<60?`${r} min`:r%60?`${Math.floor(r/60)} h ${r%60} min`:`${r/60} h`}var ke={400:`fehlerhafte Anfrage`,404:`nicht gefunden`,408:`Zeitüberschreitung`,413:`Anfrage zu groß`,429:`zu viele Anfragen`,499:`vom Absender abgebrochen`,500:`Fehler beim Modell`,502:`Modell nicht erreichbar`,503:`gerade nicht verfügbar`,504:`Zeitüberschreitung`};function Ae(e){return Object.entries(e??{}).sort(([e,t],[n,r])=>r-t||e.localeCompare(n)).map(([e,t])=>ke[e]?`${$(t)}× ${ke[e]} (${e})`:`${$(t)}× Status ${e}`).join(` · `)}function je(e){return e===null||e<.01?{art:`grau`,wort:null}:e>=.05?{art:`rot`,wort:`hoch`}:{art:`bernstein`,wort:`auffällig`}}var Me=e=>String(e).padStart(2,`0`),Ne=e=>Object.values(e??{}).reduce((e,t)=>e+t,0),Pe=e=>Te.format(e).replace(`.`,``);function Fe(e){return Number(we.formatToParts(e).find(e=>e.type===`hour`)?.value??0)%24}function Ie(e){let[,t,n]=e.split(`-`);return`${Ee.format(new Date(`${e}T12:00:00Z`))}, ${n}.${t}.`}function Le(e,t=new Date){let n=e.stand?new Date(e.stand):t,r=Se.format(n),i=new Date(Date.parse(`${r}T12:00:00Z`)-864e5).toISOString().slice(0,10),a=e.gesamt?.anfragen??e.absender.reduce((e,t)=>e+t.anfragen,0),o=e.gesamt?.dauer_summe_s??null,s=new Map(e.absender.map((e,t)=>[e.name,e.reihe??t])),c=e.absender.map(e=>{let t=s.get(e.name)??ve.length,n=t[e.name,e.reihe])),u=[];for(let e of[...c].sort((e,t)=>(s.get(e.name)??99)-(s.get(t.name)??99)))u.some(t=>t.name===e.reihe)||u.push({name:e.reihe,farbe:e.farbe});let d=e=>{let t={};for(let[n,r]of Object.entries(e??{})){let e=l.get(n)??ye.name;t[e]=(t[e]??0)+r,e===ye.name&&!u.some(t=>t.name===e)&&u.push({...ye})}return t},f=Object.keys(e.je_tag??{}).sort(),p=f.map(t=>{let i=t===r;return{schluessel:t,achse:Pe(new Date(`${t}T12:00:00Z`)),achse2:i?`heute`:`${Number(t.slice(8))}.`,lang:`${Ie(t)}${i?` (heute bis ${Ce.format(n)})`:``}`,werte:d(e.je_tag[t])}}),m;if(e.stunden?.length)m=e.stunden.map((e,t,n)=>{let a=new Date(e.beginn),o=Fe(a),s=Se.format(a),c=s===r?`Heute`:s===i?`Gestern`:Ie(s),l=t===n.length-1?` bis jetzt`:`–${Me((o+1)%24)}:00`;return{schluessel:e.beginn,achse:`${Me(o)}:00`,raster:o,lang:`${c} ${Me(o)}:00${l}`,werte:d(e.je_absender)}});else{let t=Fe(n),r=e.letzte_24h??[];m=[...r.slice(t+1),...r.slice(0,t+1)].map(e=>{let t=Number(e.stunde);return{schluessel:e.stunde,achse:`${Me(t)}:00`,raster:t,lang:`${Me(t)}:00–${Me((t+1)%24)}:00`,werte:d(e.je_absender)}})}let h=f.filter(e=>e!==r),g=e.seit?Se.format(new Date(e.seit)):null,_=e.ladevorgaenge??Object.entries(e.zuletzt_geladen??{}).sort(([,e],[,t])=>Date.parse(t)-Date.parse(e)).map(([e,t])=>({modell:e,anzahl:null,zeiten:[t]}));return{absender:c,reihen:u,tage:p,stunden:m,gesamt:{anfragen:a,fehler:e.gesamt?.fehler??null,fehlerCodes:e.gesamt?.fehler_codes??{},typisch:e.gesamt?.dauer_typisch_s??null,p90:e.gesamt?.dauer_p90_s??null,summe:o},heute:Ne(e.je_tag?.[r]),gestern:Ne(e.je_tag?.[i]),schnitt:h.length?h.reduce((t,n)=>t+Ne(e.je_tag[n]),0)/h.length:null,zeitraum:g?`seit ${Pe(new Date(`${g}T12:00:00Z`))} ${g.slice(8)}.${g.slice(5,7)}.`:`letzte ${e.tage} Tage`,stand:e.stand?Ce.format(n):null,modelle:_}}var Re={grau:`text-foreground`,bernstein:`text-bernstein`,rot:`text-rot-text`};function ze(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,art:o}=e,s=o===void 0?`grau`:o,c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=c);let l=Re[s],u;t[2]===l?u=t[3]:(u=i(`font-anzeige text-[28px] leading-none font-bold`,l),t[2]=l,t[3]=u);let d;t[4]!==u||t[5]!==r?(d=(0,Z.jsx)(`span`,{className:u,children:r}),t[4]=u,t[5]=r,t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=f);let p;return t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 py-3`,children:[c,d,f]}),t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var Be=`lg:grid-cols-[minmax(0,1.5fr)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,0.8fr)]`;function Ve(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,leise:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 lg:hidden`,children:n}),t[0]=n,t[1]=s);let c=o?`text-text-3`:`text-foreground`,l;t[2]===c?l=t[3]:(l=i(`ziffern text-sm`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,Z.jsx)(`span`,{className:l,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=d);let f;return t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,Z.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[s,u,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function He(e){let t=(0,Y.c)(5),{zeilen:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs text-text-3 lg:grid`,Be),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Absender`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Anfragen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Typische Antwort`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rechenzeit`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Fehler`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`})]}),t[0]=r):r=t[0];let a;t[1]===n?a=t[2]:(a=n.map(Ue),t[1]=n,t[2]=a);let o;return t[3]===a?o=t[4]:(o=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Nutzung je Absender`,className:`flex flex-col`,children:[r,a]}),t[3]=a,t[4]=o),o}function Ue(e){return(0,Z.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2.5 border-t border-linie py-3 lg:items-start`,Be),children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-2 text-[15px] font-medium lg:col-span-1`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:e.name})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex min-w-0 flex-col gap-1.5 lg:col-span-1`,children:[(0,Z.jsxs)(`span`,{className:`text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:$(e.anfragen)}),(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · `,De(e.anteil),` aller Anfragen`]})]}),(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-56 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.max(1,e.anteil*100)}%`,background:e.farbe}})})]}),(0,Z.jsx)(Ve,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(Ve,{label:`Rechenzeit`,wert:Oe(e.summe,!0),zusatz:e.zeitAnteil===null?void 0:`${De(e.zeitAnteil)} aller Rechenzeit`}),(0,Z.jsx)(Ve,{label:`Fehler`,leise:e.fehler===0,wert:e.fehler===null?`–`:e.fehler===0?`keine`:`${$(e.fehler)} · ${De(e.fehler/e.anfragen)}`,zusatz:e.fehler?Ae(e.fehlerCodes):void 0}),(0,Z.jsx)(Ve,{label:`Zuletzt`,wert:e.zuletzt?x(e.zuletzt):`–`})]},e.name)}function We(e){let t=(0,Y.c)(11),{titel:n,zusatz:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,Z.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r}),t[2]=r,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==i||t[8]!==s||t[9]!==n?(c=(0,Z.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie p-4`,children:[s,i]}),t[7]=i,t[8]=s,t[9]=n,t[10]=c):c=t[10],c}function Ge(e){let t=(0,Y.c)(29),{modelle:n,rollen:r}=e;if(n.length===0)return null;let i,a,o,s,l,u;if(t[0]!==n){let e=n.every(Je)?n.reduce(qe,0):null;u=`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,s=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(c,{className:`size-4 shrink-0 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Wann welches Modell geladen wurde`]}),t[7]=l):l=t[7],i=`ziffern text-sm text-text-2`,a=n.length===1?`1 Modell`:`${n.length} Modelle`,o=e===null?``:` · ${$(e)}× geladen`,t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u}else i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];let d;t[8]!==i||t[9]!==a||t[10]!==o?(d=(0,Z.jsxs)(`span`,{className:i,children:[a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==l||t[14]!==d?(f=(0,Z.jsxs)(`summary`,{className:s,children:[l,d]}),t[12]=s,t[13]=l,t[14]=d,t[15]=f):f=t[15];let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(`p`,{className:`pb-1 text-sm text-text-2`,children:`Gezählt wird, wie oft sich ein Modell nach dem Laden bereit meldete: nach einem Neustart von llama-swap oder wenn es auf Abruf gebraucht wurde.`}),t[16]=p):p=t[16];let m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsxs)(`div`,{role:`row`,className:`schild hidden gap-x-4 py-2 text-xs text-text-3 sm:grid sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)]`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Modell`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Geladen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Davor`})]}),t[17]=m):m=t[17];let h;if(t[18]!==n||t[19]!==r){let e;t[21]===r?e=t[22]:(e=e=>(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)] sm:items-baseline`,children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.modell}),r[e.modell]&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r[e.modell]})]}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-sm text-text-2 sm:text-left`,children:e.anzahl===null?`–`:`${$(e.anzahl)}×`}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-2 sm:col-span-1`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-text-3 sm:hidden`,children:`zuletzt `}),x(e.zeiten[0])]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-3 sm:col-span-1`,children:[e.zeiten.length>1&&(0,Z.jsx)(`span`,{className:`font-sans sm:hidden`,children:`davor `}),e.zeiten.length>1?e.zeiten.slice(1,4).map(Ke).join(` · `):(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`–`})]})]},e.modell),t[21]=r,t[22]=e),h=n.map(e),t[18]=n,t[19]=r,t[20]=h}else h=t[20];let g;t[23]===h?g=t[24]:(g=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Ladevorgänge je Modell`,className:`flex flex-col`,children:[m,h]}),t[23]=h,t[24]=g);let _;return t[25]!==g||t[26]!==u||t[27]!==f?(_=(0,Z.jsxs)(`details`,{className:u,children:[f,p,g]}),t[25]=g,t[26]=u,t[27]=f,t[28]=_):_=t[28],_}function Ke(e){return x(e)}function qe(e,t){return e+(t.anzahl??0)}function Je(e){return e.anzahl!==null}function Ye(e){let t=(0,Y.c)(23),{nutzung:n,laedt:r,fehler:i,rollen:a}=e,o;t[0]===a?o=t[1]:(o=a===void 0?{}:a,t[0]=a,t[1]=o);let s=o;if(!n){let e;return t[2]!==i||t[3]!==r?(e=(0,Z.jsx)(L,{titel:`Wer nutzt die Modelle`,children:r?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[2]=i,t[3]=r,t[4]=e):e=t[4],e}let c,l,u,d,f;if(t[5]!==n){l=Le(n);let e=l.gesamt,r=e.fehler!==null&&e.anfragen?e.fehler/e.anfragen:null,i;t[11]===r?i=t[12]:(i=je(r),t[11]=r,t[12]=i);let a=i;c=L,u=`Wer nutzt die Modelle`,d=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[l.zeitraum,l.stand?` · Stand ${l.stand}`:``]}),f=e.anfragen===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,Z.jsx)(ze,{label:`Anfragen`,wert:$(e.anfragen),zusatz:l.schnitt===null?void 0:`im Schnitt ${$(Math.round(l.schnitt))} am Tag`}),(0,Z.jsx)(ze,{label:`Heute`,wert:$(l.heute),zusatz:`${l.stand?`bis ${l.stand} · `:``}gestern ${$(l.gestern)}`}),(0,Z.jsx)(ze,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(ze,{label:`Fehler`,wert:e.fehler===null?`–`:$(e.fehler),art:a.art,zusatz:e.fehler===null?void 0:e.fehler===0?`alle beantwortet`:`${De(r??0)} der Anfragen${a.wort?` · ${a.wort}`:``}`})]}),(0,Z.jsx)(He,{zeilen:l.absender}),(0,Z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Z.jsx)(We,{titel:`Anfragen je Tag`,zusatz:`letzte 7 Tage, heute bis jetzt`,children:(0,Z.jsx)(de,{saeulen:l.tage,reihen:l.reihen,spalte:`Tag`,titel:`Anfragen je Tag der letzten 7 Tage, gestapelt nach Absender`})}),(0,Z.jsx)(We,{titel:`Anfragen je Stunde`,zusatz:`letzte 24 Stunden`,children:(0,Z.jsx)(de,{saeulen:l.stunden,reihen:l.reihen,spalte:`Stunde`,summen:`hoechste`,titel:`Anfragen je Stunde der letzten 24 Stunden, gestapelt nach Absender`})})]})]}),t[5]=n,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[13]!==l.modelle||t[14]!==s?(p=(0,Z.jsx)(Ge,{modelle:l.modelle,rollen:s}),t[13]=l.modelle,t[14]=s,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat-Anfragen an llama-swap, gelesen aus seinem Protokoll und alle 10 Minuten neu gerechnet. NerdQuiz fragt direkt dort an, Lucy und OpenChamber über MC2. Antwortzeit: bis die Antwort ganz da war. Rechenzeit: alle Antwortzeiten zusammen, gleichzeitige Anfragen zählen einzeln.`}),t[16]=m):m=t[16];let h;return t[17]!==c||t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p?(h=(0,Z.jsxs)(c,{titel:u,rechts:d,children:[f,p,m]}),t[17]=c,t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=h):h=t[22],h}var Xe={coder:`Coder`};function Ze(e){let t=(0,Y.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=w(),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,f]=(0,X.useState)(null),[p,h]=(0,X.useState)(``),[g,_]=(0,X.useState)(null),v=(0,X.useRef)(!1),y,b;t[0]===c?(y=t[1],b=t[2]):(y=[`hf-suche`,c],b=()=>m(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=y,t[2]=b);let x=c.length>1,S;t[3]!==y||t[4]!==b||t[5]!==x?(S={queryKey:y,queryFn:b,enabled:x},t[3]=y,t[4]=b,t[5]=x,t[6]=S):S=t[6];let C=P(S),T,E;t[7]===u?(T=t[8],E=t[9]):(T=[`hf-quants`,u],E=()=>m(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=T,t[9]=E);let D=!!u,O;t[10]!==T||t[11]!==E||t[12]!==D?(O={queryKey:T,queryFn:E,enabled:D},t[10]=T,t[11]=E,t[12]=D,t[13]=O):O=t[13];let k=P(O),A,j,M,F,I,L,R,z,B,V,H,re,q;if(t[14]!==g||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==k.data||t[20]!==k.error||t[21]!==k.isError||t[22]!==k.isFetching||t[23]!==u||t[24]!==p||t[25]!==i||t[26]!==C){let e=(k.data?.quants??[]).map($e),c=p?Xe[p]??p:null,m;t[40]!==u||t[41]!==p||t[42]!==i||t[43]!==c?(m=c&&u?ae(u,c,i[p]):null,t[40]=u,t[41]=p,t[42]=i,t[43]=c,t[44]=m):m=t[44],M=m;let y;t[45]!==g||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==p?(y=function(){u&&g&&!v.current&&(v.current=!0,a.mutate({repo:u,quant:g.quant,rolle:p||null},{onSuccess:e=>{_(null),e.ok!==!1&&r()},onError:()=>_(null),onSettled:()=>{v.current=!1}}))},t[45]=g,t[46]=a,t[47]=r,t[48]=u,t[49]=p,t[50]=y):y=t[50],F=y,j=te,H=n,t[51]===r?re=t[52]:(re=e=>!e&&r(),t[51]=r,t[52]=re),A=K,R=`right`,z=`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,Z.jsxs)(G,{children:[(0,Z.jsx)(W,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,Z.jsx)(ee,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=B):B=t[53];let b;t[54]===o?b=t[55]:(b=e=>{e.preventDefault(),f(null),l(o.trim())},t[54]=o,t[55]=b);let x;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=x):x=t[56];let S;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>s(e.target.value),t[57]=S):S=t[57];let w;t[58]===o?w=t[59]:(w=(0,Z.jsx)(`input`,{id:`hf-suche`,value:o,onChange:S,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),t[58]=o,t[59]=w);let T;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Z.jsx)(U,{type:`submit`,children:`Suchen`}),t[60]=T):T=t[60],t[61]!==b||t[62]!==w?(V=(0,Z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:b,children:[x,w,T]}),t[61]=b,t[62]=w,t[63]=V):V=t[63],q=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==C?(I=!u&&(0,Z.jsxs)(Z.Fragment,{children:[C.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!C.isFetching&&C.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,C.error.message]}),!C.isFetching&&C.data?.results.length===0&&(0,Z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),C.data?.results.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-linie py-2 text-left hover:text-cyan`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,Z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[N(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=C,t[66]=I):I=t[66],L=u&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>f(null),children:`Zurück`})]}),(0,Z.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,Z.jsxs)(`select`,{value:p,onChange:e=>h(e.target.value),className:`h-11 min-w-0 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,Z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(Xe).map(Qe)]})]}),M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:M}),k.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!k.isFetching&&k.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,k.error.message]}),!k.isFetching&&k.data&&e.length===0&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:d(n,1)}):null,(0,Z.jsx)(U,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>_({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=g,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=k.data,t[20]=k.error,t[21]=k.isError,t[22]=k.isFetching,t[23]=u,t[24]=p,t[25]=i,t[26]=C,t[27]=A,t[28]=j,t[29]=M,t[30]=F,t[31]=I,t[32]=L,t[33]=R,t[34]=z,t[35]=B,t[36]=V,t[37]=H,t[38]=re,t[39]=q}else A=t[27],j=t[28],M=t[29],F=t[30],I=t[31],L=t[32],R=t[33],z=t[34],B=t[35],V=t[36],H=t[37],re=t[38],q=t[39];let J;t[67]!==I||t[68]!==L||t[69]!==q?(J=(0,Z.jsxs)(`div`,{className:q,children:[I,L]}),t[67]=I,t[68]=L,t[69]=q,t[70]=J):J=t[70];let oe=g!==null,Q;t[71]!==g||t[72]!==u?(Q=g&&u?`${u} (${g.quant}${g.bytes?`, ${d(g.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(g.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=g,t[72]=u,t[73]=Q):Q=t[73];let se=a.isPending?`Wird gestartet …`:`Installieren`,ce=a.isPending,le;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>_(null),t[74]=le):le=t[74];let ue;t[75]===M?ue=t[76]:(ue=M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:M}),t[75]=M,t[76]=ue);let de=!!p,fe;t[77]===de?fe=t[78]:(fe=ie(de),t[77]=de,t[78]=fe);let pe;t[79]===fe?pe=t[80]:(pe=(0,Z.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:fe}),t[79]=fe,t[80]=pe);let me;t[81]!==a.isPending||t[82]!==F||t[83]!==oe||t[84]!==Q||t[85]!==se||t[86]!==ue||t[87]!==pe?(me=(0,Z.jsxs)(ne,{offen:oe,titel:`Modell installieren?`,text:Q,knopf:se,gesperrt:ce,onNein:le,onJa:F,children:[ue,pe]}),t[81]=a.isPending,t[82]=F,t[83]=oe,t[84]=Q,t[85]=se,t[86]=ue,t[87]=pe,t[88]=me):me=t[88];let he;t[89]!==A||t[90]!==R||t[91]!==z||t[92]!==B||t[93]!==V||t[94]!==J||t[95]!==me?(he=(0,Z.jsxs)(A,{side:R,className:z,children:[B,V,J,me]}),t[89]=A,t[90]=R,t[91]=z,t[92]=B,t[93]=V,t[94]=J,t[95]=me,t[96]=he):he=t[96];let ge;return t[97]!==j||t[98]!==H||t[99]!==re||t[100]!==he?(ge=(0,Z.jsx)(j,{open:H,onOpenChange:re,children:he}),t[97]=j,t[98]=H,t[99]=re,t[100]=he,t[101]=ge):ge=t[101],ge}function Qe(e){let[t,n]=e;return(0,Z.jsx)(`option`,{value:t,children:n},t)}function $e(e){return typeof e==`string`?{quant:e}:e}var et=115;function tt(e){let t=(0,Y.c)(55),{modelle:n,laufend:r}=e,i=y(),a=T(),o,s,c,l,u,d,p,m,h,g;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=f(i?.ram_total??a.data?.box.ram_total)??122.7,_=f(i?.ram_used??a.data?.box.ram_used)??0,v;t[15]===r?v=t[16]:(v=e=>r.includes(e.name),t[15]=r,t[16]=v);let y=n.filter(v).reduce(nt,0);s=Math.max(0,_-y);let b=t=>`${Math.min(100,t/e*100)}%`;o=L,m=`Speicher`,h=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(_),` von `,Math.round(e),` GB belegt · Grenze ~`,et,` GB`]});let x=`Speicher: ${Math.round(_)} von ${Math.round(e)} GB belegt`,S=b(_),C;t[17]===S?C=t[18]:(C={width:S},t[17]=S,t[18]=C);let w=`${_?y/_*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,Z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let E=`${_?s/_*100:0}%`,D;t[21]===E?D=t[22]:(D=(0,Z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:E}}),t[21]=E,t[22]=D);let O;t[23]!==C||t[24]!==T||t[25]!==D?(O=(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:C,children:[T,D]}),t[23]=C,t[24]=T,t[25]=D,t[26]=O):O=t[26];let k=b(et),A;t[27]===k?A=t[28]:(A=(0,Z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==x||t[30]!==O||t[31]!==A?(g=(0,Z.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":x,children:[O,A]}),t[29]=x,t[30]=O,t[31]=A,t[32]=g):g=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,d=Math.round(y),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=p,t[12]=m,t[13]=h,t[14]=g}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],p=t[11],m=t[12],h=t[13],g=t[14];let _;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==d?(_=(0,Z.jsxs)(`span`,{className:c,children:[l,u,d,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=d,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let b;t[40]===s?b=t[41]:(b=Math.round(s),t[40]=s,t[41]=b);let x;t[42]===b?x=t[43]:(x=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,b,` GB`]}),t[42]=b,t[43]=x);let S;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=S):S=t[44];let C;t[45]!==x||t[46]!==p||t[47]!==_?(C=(0,Z.jsxs)(`div`,{className:p,children:[_,x,S]}),t[45]=x,t[46]=p,t[47]=_,t[48]=C):C=t[48];let w;return t[49]!==o||t[50]!==C||t[51]!==m||t[52]!==h||t[53]!==g?(w=(0,Z.jsxs)(o,{titel:m,rechts:h,children:[g,C]}),t[49]=o,t[50]=C,t[51]=m,t[52]=h,t[53]=g,t[54]=w):w=t[54],w}function nt(e,t){return e+(f(t.size_bytes)??0)}function rt(e){let t=(0,Y.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function it(e){let t=(0,Y.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=F();if(!r){let e;t[0]===n?e=t[1]:(e=(0,Z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(A,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-linie-stark p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,f;t[12]===n?f=t[13]:(f=(0,Z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=f);let p=a?`gruen`:`grau`,m=a?`Geladen`:`Auf Abruf`,h;t[14]!==p||t[15]!==m?(h=(0,Z.jsx)(A,{art:p,children:m}),t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]!==f||t[18]!==h?(g=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[f,h]}),t[17]=f,t[18]=h,t[19]=g):g=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,Z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let v;t[22]===r.size_bytes?v=t[23]:(v=d(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,Z.jsx)(rt,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=l?`${l}k`:`–`,x;t[26]===b?x=t[27]:(x=(0,Z.jsx)(rt,{name:`Kontext`,wert:b}),t[26]=b,t[27]=x);let S=u?`ja`:`nein`,C;t[28]===S?C=t[29]:(C=(0,Z.jsx)(rt,{name:`Bilder`,wert:S}),t[28]=S,t[29]=C);let w;t[30]!==x||t[31]!==C||t[32]!==y?(w=(0,Z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,x,C]}),t[30]=x,t[31]=C,t[32]=y,t[33]=w):w=t[33];let T=r.spec_active?` Mit Draft-Beschleunigung.`:``,E=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,D;t[34]!==o||t[35]!==T||t[36]!==E?(D=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,T,E]}),t[34]=o,t[35]=T,t[36]=E,t[37]=D):D=t[37];let O;t[38]!==s||t[39]!==a||t[40]!==r.name?(O=!a&&(0,Z.jsx)(U,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=O):O=t[41];let k;return t[42]!==w||t[43]!==D||t[44]!==O||t[45]!==g||t[46]!==_?(k=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[g,_,w,D,O]}),t[42]=w,t[43]=D,t[44]=O,t[45]=g,t[46]=_,t[47]=k):k=t[47],k}var at={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},ot={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function st(e){let t=(0,Y.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsxs)(`div`,{role:`row`,className:`schild grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-xs text-text-3`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`rounded-lg border border-linie bg-erhaben/50 px-3 py-2 text-sm`,children:[a,e.map(ct)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ct(e){let[t,n]=e;return(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,Z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${ot[n.urteil??``]??`text-text-2`}`,children:S(n.kandidat,n.einheit)}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:S(n.baseline,n.einheit)})]},t)}function lt(e){let t=(0,Y.c)(80),{k:n,test:r,heute:i}=e,a=D(),o=O(),[s,c]=(0,X.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,Z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let m=d?`fürs Hirn`:`fürs Coden`,h;t[3]===m?h=t[4]:(h=(0,Z.jsx)(A,{art:`cyan`,children:m}),t[3]=m,t[4]=h);let g;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(g=n.groesse_gb!=null&&(0,Z.jsx)(A,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=g):g=t[8];let _=at[n.status]??`grau`,v=p[n.status]??n.status,y;t[9]!==_||t[10]!==v?(y=(0,Z.jsx)(A,{art:_,children:v}),t[9]=_,t[10]=v,t[11]=y):y=t[11];let b;t[12]!==f||t[13]!==h||t[14]!==g||t[15]!==y?(b=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,h,g,y]}),t[12]=f,t[13]=h,t[14]=g,t[15]=y,t[16]=b):b=t[16];let x;t[17]===n.groesse_gb?x=t[18]:(x=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=x);let S;t[19]!==n.begruendung||t[20]!==x?(S=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[x,n.begruendung]}),t[19]=n.begruendung,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==n.status||t[23]!==r?(C=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,Z.jsx)(st,{test:r}),t[22]=n.status,t[23]=r,t[24]=C):C=t[24];let w;t[25]!==n.begruendung||t[26]!==n.testbar_grund?(w=n.testbar_grund&&!n.begruendung.startsWith(`Läuft gerade`)&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:n.testbar_grund}),t[25]=n.begruendung,t[26]=n.testbar_grund,t[27]=w):w=t[27];let T;t[28]!==a.isPending||t[29]!==n.status||t[30]!==n.testbar_jetzt||t[31]!==u||t[32]!==o.isPending?(T=u&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.testbar_jetzt&&(0,Z.jsx)(U,{variant:`info`,size:`sm`,disabled:o.isPending,onClick:()=>c(`testen`),children:`Jetzt testen`}),n.status===`bestanden`&&(0,Z.jsx)(U,{size:`sm`,disabled:a.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,Z.jsx)(U,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[28]=a.isPending,t[29]=n.status,t[30]=n.testbar_jetzt,t[31]=u,t[32]=o.isPending,t[33]=T):T=t[33];let E=s===`uebernehmen`,k=`${n.name} übernehmen?`,j=d?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,M;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>c(null),t[34]=M):M=t[34];let N;t[35]!==a||t[36]!==s||t[37]!==n.id||t[38]!==n.name?(N=()=>{s===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[35]=a,t[36]=s,t[37]=n.id,t[38]=n.name,t[39]=N):N=t[39];let P;t[40]!==a.isPending||t[41]!==E||t[42]!==k||t[43]!==j||t[44]!==N?(P=(0,Z.jsx)(ne,{offen:E,titel:k,text:j,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:M,onJa:N}),t[40]=a.isPending,t[41]=E,t[42]=k,t[43]=j,t[44]=N,t[45]=P):P=t[45];let F=s===`testen`,I=`${n.name} jetzt testen?`,L;t[46]===n.groesse_gb?L=t[47]:(L=n.groesse_gb==null?``:` (${n.groesse_gb.toLocaleString(`de-DE`)} GB)`,t[46]=n.groesse_gb,t[47]=L);let R=`Das Radar lädt ${n.name}${L} herunter, falls nötig, misst das heutige Modell der Rolle und dann den Kandidaten. Das dauert je nach Download eine halbe bis zwei Stunden. Solange antworten Lucy und NerdQuiz etwas langsamer; ein geladener Coder wird dafür entladen, und wird er währenddessen gebraucht, bricht der Test ab. Das Ergebnis kommt als Meldung; fällt der Kandidat durch, werden seine Dateien gelöscht.`,z;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>c(null),t[48]=z):z=t[48];let B;t[49]!==s||t[50]!==n.id||t[51]!==n.name||t[52]!==o?(B=()=>{s===`testen`&&(o.mutate({id:n.id,name:n.name}),c(null))},t[49]=s,t[50]=n.id,t[51]=n.name,t[52]=o,t[53]=B):B=t[53];let V;t[54]!==F||t[55]!==I||t[56]!==R||t[57]!==B||t[58]!==o.isPending?(V=(0,Z.jsx)(ne,{offen:F,titel:I,text:R,knopf:`Jetzt testen`,gesperrt:o.isPending,onNein:z,onJa:B}),t[54]=F,t[55]=I,t[56]=R,t[57]=B,t[58]=o.isPending,t[59]=V):V=t[59];let H=s===`verwerfen`,W=`${n.name} verwerfen?`,G;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>c(null),t[60]=G):G=t[60];let K;t[61]!==a||t[62]!==s||t[63]!==n.id||t[64]!==n.name?(K=()=>{s===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[61]=a,t[62]=s,t[63]=n.id,t[64]=n.name,t[65]=K):K=t[65];let ee;t[66]!==a.isPending||t[67]!==H||t[68]!==W||t[69]!==K?(ee=(0,Z.jsx)(ne,{offen:H,gefahr:!0,titel:W,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:G,onJa:K}),t[66]=a.isPending,t[67]=H,t[68]=W,t[69]=K,t[70]=ee):ee=t[70];let te;return t[71]!==S||t[72]!==C||t[73]!==w||t[74]!==T||t[75]!==P||t[76]!==V||t[77]!==ee||t[78]!==b?(te=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[b,S,C,w,T,P,V,ee]}),t[71]=S,t[72]=C,t[73]=w,t[74]=T,t[75]=P,t[76]=V,t[77]=ee,t[78]=b,t[79]=te):te=t[79],te}function ut(e){let t=(0,Y.c)(30),{hirn:n,coder:r}=e,i=B(),a=H(),o=V(),s=R(),c=o.data?.jobs,l=(c??[]).filter(ft).at(-1),d=a.data?.job_id,f;t[0]!==d||t[1]!==c?(f=!!d&&!!c&&!c.some(e=>e.id===d),t[0]=d,t[1]=c,t[2]=f):f=t[2];let p=f,m=a.isPending||p||l!==void 0&&u(l),h=(0,X.useRef)(m);if((0,X.useEffect)(()=>{h.current&&!m&&s.invalidateQueries({queryKey:[`radar`]}),h.current=m},[m,s]),i.isError&&!i.data){let e=i.error instanceof C&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,Z.jsx)(L,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let g=i.data,_=L,v;t[6]===a?v=t[7]:(v=()=>a.mutate(void 0),t[6]=a,t[7]=v);let y=m?`Sucht …`:`Jetzt suchen`,b;t[8]!==m||t[9]!==v||t[10]!==y?(b=(0,Z.jsx)(U,{variant:`info`,size:`sm`,onClick:v,disabled:m,children:y}),t[8]=m,t[9]=v,t[10]=y,t[11]=b):b=t[11];let S;t[12]===g?S=t[13]:(S=g?.naechster_test?` Nächster Test: ${x(g.naechster_test)}.`:``,t[12]=g,t[13]=S);let w=m?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,T;t[14]!==S||t[15]!==w?(T=(0,Z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche. Tagsüber geht es mit „Jetzt testen“, wenn der Kandidat samt Coder in den Speicher passt.`,S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E=!m&&l?.state===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,re(l)??`ohne Meldung`]}),D;t[17]!==r||t[18]!==g||t[19]!==n?(D=g?g.kandidaten.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:g.kandidaten.map(e=>(0,Z.jsx)(lt,{k:e,test:g.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=g,t[19]=n,t[20]=D):D=t[20];let O;t[21]===g?O=t[22]:(O=g&&g.tests.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),g.tests.slice(0,3).map(dt)]}),t[21]=g,t[22]=O);let k;return t[23]!==_||t[24]!==T||t[25]!==E||t[26]!==D||t[27]!==O||t[28]!==b?(k=(0,Z.jsxs)(_,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:b,children:[T,E,D,O]}),t[23]=_,t[24]=T,t[25]=E,t[26]=D,t[27]=O,t[28]=b,t[29]=k):k=t[29],k}function dt(e){return(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-text-3`,children:x(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ft(e){return e.group===`radar`}var pt=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function mt(e){let t=(0,Y.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(c,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=s);let l;t[5]!==o||t[6]!==s?(l=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`details`,{className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ht(){let e=(0,Y.c)(37),t=g(),n=_(),[r,i]=(0,X.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(gt,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(vt,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,Z.jsxs)(L,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=L,o=`Aufräumen`,s=r.length>0?(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,Z.jsx)(mt,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,Z.jsx)(A,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let m=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,h;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>i(null),e[19]=h):h=e[19];let v;e[20]!==r||e[21]!==n?(v=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=v):v=e[22];let y;e[23]!==n.isPending||e[24]!==v||e[25]!==d||e[26]!==f||e[27]!==m?(y=(0,Z.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:m,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:h,onJa:v}),e[23]=n.isPending,e[24]=v,e[25]=d,e[26]=f,e[27]=m,e[28]=y):y=e[28];let b;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(vt,{}),e[29]=b):b=e[29];let x;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==y||e[34]!==c||e[35]!==l?(x=(0,Z.jsxs)(a,{titel:o,rechts:s,children:[c,l,y,b]}),e[30]=a,e[31]=o,e[32]=s,e[33]=y,e[34]=c,e[35]=l,e[36]=x):x=e[36],x}function gt(e,t){return e+t.groesse_gb}function _t(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function vt(){let e=(0,Y.c)(23),t=b(),n=v(),[r,i]=(0,X.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(yt,0);a=`flex flex-col gap-2`,o=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,Z.jsxs)(mt,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${_t(s)}`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,Z.jsx)(A,{children:`Altrest`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let u=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,d;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>i(null),e[9]=d):d=e[9];let f;e[10]!==r||e[11]!==n?(f=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=f):f=e[12];let p;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==u||e[17]!==f?(p=(0,Z.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:u,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:d,onJa:f}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=u,e[17]=f,e[18]=p):p=e[18];let m;return e[19]!==a||e[20]!==o||e[21]!==p?(m=(0,Z.jsxs)(`div`,{className:a,children:[o,p]}),e[19]=a,e[20]=o,e[21]=p,e[22]=m):m=e[22],m}function yt(e,t){return e+t.groesse_bytes}function bt(){let e=(0,Y.c)(69),t=z(),n=M(),r=B(),i=V(),[a,o]=(0,X.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:wt},e[0]=s):s=e[0];let c=oe(s),u=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,f,p;if(e[1]!==u||e[2]!==c?(f=()=>{u&&c===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},p=[u,c],e[1]=u,e[2]=c,e[3]=f,e[4]=p):(f=e[3],p=e[4]),(0,X.useEffect)(f,p),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(k,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,Z.jsx)(k,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let m=t.data.models,h=t.data.running,g,_,v,y,b,S,C,w,T,E,D,O,A;if(e[8]!==h||e[9]!==m||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=m.find(Ct);_=m.find(St);let r;e[26]===m?r=e[27]:(r=(e,t)=>e?m.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[26]=m,e[27]=r);let i=r,a=i(t,`vision`);v=i(_,`coder-bild`);let s=m.filter(e=>![t,_,a,v].includes(e)),c;e[28]===n.data?.zuletzt_geladen?c=e[29]:(c=n.data?.zuletzt_geladen??{},e[28]=n.data?.zuletzt_geladen,e[29]=c);let u=c,f={};for(let[e,n]of[[t,`Hirn`],[_,`Coder`],[a,`Bild-Zwilling des Hirns`],[v,`Bild-Zwilling des Coders`]])e&&(f[e.name]=n);e[30]!==h||e[31]!==m?(O=(0,Z.jsx)(tt,{modelle:m,laufend:h}),e[30]=h,e[31]=m,e[32]=O):O=e[32],e[33]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Z.jsx)(q,{alsPanel:!0}),e[33]=A):A=e[33];let p;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(it,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[34]=p):p=e[34],y=(0,Z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,Z.jsx)(it,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&h.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,Z.jsx)(it,{titel:`Coder`,modell:_,zwilling:v,laeuft:!!_&&h.includes(_.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),p]}),b=(0,Z.jsx)(Ye,{nutzung:n.data,laedt:n.isPending,fehler:n.error?.message??null,rollen:f});let k=t?.name,j=_?.name;e[35]!==k||e[36]!==j?(S=(0,Z.jsx)(ut,{hirn:k,coder:j}),e[35]=k,e[36]=j,e[37]=S):S=e[37],g=L,T=`Weitere Einträge`,e[38]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsxs)(U,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,Z.jsx)(l,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[38]=E):E=e[38],D=s.length===0&&(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),C=`m-0 flex list-none flex-col p-0`;let M;e[39]!==h||e[40]!==u?(M=e=>(0,Z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:d(e.size_bytes)}),(0,Z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:h.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${x(u[e.name])}`:`länger nicht geladen`})]},e.name),e[39]=h,e[40]=u,e[41]=M):M=e[41],w=s.map(M),e[8]=h,e[9]=m,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=g,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=S,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D,e[24]=O,e[25]=A}else g=e[13],_=e[14],v=e[15],y=e[16],b=e[17],S=e[18],C=e[19],w=e[20],T=e[21],E=e[22],D=e[23],O=e[24],A=e[25];let j;e[42]!==C||e[43]!==w?(j=(0,Z.jsx)(`ul`,{className:C,children:w}),e[42]=C,e[43]=w,e[44]=j):j=e[44];let N;e[45]!==g||e[46]!==j||e[47]!==T||e[48]!==E||e[49]!==D?(N=(0,Z.jsxs)(g,{titel:T,rechts:E,children:[D,j]}),e[45]=g,e[46]=j,e[47]=T,e[48]=E,e[49]=D,e[50]=N):N=e[50];let P;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Z.jsx)(ht,{}),e[51]=P):P=e[51];let F;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>o(!1),e[52]=F):F=e[52];let I;e[53]!==_||e[54]!==v?(I=_?{name:_.name,zwilling:!!v,weitere:_.aliases.filter(xt)}:void 0,e[53]=_,e[54]=v,e[55]=I):I=e[55];let R;e[56]===I?R=e[57]:(R={coder:I},e[56]=I,e[57]=R);let H;e[58]!==a||e[59]!==R?(H=(0,Z.jsx)(Ze,{offen:a,onSchliessen:F,rollenJetzt:R}),e[58]=a,e[59]=R,e[60]=H):H=e[60];let W;return e[61]!==y||e[62]!==b||e[63]!==S||e[64]!==N||e[65]!==H||e[66]!==O||e[67]!==A?(W=(0,Z.jsxs)(Z.Fragment,{children:[O,A,y,b,S,N,P,H]}),e[61]=y,e[62]=b,e[63]=S,e[64]=N,e[65]=H,e[66]=O,e[67]=A,e[68]=W):W=e[68],W}function xt(e){return e.toLowerCase()!==`coder`}function St(e){return h(e)===`coder`}function Ct(e){return h(e)===`hirn`}function wt(e){return e.hash}export{lt as Kandidat,bt as ModelleSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Modelle-Bh5l5QHZ.js b/frontend/dist/assets/Modelle-Bh5l5QHZ.js new file mode 100644 index 0000000..19638d8 --- /dev/null +++ b/frontend/dist/assets/Modelle-Bh5l5QHZ.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{n as a,t as o}from"./useSelector-uUwrspuX.js";import{n as s}from"./useMatch-CiyhmkMV.js";import{t as c}from"./chevron-right-4vXDP1Jj.js";import{t as l}from"./search-hyFAofkN.js";import{$t as u,B as d,Bt as f,C as p,Et as m,Ft as h,It as g,Pt as _,S as v,U as y,Vt as b,W as x,Wt as S,Xt as C,Yt as w,Zt as T,b as E,d as D,dt as O,en as k,f as A,fn as j,ft as M,gt as N,ht as P,it as F,lt as I,p as L,pn as R,ut as z,vt as B,yt as V,z as H}from"./index-CIOHqG23.js";import{t as U}from"./button-D8rvET0Z.js";import{a as W,i as G,n as K,r as ee,t as te}from"./sheet-DU78qfp_.js";import{t as ne}from"./Bestaetigen-D6CzMfJm.js";import{a as re,r as ie,s as ae,t as q}from"./Auftraege-CdBAGJi2.js";import{t as J}from"./breite-pBrnu3_s.js";function oe(e){let t=a();return o(t.stores.location,s(e,t))}var Y=t(),X=r(e(),1),Z=n(),Q=new Intl.NumberFormat(`de-DE`),se=240,ce=24,le={ArrowLeft:e=>Math.max(0,e-1),ArrowRight:(e,t)=>Math.min(t-1,e+1),Home:()=>0,End:(e,t)=>t-1};function ue(e){let t=(0,Y.c)(20),{saeule:n,reihen:r,summe:a,className:o,links:s}=e,c;t[0]===o?c=t[1]:(c=i(`flex flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2`,o),t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s===void 0?void 0:{left:s},t[2]=s,t[3]=l);let u;t[4]===n.lang?u=t[5]:(u=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:n.lang}),t[4]=n.lang,t[5]=u);let d;if(t[6]!==r||t[7]!==n.werte){let e;t[9]===n.werte?e=t[10]:(e=e=>(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 text-sm`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 shrink-0 self-center rounded-full`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(n.werte[e.name]??0)}),(0,Z.jsx)(`span`,{className:`min-w-0 text-text-3`,children:e.name})]},e.name),t[9]=n.werte,t[10]=e),d=r.map(e),t[6]=r,t[7]=n.werte,t[8]=d}else d=t[8];let f;t[11]!==r.length||t[12]!==a?(f=r.length>1&&(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 border-t border-linie pt-1 text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(a)}),(0,Z.jsx)(`span`,{className:`text-text-3`,children:`zusammen`})]}),t[11]=r.length,t[12]=a,t[13]=f):f=t[13];let p;return t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d||t[18]!==f?(p=(0,Z.jsxs)(`div`,{role:`status`,className:c,style:l,children:[u,d,f]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function de(e){let t=(0,Y.c)(92),{saeulen:n,reihen:r,titel:a,summen:o,hoehe:s,spalte:c}=e,l=o===void 0?`alle`:o,u=s===void 0?200:s,d=c===void 0?`Zeitraum`:c,[f,p]=J(),[m,h]=(0,X.useState)(null),g=n.length,_,v,y,b,x,S,C,w,T,E;if(t[0]!==p||t[1]!==u||t[2]!==m||t[3]!==g||t[4]!==f||t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==l||t[9]!==a){let e;t[20]===n?e=t[21]:(e=e=>n.some(t=>(t.werte[e.name]??0)>0),t[20]=n,t[21]=e);let o=r.filter(e),s=n.map(e=>o.reduce((t,n)=>t+(e.werte[n.name]??0),0)),c=Math.max(0,...s),O=L(c),k=O[O.length-1],j;t[22]===k?j=t[23]:(j=Q.format(k),t[22]=k,t[23]=j);let M=Math.max(28,j.length*7+12),N=n.some(ge)?34:22,P;t[24]!==M||t[25]!==N?(P={links:M,rechts:4,oben:20,unten:N},t[24]=M,t[25]=N,t[26]=P):P=t[26];let F=P,I=Math.max(1,p-F.links-F.rechts),R=u-F.oben-F.unten,z=I/Math.max(1,g),B=Math.min(ce,Math.max(3,z*.72)),V;t[27]!==R||t[28]!==k||t[29]!==F.oben?(V=e=>F.oben+R-e/k*R,t[27]=R,t[28]=k,t[29]=F.oben,t[30]=V):V=t[30];let H=V,U=F.oben+R,W;t[31]!==z||t[32]!==F.links?(W=e=>F.links+(e+.5)*z,t[31]=z,t[32]=F.links,t[33]=W):W=t[33];let G=W,K;t[34]===n?K=t[35]:(K=Math.max(1,...n.map(he)),t[34]=n,t[35]=K);let ee=K*6.6+8,te;t[36]!==z||t[37]!==ee?(te=[1,3,6,12].find(e=>e*z>=ee)??24,t[36]=z,t[37]=ee,t[38]=te):te=t[38];let ne=te,re=s.indexOf(c),ie=z<34,ae;t[39]===g?ae=t[40]:(ae=function(e){if(g===0)return;let t=e.currentTarget.getBoundingClientRect();h(Math.min(g-1,Math.max(0,Math.floor((e.clientX-t.left)/t.width*g))))},t[39]=g,t[40]=ae);let q=ae,J;t[41]===g?J=t[42]:(J=function(e){let t=le[e.key];g!==0&&t&&(e.preventDefault(),h(e=>t(e??g-1,g)))},t[41]=g,t[42]=J);let oe=J,Y=m===null?void 0:n[m],X=p>=360,de=m===null?0:Math.max(0,Math.min(p-se,G(m)+12+se>p?G(m)-12-se:G(m)+12));_=`flex flex-col gap-2`,v=o.length>1&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:o.map(me)});let _e;t[43]===g?_e=t[44]:(_e=()=>h(e=>e??(g?g-1:null)),t[43]=g,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>h(null),t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==z||t[48]!==m||t[49]!==R||t[50]!==F.links||t[51]!==F.oben?(ye=Y&&m!==null&&(0,Z.jsx)(`rect`,{x:F.links+m*z,y:F.oben-4,width:z,height:R+4,rx:4,fill:`var(--erhaben)`}),t[46]=Y,t[47]=z,t[48]=m,t[49]=R,t[50]=F.links,t[51]=F.oben,t[52]=ye):ye=t[52];let be;t[53]!==p||t[54]!==F.links||t[55]!==F.rechts||t[56]!==H?(be=e=>(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`line`,{x1:F.links,x2:p-F.rechts,y1:H(e),y2:H(e),strokeWidth:1,stroke:e===0?`var(--linie-stark)`:`var(--linie)`}),(0,Z.jsx)(`text`,{x:F.links-8,y:H(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:Q.format(e)})]},e),t[53]=p,t[54]=F.links,t[55]=F.rechts,t[56]=H,t[57]=be):be=t[57];let xe;t[58]!==I||t[59]!==R||t[60]!==c||t[61]!==F.links||t[62]!==F.oben?(xe=c===0&&(0,Z.jsx)(`text`,{x:F.links+I/2,y:F.oben+R/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Keine Anfragen in diesem Zeitraum`}),t[58]=I,t[59]=R,t[60]=c,t[61]=F.links,t[62]=F.oben,t[63]=xe):xe=t[63];let Se;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{e.pointerType!==`touch`&&h(null)},t[64]=Se):Se=t[64];let Ce;t[65]!==u||t[66]!==I||t[67]!==F.links||t[68]!==q?(Ce=(0,Z.jsx)(`rect`,{x:F.links,y:0,width:I,height:u,fill:`transparent`,onPointerMove:q,onPointerDown:q,onPointerLeave:Se}),t[65]=u,t[66]=I,t[67]=F.links,t[68]=q,t[69]=Ce):Ce=t[69],y=(0,Z.jsxs)(`div`,{ref:f,className:`relative w-full`,children:[(0,Z.jsxs)(`svg`,{width:p,height:u,viewBox:`0 0 ${p} ${u}`,role:`img`,"aria-label":a,tabIndex:0,onKeyDown:oe,onFocus:_e,onBlur:ve,className:`block h-auto max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[ye,O.map(be),n.map((e,t)=>{let n=G(t)-B/2;return(0,Z.jsxs)(`g`,{children:[A(o.map(t=>e.werte[t.name]??0),H).filter(pe).map(e=>e.oben?(0,Z.jsx)(`path`,{d:D(n,e.y,B,e.hoehe),fill:o[e.index].farbe},e.index):(0,Z.jsx)(`rect`,{x:n,y:e.y,width:B,height:e.hoehe,fill:o[e.index].farbe},e.index)),s[t]>0&&(l===`alle`||t===re)&&(0,Z.jsx)(`text`,{x:G(t),y:H(s[t])-6,textAnchor:`middle`,className:i(`fill-text-2 font-mono`,ie?`text-[10px]`:`text-[11px]`),children:Q.format(s[t])}),(e.raster??t)%ne===0&&(0,Z.jsxs)(`text`,{x:G(t),y:U+15,textAnchor:`middle`,className:`fill-text-3 font-mono text-[11px]`,children:[e.achse,e.achse2&&(0,Z.jsx)(`tspan`,{x:G(t),dy:13,className:`text-[10px]`,children:e.achse2})]})]},e.schluessel)}),xe,Ce]}),Y&&m!==null&&X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m],links:de,className:`pointer-events-none absolute top-1 z-10 w-60 shadow-lg`})]}),b=Y&&m!==null&&!X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m]}),T=`text-sm`,t[70]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[70]=E):E=t[70],w=`mt-2 overflow-x-auto`,S=`w-full border-collapse text-xs`;let we;t[71]===d?we=t[72]:(we=(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-left font-normal`,children:d}),t[71]=d,t[72]=we),C=(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`text-text-3`,children:[we,o.map(fe),o.length>1&&(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 text-right font-normal`,children:`Zusammen`})]})}),x=n.map((e,t)=>(0,Z.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,Z.jsx)(`th`,{scope:`row`,className:`py-1 pr-3 text-left font-normal text-text-3`,children:e.lang}),o.map(t=>(0,Z.jsx)(`td`,{className:`ziffern py-1 pr-3 text-right text-text-2`,children:Q.format(e.werte[t.name]??0)},t.name)),o.length>1&&(0,Z.jsx)(`td`,{className:`ziffern py-1 text-right text-foreground`,children:Q.format(s[t])})]},e.schluessel)),t[0]=p,t[1]=u,t[2]=m,t[3]=g,t[4]=f,t[5]=r,t[6]=n,t[7]=d,t[8]=l,t[9]=a,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else _=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let O;t[73]===x?O=t[74]:(O=(0,Z.jsx)(`tbody`,{children:x}),t[73]=x,t[74]=O);let k;t[75]!==O||t[76]!==S||t[77]!==C?(k=(0,Z.jsxs)(`table`,{className:S,children:[C,O]}),t[75]=O,t[76]=S,t[77]=C,t[78]=k):k=t[78];let j;t[79]!==k||t[80]!==w?(j=(0,Z.jsx)(`div`,{className:w,children:k}),t[79]=k,t[80]=w,t[81]=j):j=t[81];let M;t[82]!==j||t[83]!==T||t[84]!==E?(M=(0,Z.jsxs)(`details`,{className:T,children:[E,j]}),t[82]=j,t[83]=T,t[84]=E,t[85]=M):M=t[85];let N;return t[86]!==_||t[87]!==v||t[88]!==y||t[89]!==b||t[90]!==M?(N=(0,Z.jsxs)(`div`,{className:_,children:[v,y,b,M]}),t[86]=_,t[87]=v,t[88]=y,t[89]=b,t[90]=M,t[91]=N):N=t[91],N}function fe(e){return(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-right font-normal [overflow-wrap:anywhere]`,children:e.name},e.name)}function pe(e){return e.hoehe>0}function me(e){return(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),e.name]},e.name)}function he(e){return e.achse.length}function ge(e){return e.achse2}var _e=`Europe/Berlin`,ve=[`var(--reihe-1)`,`var(--reihe-2)`,`var(--reihe-3)`],ye={name:`Weitere`,farbe:`var(--reihe-weitere)`},be=new Intl.NumberFormat(`de-DE`),xe=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Se=new Intl.DateTimeFormat(`en-CA`,{timeZone:_e}),Ce=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:_e}),we=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,hourCycle:`h23`,timeZone:_e}),Te=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`UTC`}),Ee=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,timeZone:`UTC`}),$=e=>be.format(e);function De(e){if(!(e>0))return`0 %`;let t=e*100;return t<.1?`unter 0,1 %`:`${t<10?xe.format(t):be.format(Math.round(t))} %`}function Oe(e,t=!1){if(e==null||!Number.isFinite(e)||e<0)return`–`;if(Math.round(e*1e3)<1e3)return`${Math.round(e*1e3)} ms`;if(e<9.95)return`${xe.format(e)} s`;let n=Math.round(e);if(n<60)return`${n} s`;if(n<3600&&!t)return n%60?`${Math.floor(n/60)} min ${n%60} s`:`${n/60} min`;let r=Math.round(e/60);return r<60?`${r} min`:r%60?`${Math.floor(r/60)} h ${r%60} min`:`${r/60} h`}var ke={400:`fehlerhafte Anfrage`,404:`nicht gefunden`,408:`Zeitüberschreitung`,413:`Anfrage zu groß`,429:`zu viele Anfragen`,499:`vom Absender abgebrochen`,500:`Fehler beim Modell`,502:`Modell nicht erreichbar`,503:`gerade nicht verfügbar`,504:`Zeitüberschreitung`};function Ae(e){return Object.entries(e??{}).sort(([e,t],[n,r])=>r-t||e.localeCompare(n)).map(([e,t])=>ke[e]?`${$(t)}× ${ke[e]} (${e})`:`${$(t)}× Status ${e}`).join(` · `)}function je(e){return e===null||e<.01?{art:`grau`,wort:null}:e>=.05?{art:`rot`,wort:`hoch`}:{art:`bernstein`,wort:`auffällig`}}var Me=e=>String(e).padStart(2,`0`),Ne=e=>Object.values(e??{}).reduce((e,t)=>e+t,0),Pe=e=>Te.format(e).replace(`.`,``);function Fe(e){return Number(we.formatToParts(e).find(e=>e.type===`hour`)?.value??0)%24}function Ie(e){let[,t,n]=e.split(`-`);return`${Ee.format(new Date(`${e}T12:00:00Z`))}, ${n}.${t}.`}function Le(e,t=new Date){let n=e.stand?new Date(e.stand):t,r=Se.format(n),i=new Date(Date.parse(`${r}T12:00:00Z`)-864e5).toISOString().slice(0,10),a=e.gesamt?.anfragen??e.absender.reduce((e,t)=>e+t.anfragen,0),o=e.gesamt?.dauer_summe_s??null,s=new Map(e.absender.map((e,t)=>[e.name,e.reihe??t])),c=e.absender.map(e=>{let t=s.get(e.name)??ve.length,n=t[e.name,e.reihe])),u=[];for(let e of[...c].sort((e,t)=>(s.get(e.name)??99)-(s.get(t.name)??99)))u.some(t=>t.name===e.reihe)||u.push({name:e.reihe,farbe:e.farbe});let d=e=>{let t={};for(let[n,r]of Object.entries(e??{})){let e=l.get(n)??ye.name;t[e]=(t[e]??0)+r,e===ye.name&&!u.some(t=>t.name===e)&&u.push({...ye})}return t},f=Object.keys(e.je_tag??{}).sort(),p=f.map(t=>{let i=t===r;return{schluessel:t,achse:Pe(new Date(`${t}T12:00:00Z`)),achse2:i?`heute`:`${Number(t.slice(8))}.`,lang:`${Ie(t)}${i?` (heute bis ${Ce.format(n)})`:``}`,werte:d(e.je_tag[t])}}),m;if(e.stunden?.length)m=e.stunden.map((e,t,n)=>{let a=new Date(e.beginn),o=Fe(a),s=Se.format(a),c=s===r?`Heute`:s===i?`Gestern`:Ie(s),l=t===n.length-1?` bis jetzt`:`–${Me((o+1)%24)}:00`;return{schluessel:e.beginn,achse:`${Me(o)}:00`,raster:o,lang:`${c} ${Me(o)}:00${l}`,werte:d(e.je_absender)}});else{let t=Fe(n),r=e.letzte_24h??[];m=[...r.slice(t+1),...r.slice(0,t+1)].map(e=>{let t=Number(e.stunde);return{schluessel:e.stunde,achse:`${Me(t)}:00`,raster:t,lang:`${Me(t)}:00–${Me((t+1)%24)}:00`,werte:d(e.je_absender)}})}let h=f.filter(e=>e!==r),g=e.seit?Se.format(new Date(e.seit)):null,_=e.ladevorgaenge??Object.entries(e.zuletzt_geladen??{}).sort(([,e],[,t])=>Date.parse(t)-Date.parse(e)).map(([e,t])=>({modell:e,anzahl:null,zeiten:[t]}));return{absender:c,reihen:u,tage:p,stunden:m,gesamt:{anfragen:a,fehler:e.gesamt?.fehler??null,fehlerCodes:e.gesamt?.fehler_codes??{},typisch:e.gesamt?.dauer_typisch_s??null,p90:e.gesamt?.dauer_p90_s??null,summe:o},heute:Ne(e.je_tag?.[r]),gestern:Ne(e.je_tag?.[i]),schnitt:h.length?h.reduce((t,n)=>t+Ne(e.je_tag[n]),0)/h.length:null,zeitraum:g?`seit ${Pe(new Date(`${g}T12:00:00Z`))} ${g.slice(8)}.${g.slice(5,7)}.`:`letzte ${e.tage} Tage`,stand:e.stand?Ce.format(n):null,modelle:_}}var Re={grau:`text-foreground`,bernstein:`text-bernstein`,rot:`text-rot-text`};function ze(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,art:o}=e,s=o===void 0?`grau`:o,c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=c);let l=Re[s],u;t[2]===l?u=t[3]:(u=i(`font-anzeige text-[28px] leading-none font-bold`,l),t[2]=l,t[3]=u);let d;t[4]!==u||t[5]!==r?(d=(0,Z.jsx)(`span`,{className:u,children:r}),t[4]=u,t[5]=r,t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=f);let p;return t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 py-3`,children:[c,d,f]}),t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var Be=`lg:grid-cols-[minmax(0,1.5fr)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,0.8fr)]`;function Ve(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,leise:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 lg:hidden`,children:n}),t[0]=n,t[1]=s);let c=o?`text-text-3`:`text-foreground`,l;t[2]===c?l=t[3]:(l=i(`ziffern text-sm`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,Z.jsx)(`span`,{className:l,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=d);let f;return t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,Z.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[s,u,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function He(e){let t=(0,Y.c)(5),{zeilen:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsxs)(`div`,{role:`row`,className:i(`schild hidden gap-x-4 pb-2 text-xs text-text-3 lg:grid`,Be),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Absender`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Anfragen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Typische Antwort`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rechenzeit`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Fehler`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`})]}),t[0]=r):r=t[0];let a;t[1]===n?a=t[2]:(a=n.map(Ue),t[1]=n,t[2]=a);let o;return t[3]===a?o=t[4]:(o=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Nutzung je Absender`,className:`flex flex-col`,children:[r,a]}),t[3]=a,t[4]=o),o}function Ue(e){return(0,Z.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2.5 border-t border-linie py-3 lg:items-start`,Be),children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-2 text-[15px] font-medium lg:col-span-1`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:e.name})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex min-w-0 flex-col gap-1.5 lg:col-span-1`,children:[(0,Z.jsxs)(`span`,{className:`text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:$(e.anfragen)}),(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · `,De(e.anteil),` aller Anfragen`]})]}),(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-56 overflow-hidden rounded-full bg-erhaben`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.max(1,e.anteil*100)}%`,background:e.farbe}})})]}),(0,Z.jsx)(Ve,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(Ve,{label:`Rechenzeit`,wert:Oe(e.summe,!0),zusatz:e.zeitAnteil===null?void 0:`${De(e.zeitAnteil)} aller Rechenzeit`}),(0,Z.jsx)(Ve,{label:`Fehler`,leise:e.fehler===0,wert:e.fehler===null?`–`:e.fehler===0?`keine`:`${$(e.fehler)} · ${De(e.fehler/e.anfragen)}`,zusatz:e.fehler?Ae(e.fehlerCodes):void 0}),(0,Z.jsx)(Ve,{label:`Zuletzt`,wert:e.zuletzt?_(e.zuletzt):`–`})]},e.name)}function We(e){let t=(0,Y.c)(11),{titel:n,zusatz:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,Z.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r}),t[2]=r,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==i||t[8]!==s||t[9]!==n?(c=(0,Z.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-xl border border-linie p-4`,children:[s,i]}),t[7]=i,t[8]=s,t[9]=n,t[10]=c):c=t[10],c}function Ge(e){let t=(0,Y.c)(29),{modelle:n,rollen:r}=e;if(n.length===0)return null;let i,a,o,s,l,u;if(t[0]!==n){let e=n.every(Je)?n.reduce(qe,0):null;u=`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,s=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(c,{className:`size-4 shrink-0 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Wann welches Modell geladen wurde`]}),t[7]=l):l=t[7],i=`ziffern text-sm text-text-2`,a=n.length===1?`1 Modell`:`${n.length} Modelle`,o=e===null?``:` · ${$(e)}× geladen`,t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u}else i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];let d;t[8]!==i||t[9]!==a||t[10]!==o?(d=(0,Z.jsxs)(`span`,{className:i,children:[a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==l||t[14]!==d?(f=(0,Z.jsxs)(`summary`,{className:s,children:[l,d]}),t[12]=s,t[13]=l,t[14]=d,t[15]=f):f=t[15];let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(`p`,{className:`pb-1 text-sm text-text-2`,children:`Gezählt wird, wie oft sich ein Modell nach dem Laden bereit meldete: nach einem Neustart von llama-swap oder wenn es auf Abruf gebraucht wurde.`}),t[16]=p):p=t[16];let m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsxs)(`div`,{role:`row`,className:`schild hidden gap-x-4 py-2 text-xs text-text-3 sm:grid sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)]`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Modell`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Geladen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Davor`})]}),t[17]=m):m=t[17];let h;if(t[18]!==n||t[19]!==r){let e;t[21]===r?e=t[22]:(e=e=>(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)] sm:items-baseline`,children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.modell}),r[e.modell]&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r[e.modell]})]}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-sm text-text-2 sm:text-left`,children:e.anzahl===null?`–`:`${$(e.anzahl)}×`}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-2 sm:col-span-1`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-text-3 sm:hidden`,children:`zuletzt `}),_(e.zeiten[0])]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-3 sm:col-span-1`,children:[e.zeiten.length>1&&(0,Z.jsx)(`span`,{className:`font-sans sm:hidden`,children:`davor `}),e.zeiten.length>1?e.zeiten.slice(1,4).map(Ke).join(` · `):(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`–`})]})]},e.modell),t[21]=r,t[22]=e),h=n.map(e),t[18]=n,t[19]=r,t[20]=h}else h=t[20];let g;t[23]===h?g=t[24]:(g=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Ladevorgänge je Modell`,className:`flex flex-col`,children:[m,h]}),t[23]=h,t[24]=g);let v;return t[25]!==g||t[26]!==u||t[27]!==f?(v=(0,Z.jsxs)(`details`,{className:u,children:[f,p,g]}),t[25]=g,t[26]=u,t[27]=f,t[28]=v):v=t[28],v}function Ke(e){return _(e)}function qe(e,t){return e+(t.anzahl??0)}function Je(e){return e.anzahl!==null}function Ye(e){let t=(0,Y.c)(23),{nutzung:n,laedt:r,fehler:i,rollen:a}=e,o;t[0]===a?o=t[1]:(o=a===void 0?{}:a,t[0]=a,t[1]=o);let s=o;if(!n){let e;return t[2]!==i||t[3]!==r?(e=(0,Z.jsx)(E,{titel:`Wer nutzt die Modelle`,children:r?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[2]=i,t[3]=r,t[4]=e):e=t[4],e}let c,l,u,d,f;if(t[5]!==n){l=Le(n);let e=l.gesamt,r=e.fehler!==null&&e.anfragen?e.fehler/e.anfragen:null,i;t[11]===r?i=t[12]:(i=je(r),t[11]=r,t[12]=i);let a=i;c=E,u=`Wer nutzt die Modelle`,d=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[l.zeitraum,l.stand?` · Stand ${l.stand}`:``]}),f=e.anfragen===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,Z.jsx)(ze,{label:`Anfragen`,wert:$(e.anfragen),zusatz:l.schnitt===null?void 0:`im Schnitt ${$(Math.round(l.schnitt))} am Tag`}),(0,Z.jsx)(ze,{label:`Heute`,wert:$(l.heute),zusatz:`${l.stand?`bis ${l.stand} · `:``}gestern ${$(l.gestern)}`}),(0,Z.jsx)(ze,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(ze,{label:`Fehler`,wert:e.fehler===null?`–`:$(e.fehler),art:a.art,zusatz:e.fehler===null?void 0:e.fehler===0?`alle beantwortet`:`${De(r??0)} der Anfragen${a.wort?` · ${a.wort}`:``}`})]}),(0,Z.jsx)(He,{zeilen:l.absender}),(0,Z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Z.jsx)(We,{titel:`Anfragen je Tag`,zusatz:`letzte 7 Tage, heute bis jetzt`,children:(0,Z.jsx)(de,{saeulen:l.tage,reihen:l.reihen,spalte:`Tag`,titel:`Anfragen je Tag der letzten 7 Tage, gestapelt nach Absender`})}),(0,Z.jsx)(We,{titel:`Anfragen je Stunde`,zusatz:`letzte 24 Stunden`,children:(0,Z.jsx)(de,{saeulen:l.stunden,reihen:l.reihen,spalte:`Stunde`,summen:`hoechste`,titel:`Anfragen je Stunde der letzten 24 Stunden, gestapelt nach Absender`})})]})]}),t[5]=n,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[13]!==l.modelle||t[14]!==s?(p=(0,Z.jsx)(Ge,{modelle:l.modelle,rollen:s}),t[13]=l.modelle,t[14]=s,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat-Anfragen an llama-swap, gelesen aus seinem Protokoll und alle 10 Minuten neu gerechnet. NerdQuiz fragt direkt dort an, Lucy und OpenChamber über MC2. Antwortzeit: bis die Antwort ganz da war. Rechenzeit: alle Antwortzeiten zusammen, gleichzeitige Anfragen zählen einzeln.`}),t[16]=m):m=t[16];let h;return t[17]!==c||t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p?(h=(0,Z.jsxs)(c,{titel:u,rechts:d,children:[f,p,m]}),t[17]=c,t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=h):h=t[22],h}var Xe={coder:`Coder`};function Ze(e){let t=(0,Y.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=F(),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(null),[p,m]=(0,X.useState)(``),[h,_]=(0,X.useState)(null),v=(0,X.useRef)(!1),y,b;t[0]===c?(y=t[1],b=t[2]):(y=[`hf-suche`,c],b=()=>k(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=y,t[2]=b);let x=c.length>1,S;t[3]!==y||t[4]!==b||t[5]!==x?(S={queryKey:y,queryFn:b,enabled:x},t[3]=y,t[4]=b,t[5]=x,t[6]=S):S=t[6];let C=j(S),w,T;t[7]===u?(w=t[8],T=t[9]):(w=[`hf-quants`,u],T=()=>k(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=w,t[9]=T);let E=!!u,D;t[10]!==w||t[11]!==T||t[12]!==E?(D={queryKey:w,queryFn:T,enabled:E},t[10]=w,t[11]=T,t[12]=E,t[13]=D):D=t[13];let O=j(D),A,M,N,P,I,L,R,z,B,V,H,re,q;if(t[14]!==h||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==O.data||t[20]!==O.error||t[21]!==O.isError||t[22]!==O.isFetching||t[23]!==u||t[24]!==p||t[25]!==i||t[26]!==C){let e=(O.data?.quants??[]).map($e),c=p?Xe[p]??p:null,y;t[40]!==u||t[41]!==p||t[42]!==i||t[43]!==c?(y=c&&u?ae(u,c,i[p]):null,t[40]=u,t[41]=p,t[42]=i,t[43]=c,t[44]=y):y=t[44],N=y;let b;t[45]!==h||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==p?(b=function(){u&&h&&!v.current&&(v.current=!0,a.mutate({repo:u,quant:h.quant,rolle:p||null},{onSuccess:e=>{_(null),e.ok!==!1&&r()},onError:()=>_(null),onSettled:()=>{v.current=!1}}))},t[45]=h,t[46]=a,t[47]=r,t[48]=u,t[49]=p,t[50]=b):b=t[50],P=b,M=te,H=n,t[51]===r?re=t[52]:(re=e=>!e&&r(),t[51]=r,t[52]=re),A=K,R=`right`,z=`gap-3 overflow-y-auto border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,Z.jsxs)(G,{children:[(0,Z.jsx)(W,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,Z.jsx)(ee,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=B):B=t[53];let x;t[54]===o?x=t[55]:(x=e=>{e.preventDefault(),d(null),l(o.trim())},t[54]=o,t[55]=x);let S;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=S):S=t[56];let w;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>s(e.target.value),t[57]=w):w=t[57];let T;t[58]===o?T=t[59]:(T=(0,Z.jsx)(`input`,{id:`hf-suche`,value:o,onChange:w,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),t[58]=o,t[59]=T);let E;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(U,{type:`submit`,children:`Suchen`}),t[60]=E):E=t[60],t[61]!==x||t[62]!==T?(V=(0,Z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:x,children:[S,T,E]}),t[61]=x,t[62]=T,t[63]=V):V=t[63],q=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==C?(I=!u&&(0,Z.jsxs)(Z.Fragment,{children:[C.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!C.isFetching&&C.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,C.error.message]}),!C.isFetching&&C.data?.results.length===0&&(0,Z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),C.data?.results.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>d(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-linie py-2 text-left hover:text-cyan`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,Z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[f(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=C,t[66]=I):I=t[66],L=u&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>d(null),children:`Zurück`})]}),(0,Z.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,Z.jsxs)(`select`,{value:p,onChange:e=>m(e.target.value),className:`h-11 min-w-0 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,Z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(Xe).map(Qe)]})]}),N&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:N}),O.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!O.isFetching&&O.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,O.error.message]}),!O.isFetching&&O.data&&e.length===0&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:g(n,1)}):null,(0,Z.jsx)(U,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>_({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=h,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=O.data,t[20]=O.error,t[21]=O.isError,t[22]=O.isFetching,t[23]=u,t[24]=p,t[25]=i,t[26]=C,t[27]=A,t[28]=M,t[29]=N,t[30]=P,t[31]=I,t[32]=L,t[33]=R,t[34]=z,t[35]=B,t[36]=V,t[37]=H,t[38]=re,t[39]=q}else A=t[27],M=t[28],N=t[29],P=t[30],I=t[31],L=t[32],R=t[33],z=t[34],B=t[35],V=t[36],H=t[37],re=t[38],q=t[39];let J;t[67]!==I||t[68]!==L||t[69]!==q?(J=(0,Z.jsxs)(`div`,{className:q,children:[I,L]}),t[67]=I,t[68]=L,t[69]=q,t[70]=J):J=t[70];let oe=h!==null,Q;t[71]!==h||t[72]!==u?(Q=h&&u?`${u} (${h.quant}${h.bytes?`, ${g(h.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(h.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=h,t[72]=u,t[73]=Q):Q=t[73];let se=a.isPending?`Wird gestartet …`:`Installieren`,ce=a.isPending,le;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>_(null),t[74]=le):le=t[74];let ue;t[75]===N?ue=t[76]:(ue=N&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:N}),t[75]=N,t[76]=ue);let de=!!p,fe;t[77]===de?fe=t[78]:(fe=ie(de),t[77]=de,t[78]=fe);let pe;t[79]===fe?pe=t[80]:(pe=(0,Z.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:fe}),t[79]=fe,t[80]=pe);let me;t[81]!==a.isPending||t[82]!==P||t[83]!==oe||t[84]!==Q||t[85]!==se||t[86]!==ue||t[87]!==pe?(me=(0,Z.jsxs)(ne,{offen:oe,titel:`Modell installieren?`,text:Q,knopf:se,gesperrt:ce,onNein:le,onJa:P,children:[ue,pe]}),t[81]=a.isPending,t[82]=P,t[83]=oe,t[84]=Q,t[85]=se,t[86]=ue,t[87]=pe,t[88]=me):me=t[88];let he;t[89]!==A||t[90]!==R||t[91]!==z||t[92]!==B||t[93]!==V||t[94]!==J||t[95]!==me?(he=(0,Z.jsxs)(A,{side:R,className:z,children:[B,V,J,me]}),t[89]=A,t[90]=R,t[91]=z,t[92]=B,t[93]=V,t[94]=J,t[95]=me,t[96]=he):he=t[96];let ge;return t[97]!==M||t[98]!==H||t[99]!==re||t[100]!==he?(ge=(0,Z.jsx)(M,{open:H,onOpenChange:re,children:he}),t[97]=M,t[98]=H,t[99]=re,t[100]=he,t[101]=ge):ge=t[101],ge}function Qe(e){let[t,n]=e;return(0,Z.jsx)(`option`,{value:t,children:n},t)}function $e(e){return typeof e==`string`?{quant:e}:e}var et=115;function tt(e){let t=(0,Y.c)(55),{modelle:n,laufend:r}=e,i=b(),a=m(),o,s,c,l,u,d,f,p,g,_;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=h(i?.ram_total??a.data?.box.ram_total)??122.7,m=h(i?.ram_used??a.data?.box.ram_used)??0,v;t[15]===r?v=t[16]:(v=e=>r.includes(e.name),t[15]=r,t[16]=v);let y=n.filter(v).reduce(nt,0);s=Math.max(0,m-y);let b=t=>`${Math.min(100,t/e*100)}%`;o=E,p=`Speicher`,g=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(m),` von `,Math.round(e),` GB belegt · Grenze ~`,et,` GB`]});let x=`Speicher: ${Math.round(m)} von ${Math.round(e)} GB belegt`,S=b(m),C;t[17]===S?C=t[18]:(C={width:S},t[17]=S,t[18]=C);let w=`${m?y/m*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,Z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let D=`${m?s/m*100:0}%`,O;t[21]===D?O=t[22]:(O=(0,Z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:D}}),t[21]=D,t[22]=O);let k;t[23]!==C||t[24]!==T||t[25]!==O?(k=(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:C,children:[T,O]}),t[23]=C,t[24]=T,t[25]=O,t[26]=k):k=t[26];let A=b(et),j;t[27]===A?j=t[28]:(j=(0,Z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:A}}),t[27]=A,t[28]=j),t[29]!==x||t[30]!==k||t[31]!==j?(_=(0,Z.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":x,children:[k,j]}),t[29]=x,t[30]=k,t[31]=j,t[32]=_):_=t[32],f=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,d=Math.round(y),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=g,t[14]=_}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],g=t[13],_=t[14];let v;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==d?(v=(0,Z.jsxs)(`span`,{className:c,children:[l,u,d,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=d,t[38]=v):v=t[38];let y;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=y):y=t[39];let x;t[40]===s?x=t[41]:(x=Math.round(s),t[40]=s,t[41]=x);let S;t[42]===x?S=t[43]:(S=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[y,` Cache, Dienste, System: `,x,` GB`]}),t[42]=x,t[43]=S);let C;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=C):C=t[44];let w;t[45]!==S||t[46]!==f||t[47]!==v?(w=(0,Z.jsxs)(`div`,{className:f,children:[v,S,C]}),t[45]=S,t[46]=f,t[47]=v,t[48]=w):w=t[48];let T;return t[49]!==o||t[50]!==w||t[51]!==p||t[52]!==g||t[53]!==_?(T=(0,Z.jsxs)(o,{titel:p,rechts:g,children:[_,w]}),t[49]=o,t[50]=w,t[51]=p,t[52]=g,t[53]=_,t[54]=T):T=t[54],T}function nt(e,t){return e+(h(t.size_bytes)??0)}function rt(e){let t=(0,Y.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function it(e){let t=(0,Y.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=z();if(!r){let e;t[0]===n?e=t[1]:(e=(0,Z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(v,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-linie-stark p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,d;t[12]===n?d=t[13]:(d=(0,Z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,Z.jsx)(v,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let h;t[17]!==d||t[18]!==m?(h=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=h):h=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,Z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let y;t[22]===r.size_bytes?y=t[23]:(y=g(r.size_bytes),t[22]=r.size_bytes,t[23]=y);let b;t[24]===y?b=t[25]:(b=(0,Z.jsx)(rt,{name:`Größe`,wert:y}),t[24]=y,t[25]=b);let x=l?`${l}k`:`–`,S;t[26]===x?S=t[27]:(S=(0,Z.jsx)(rt,{name:`Kontext`,wert:x}),t[26]=x,t[27]=S);let C=u?`ja`:`nein`,w;t[28]===C?w=t[29]:(w=(0,Z.jsx)(rt,{name:`Bilder`,wert:C}),t[28]=C,t[29]=w);let T;t[30]!==S||t[31]!==w||t[32]!==b?(T=(0,Z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[b,S,w]}),t[30]=S,t[31]=w,t[32]=b,t[33]=T):T=t[33];let E=r.spec_active?` Mit Draft-Beschleunigung.`:``,D=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,O;t[34]!==o||t[35]!==E||t[36]!==D?(O=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,E,D]}),t[34]=o,t[35]=E,t[36]=D,t[37]=O):O=t[37];let k;t[38]!==s||t[39]!==a||t[40]!==r.name?(k=!a&&(0,Z.jsx)(U,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=k):k=t[41];let A;return t[42]!==T||t[43]!==O||t[44]!==k||t[45]!==h||t[46]!==_?(A=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[h,_,T,O,k]}),t[42]=T,t[43]=O,t[44]=k,t[45]=h,t[46]=_,t[47]=A):A=t[47],A}var at={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},ot={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function st(e){let t=(0,Y.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsxs)(`div`,{role:`row`,className:`schild grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-xs text-text-3`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`rounded-lg border border-linie bg-erhaben/50 px-3 py-2 text-sm`,children:[a,e.map(ct)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ct(e){let[t,n]=e;return(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,Z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${ot[n.urteil??``]??`text-text-2`}`,children:C(n.kandidat,n.einheit)}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:C(n.baseline,n.einheit)})]},t)}function lt(e){let t=(0,Y.c)(80),{k:n,test:r,heute:i}=e,a=N(),o=V(),[s,c]=(0,X.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,Z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,m;t[3]===p?m=t[4]:(m=(0,Z.jsx)(v,{art:`cyan`,children:p}),t[3]=p,t[4]=m);let h;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(h=n.groesse_gb!=null&&(0,Z.jsx)(v,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=h):h=t[8];let g=at[n.status]??`grau`,_=S[n.status]??n.status,y;t[9]!==g||t[10]!==_?(y=(0,Z.jsx)(v,{art:g,children:_}),t[9]=g,t[10]=_,t[11]=y):y=t[11];let b;t[12]!==f||t[13]!==m||t[14]!==h||t[15]!==y?(b=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,m,h,y]}),t[12]=f,t[13]=m,t[14]=h,t[15]=y,t[16]=b):b=t[16];let x;t[17]===n.groesse_gb?x=t[18]:(x=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=x);let C;t[19]!==n.begruendung||t[20]!==x?(C=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[x,n.begruendung]}),t[19]=n.begruendung,t[20]=x,t[21]=C):C=t[21];let w;t[22]!==n.status||t[23]!==r?(w=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,Z.jsx)(st,{test:r}),t[22]=n.status,t[23]=r,t[24]=w):w=t[24];let T;t[25]!==n.begruendung||t[26]!==n.testbar_grund?(T=n.testbar_grund&&!n.begruendung.startsWith(`Läuft gerade`)&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:n.testbar_grund}),t[25]=n.begruendung,t[26]=n.testbar_grund,t[27]=T):T=t[27];let E;t[28]!==a.isPending||t[29]!==n.status||t[30]!==n.testbar_jetzt||t[31]!==u||t[32]!==o.isPending?(E=u&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.testbar_jetzt&&(0,Z.jsx)(U,{variant:`info`,size:`sm`,disabled:o.isPending,onClick:()=>c(`testen`),children:`Jetzt testen`}),n.status===`bestanden`&&(0,Z.jsx)(U,{size:`sm`,disabled:a.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,Z.jsx)(U,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[28]=a.isPending,t[29]=n.status,t[30]=n.testbar_jetzt,t[31]=u,t[32]=o.isPending,t[33]=E):E=t[33];let D=s===`uebernehmen`,O=`${n.name} übernehmen?`,k=d?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,A;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>c(null),t[34]=A):A=t[34];let j;t[35]!==a||t[36]!==s||t[37]!==n.id||t[38]!==n.name?(j=()=>{s===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[35]=a,t[36]=s,t[37]=n.id,t[38]=n.name,t[39]=j):j=t[39];let M;t[40]!==a.isPending||t[41]!==D||t[42]!==O||t[43]!==k||t[44]!==j?(M=(0,Z.jsx)(ne,{offen:D,titel:O,text:k,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:A,onJa:j}),t[40]=a.isPending,t[41]=D,t[42]=O,t[43]=k,t[44]=j,t[45]=M):M=t[45];let P=s===`testen`,F=`${n.name} jetzt testen?`,I;t[46]===n.groesse_gb?I=t[47]:(I=n.groesse_gb==null?``:` (${n.groesse_gb.toLocaleString(`de-DE`)} GB)`,t[46]=n.groesse_gb,t[47]=I);let L=`Das Radar lädt ${n.name}${I} herunter, falls nötig, misst das heutige Modell der Rolle und dann den Kandidaten. Das dauert je nach Download eine halbe bis zwei Stunden. Solange antworten Lucy und NerdQuiz etwas langsamer; ein geladener Coder wird dafür entladen, und wird er währenddessen gebraucht, bricht der Test ab. Das Ergebnis kommt als Meldung; fällt der Kandidat durch, werden seine Dateien gelöscht.`,R;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>c(null),t[48]=R):R=t[48];let z;t[49]!==s||t[50]!==n.id||t[51]!==n.name||t[52]!==o?(z=()=>{s===`testen`&&(o.mutate({id:n.id,name:n.name}),c(null))},t[49]=s,t[50]=n.id,t[51]=n.name,t[52]=o,t[53]=z):z=t[53];let B;t[54]!==P||t[55]!==F||t[56]!==L||t[57]!==z||t[58]!==o.isPending?(B=(0,Z.jsx)(ne,{offen:P,titel:F,text:L,knopf:`Jetzt testen`,gesperrt:o.isPending,onNein:R,onJa:z}),t[54]=P,t[55]=F,t[56]=L,t[57]=z,t[58]=o.isPending,t[59]=B):B=t[59];let H=s===`verwerfen`,W=`${n.name} verwerfen?`,G;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>c(null),t[60]=G):G=t[60];let K;t[61]!==a||t[62]!==s||t[63]!==n.id||t[64]!==n.name?(K=()=>{s===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[61]=a,t[62]=s,t[63]=n.id,t[64]=n.name,t[65]=K):K=t[65];let ee;t[66]!==a.isPending||t[67]!==H||t[68]!==W||t[69]!==K?(ee=(0,Z.jsx)(ne,{offen:H,gefahr:!0,titel:W,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:G,onJa:K}),t[66]=a.isPending,t[67]=H,t[68]=W,t[69]=K,t[70]=ee):ee=t[70];let te;return t[71]!==C||t[72]!==w||t[73]!==T||t[74]!==E||t[75]!==M||t[76]!==B||t[77]!==ee||t[78]!==b?(te=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[b,C,w,T,E,M,B,ee]}),t[71]=C,t[72]=w,t[73]=T,t[74]=E,t[75]=M,t[76]=B,t[77]=ee,t[78]=b,t[79]=te):te=t[79],te}function ut(e){let t=(0,Y.c)(30),{hirn:n,coder:r}=e,i=P(),a=B(),o=I(),s=R(),c=o.data?.jobs,l=(c??[]).filter(ft).at(-1),d=a.data?.job_id,f;t[0]!==d||t[1]!==c?(f=!!d&&!!c&&!c.some(e=>e.id===d),t[0]=d,t[1]=c,t[2]=f):f=t[2];let p=f,m=a.isPending||p||l!==void 0&&w(l),h=(0,X.useRef)(m);if((0,X.useEffect)(()=>{h.current&&!m&&s.invalidateQueries({queryKey:[`radar`]}),h.current=m},[m,s]),i.isError&&!i.data){let e=i.error instanceof u&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,Z.jsx)(E,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let g=i.data,v=E,y;t[6]===a?y=t[7]:(y=()=>a.mutate(void 0),t[6]=a,t[7]=y);let b=m?`Sucht …`:`Jetzt suchen`,x;t[8]!==m||t[9]!==y||t[10]!==b?(x=(0,Z.jsx)(U,{variant:`info`,size:`sm`,onClick:y,disabled:m,children:b}),t[8]=m,t[9]=y,t[10]=b,t[11]=x):x=t[11];let S;t[12]===g?S=t[13]:(S=g?.naechster_test?` Nächster Test: ${_(g.naechster_test)}.`:``,t[12]=g,t[13]=S);let C=m?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,T;t[14]!==S||t[15]!==C?(T=(0,Z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche. Tagsüber geht es mit „Jetzt testen“, wenn der Kandidat samt Coder in den Speicher passt.`,S,C]}),t[14]=S,t[15]=C,t[16]=T):T=t[16];let D=!m&&l?.state===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,re(l)??`ohne Meldung`]}),O;t[17]!==r||t[18]!==g||t[19]!==n?(O=g?g.kandidaten.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:g.kandidaten.map(e=>(0,Z.jsx)(lt,{k:e,test:g.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=g,t[19]=n,t[20]=O):O=t[20];let k;t[21]===g?k=t[22]:(k=g&&g.tests.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),g.tests.slice(0,3).map(dt)]}),t[21]=g,t[22]=k);let A;return t[23]!==v||t[24]!==T||t[25]!==D||t[26]!==O||t[27]!==k||t[28]!==x?(A=(0,Z.jsxs)(v,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:x,children:[T,D,O,k]}),t[23]=v,t[24]=T,t[25]=D,t[26]=O,t[27]=k,t[28]=x,t[29]=A):A=t[29],A}function dt(e){return(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-text-3`,children:_(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ft(e){return e.group===`radar`}var pt=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function mt(e){let t=(0,Y.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(c,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=s);let l;t[5]!==o||t[6]!==s?(l=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`details`,{className:`group rounded-xl border border-linie bg-erhaben/40 px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ht(){let e=(0,Y.c)(37),t=y(),n=x(),[r,i]=(0,X.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(gt,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(vt,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,Z.jsxs)(E,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=E,o=`Aufräumen`,s=r.length>0?(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,Z.jsx)(mt,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,Z.jsx)(v,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let m=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,h;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>i(null),e[19]=h):h=e[19];let g;e[20]!==r||e[21]!==n?(g=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=g):g=e[22];let _;e[23]!==n.isPending||e[24]!==g||e[25]!==d||e[26]!==f||e[27]!==m?(_=(0,Z.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:m,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:h,onJa:g}),e[23]=n.isPending,e[24]=g,e[25]=d,e[26]=f,e[27]=m,e[28]=_):_=e[28];let b;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(vt,{}),e[29]=b):b=e[29];let S;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==_||e[34]!==c||e[35]!==l?(S=(0,Z.jsxs)(a,{titel:o,rechts:s,children:[c,l,_,b]}),e[30]=a,e[31]=o,e[32]=s,e[33]=_,e[34]=c,e[35]=l,e[36]=S):S=e[36],S}function gt(e,t){return e+t.groesse_gb}function _t(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function vt(){let e=(0,Y.c)(23),t=d(),n=H(),[r,i]=(0,X.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(yt,0);a=`flex flex-col gap-2`,o=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,Z.jsxs)(mt,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${_t(s)}`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-linie py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,Z.jsx)(v,{children:`Altrest`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,Z.jsx)(U,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let u=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,f;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>i(null),e[9]=f):f=e[9];let p;e[10]!==r||e[11]!==n?(p=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=p):p=e[12];let m;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==u||e[17]!==p?(m=(0,Z.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:u,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:f,onJa:p}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=u,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==a||e[20]!==o||e[21]!==m?(h=(0,Z.jsxs)(`div`,{className:a,children:[o,m]}),e[19]=a,e[20]=o,e[21]=m,e[22]=h):h=e[22],h}function yt(e,t){return e+t.groesse_bytes}function bt(){let e=(0,Y.c)(69),t=O(),n=M(),r=P(),i=I(),[a,o]=(0,X.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:wt},e[0]=s):s=e[0];let c=oe(s),u=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,d,f;if(e[1]!==u||e[2]!==c?(d=()=>{u&&c===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},f=[u,c],e[1]=u,e[2]=c,e[3]=d,e[4]=f):(d=e[3],f=e[4]),(0,X.useEffect)(d,f),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(p,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,Z.jsx)(p,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let m=t.data.models,h=t.data.running,v,y,b,x,S,C,w,T,D,k,A,j,N;if(e[8]!==h||e[9]!==m||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=m.find(Ct);y=m.find(St);let r;e[26]===m?r=e[27]:(r=(e,t)=>e?m.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[26]=m,e[27]=r);let i=r,a=i(t,`vision`);b=i(y,`coder-bild`);let s=m.filter(e=>![t,y,a,b].includes(e)),c;e[28]===n.data?.zuletzt_geladen?c=e[29]:(c=n.data?.zuletzt_geladen??{},e[28]=n.data?.zuletzt_geladen,e[29]=c);let u=c,d={};for(let[e,n]of[[t,`Hirn`],[y,`Coder`],[a,`Bild-Zwilling des Hirns`],[b,`Bild-Zwilling des Coders`]])e&&(d[e.name]=n);e[30]!==h||e[31]!==m?(j=(0,Z.jsx)(tt,{modelle:m,laufend:h}),e[30]=h,e[31]=m,e[32]=j):j=e[32],e[33]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Z.jsx)(q,{alsPanel:!0}),e[33]=N):N=e[33];let f;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(it,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[34]=f):f=e[34],x=(0,Z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,Z.jsx)(it,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&h.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,Z.jsx)(it,{titel:`Coder`,modell:y,zwilling:b,laeuft:!!y&&h.includes(y.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),f]}),S=(0,Z.jsx)(Ye,{nutzung:n.data,laedt:n.isPending,fehler:n.error?.message??null,rollen:d});let p=t?.name,O=y?.name;e[35]!==p||e[36]!==O?(C=(0,Z.jsx)(ut,{hirn:p,coder:O}),e[35]=p,e[36]=O,e[37]=C):C=e[37],v=E,D=`Weitere Einträge`,e[38]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(U,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,Z.jsx)(l,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[38]=k):k=e[38],A=s.length===0&&(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),w=`m-0 flex list-none flex-col p-0`;let M;e[39]!==h||e[40]!==u?(M=e=>(0,Z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:g(e.size_bytes)}),(0,Z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:h.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${_(u[e.name])}`:`länger nicht geladen`})]},e.name),e[39]=h,e[40]=u,e[41]=M):M=e[41],T=s.map(M),e[8]=h,e[9]=m,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=v,e[14]=y,e[15]=b,e[16]=x,e[17]=S,e[18]=C,e[19]=w,e[20]=T,e[21]=D,e[22]=k,e[23]=A,e[24]=j,e[25]=N}else v=e[13],y=e[14],b=e[15],x=e[16],S=e[17],C=e[18],w=e[19],T=e[20],D=e[21],k=e[22],A=e[23],j=e[24],N=e[25];let F;e[42]!==w||e[43]!==T?(F=(0,Z.jsx)(`ul`,{className:w,children:T}),e[42]=w,e[43]=T,e[44]=F):F=e[44];let L;e[45]!==v||e[46]!==F||e[47]!==D||e[48]!==k||e[49]!==A?(L=(0,Z.jsxs)(v,{titel:D,rechts:k,children:[A,F]}),e[45]=v,e[46]=F,e[47]=D,e[48]=k,e[49]=A,e[50]=L):L=e[50];let R;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,Z.jsx)(ht,{}),e[51]=R):R=e[51];let z;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>o(!1),e[52]=z):z=e[52];let B;e[53]!==y||e[54]!==b?(B=y?{name:y.name,zwilling:!!b,weitere:y.aliases.filter(xt)}:void 0,e[53]=y,e[54]=b,e[55]=B):B=e[55];let V;e[56]===B?V=e[57]:(V={coder:B},e[56]=B,e[57]=V);let H;e[58]!==a||e[59]!==V?(H=(0,Z.jsx)(Ze,{offen:a,onSchliessen:z,rollenJetzt:V}),e[58]=a,e[59]=V,e[60]=H):H=e[60];let W;return e[61]!==x||e[62]!==S||e[63]!==C||e[64]!==L||e[65]!==H||e[66]!==j||e[67]!==N?(W=(0,Z.jsxs)(Z.Fragment,{children:[j,N,x,S,C,L,R,H]}),e[61]=x,e[62]=S,e[63]=C,e[64]=L,e[65]=H,e[66]=j,e[67]=N,e[68]=W):W=e[68],W}function xt(e){return e.toLowerCase()!==`coder`}function St(e){return T(e)===`coder`}function Ct(e){return T(e)===`hirn`}function wt(e){return e.hash}export{lt as Kandidat,bt as ModelleSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Monitoring-D7SndtTk.js b/frontend/dist/assets/Monitoring-D7SndtTk.js new file mode 100644 index 0000000..ea52104 --- /dev/null +++ b/frontend/dist/assets/Monitoring-D7SndtTk.js @@ -0,0 +1 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{C as a,G as o,Vt as s,_ as c,at as l,b as u,c as d,et as f,g as p,h as m,l as h,ln as g,m as _,pt as v,u as y,v as b,y as x}from"./index-CIOHqG23.js";import{t as S}from"./breite-pBrnu3_s.js";var C=t(),ee=r(e(),1),w=n(),T={rechts:12,oben:10,unten:24};function E(e){let t=(0,C.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,s=a===void 0?180:a,[l,u]=S(),[d,f]=(0,ee.useState)(null),m,g,_,v,x,E,A,j;if(t[0]!==u||t[1]!==r||t[2]!==s||t[3]!==d||t[4]!==i||t[5]!==l||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,S=p(n.map(te),r),C=r===`prozent`?[0,25,50,75,100]:[0,S/2,S],ee=Math.max(40,Math.max(...C.map(e=>c(e,r).length))*7+12),M;t[16]===ee?M=t[17]:(M={...T,links:ee},t[16]=ee,t[17]=M);let N=M,P=u-N.links-T.rechts,F=s-T.oben-T.unten,I=e[0]?.[0]??0,L=e[a-1]?.[0]??1,R=e=>N.links+(L>I?(e-I)/(L-I)*P:0),z;t[18]!==F||t[19]!==S?(z=e=>T.oben+F-Math.min(e,S)/(S||1)*F,t[18]=F,t[19]=S,t[20]=z):z=t[20];let B=z,V=T.oben+F,ne=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],re;t[21]===n?re=t[22]:(re=n.some(k),t[21]=n,t[22]=re);let H=re,ie;t[23]===a?ie=t[24]:(ie=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));f(Math.round(n*(a-1)))},t[23]=a,t[24]=ie);let U=ie,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)f(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)f(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=d!==null&&e[d]?e[d][0]:null,K=G===null?0:R(G),oe=e.slice(-12);E=`flex flex-col gap-2`,t[27]===n?A=t[28]:(A=n.length>1&&(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(O)}),t[27]=n,t[28]=A);let q;t[29]===a?q=t[30]:(q=()=>f(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>f(null),t[31]=J):J=t[31];let Y;t[32]!==N.links||t[33]!==V||t[34]!==H||t[35]!==P||t[36]!==F||t[37]!==n||t[38]!==R||t[39]!==B?(Y=H?n.map(e=>(0,w.jsxs)(`g`,{children:[n.length===1&&(0,w.jsx)(`path`,{d:h(e.punkte,R,B,V),fill:e.farbe,opacity:.1}),(0,w.jsx)(`path`,{d:y(e.punkte,R,B),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,w.jsx)(`text`,{x:N.links+P/2,y:T.oben+F/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=N.links,t[33]=V,t[34]=H,t[35]=P,t[36]=F,t[37]=n,t[38]=R,t[39]=B,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>f(null),t[41]=se):se=t[41];let X;t[42]!==N.links||t[43]!==P||t[44]!==F||t[45]!==U?(X=(0,w.jsx)(`rect`,{x:N.links,y:T.oben,width:P,height:F,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=N.links,t[43]=P,t[44]=F,t[45]=U,t[46]=X):X=t[46];let ce=(0,w.jsxs)(`svg`,{width:u,height:s,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[C.map(e=>(0,w.jsxs)(`g`,{children:[(0,w.jsx)(`line`,{x1:N.links,x2:u-T.rechts,y1:B(e),y2:B(e),stroke:`var(--linie)`,strokeWidth:1}),(0,w.jsx)(`text`,{x:N.links-8,y:B(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:c(e,r)})]},e)),ne.map((e,t)=>(0,w.jsx)(`text`,{x:R(e),y:s-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===ne.length-1?`end`:`middle`,children:b(e,i)},e)),Y,G!==null&&(0,w.jsxs)(`g`,{"aria-hidden":!0,children:[(0,w.jsx)(`line`,{x1:R(G),x2:R(G),y1:T.oben,y2:V,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[d]?.[1];return t==null?null:(0,w.jsx)(`circle`,{cx:R(G),cy:B(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,w.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2 shadow-lg`,style:K>u/2?{right:u-K+10}:{left:K+10},children:[(0,w.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:b(G,!0)}),n.map(e=>(0,w.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,w.jsx)(`span`,{className:`font-semibold text-foreground`,children:c(e.punkte[d]?.[1],r)}),n.length>1&&(0,w.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==l||t[48]!==ce||t[49]!==Z?(j=(0,w.jsxs)(`div`,{ref:l,className:`relative w-full`,children:[ce,Z]}),t[47]=l,t[48]=ce,t[49]=Z,t[50]=j):j=t[50],v=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,w.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=x):x=t[51],g=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(D),t[53]=n,t[54]=$),t[55]===$?_=t[56]:(_=(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=_),m=oe.map((e,t)=>{let[o]=e;return(0,w.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:b(o,i)}),n.map(e=>(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:c(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=u,t[1]=r,t[2]=s,t[3]=d,t[4]=i,t[5]=l,t[6]=n,t[7]=o,t[8]=m,t[9]=g,t[10]=_,t[11]=v,t[12]=x,t[13]=E,t[14]=A,t[15]=j}else m=t[8],g=t[9],_=t[10],v=t[11],x=t[12],E=t[13],A=t[14],j=t[15];let M;t[57]===m?M=t[58]:(M=(0,w.jsx)(`tbody`,{children:m}),t[57]=m,t[58]=M);let N;t[59]!==M||t[60]!==g||t[61]!==_?(N=(0,w.jsxs)(`table`,{className:g,children:[_,M]}),t[59]=M,t[60]=g,t[61]=_,t[62]=N):N=t[62];let P;t[63]!==N||t[64]!==v||t[65]!==x?(P=(0,w.jsxs)(`details`,{className:v,children:[x,N]}),t[63]=N,t[64]=v,t[65]=x,t[66]=P):P=t[66];let F;return t[67]!==P||t[68]!==E||t[69]!==A||t[70]!==j?(F=(0,w.jsxs)(`div`,{className:E,children:[A,j,P]}),t[67]=P,t[68]=E,t[69]=A,t[70]=j,t[71]=F):F=t[71],F}function D(e){return(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function O(e){return(0,w.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function k(e){return e.punkte.some(A)}function A(e){let[,t]=e;return t!==null}function te(e){return e.punkte}var j=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function M(e){let t=(0,C.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=j.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,w.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function N(e){let t=(0,C.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,w.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,w.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var P=e=>j.find(t=>t.id===e)?.text??``;function F(){let e=(0,C.c)(97),[t,n]=(0,ee.useState)(`1h`),r=o(t),c=s(),l;e[0]===r.data?.reihen?l=e[1]:(l=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=l);let u=l,f;e[2]===r.data?.aktuell?f=e[3]:(f=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=f);let p=f,h=t===`7d`,g;e[4]!==p||e[5]!==u?(g=(e,t)=>e??p[t]??m(u[t]),e[4]=p,e[5]=u,e[6]=g):g=e[6];let _=g,v;e[7]===t?v=e[8]:(v=(0,w.jsx)(M,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=v);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=y):y=e[9];let b;e[10]===v?b=e[11]:(b=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[v,y]}),e[10]=v,e[11]=b);let S=c?.cpu,T;e[12]!==S||e[13]!==_?(T=_(S,`cpu`),e[12]=S,e[13]=_,e[14]=T):T=e[14];let D=c?.cpu,O;e[15]!==D||e[16]!==_?(O=x(_(D,`cpu`),85,95),e[15]=D,e[16]=_,e[17]=O):O=e[17];let k;e[18]===t?k=e[19]:(k=P(t),e[18]=t,e[19]=k);let A;e[20]!==k||e[21]!==T||e[22]!==O?(A=(0,w.jsx)(d,{label:`CPU`,wert:T,einheit:`prozent`,max:100,zustand:O,zeitraumText:k}),e[20]=k,e[21]=T,e[22]=O,e[23]=A):A=e[23];let te=c?.ram,j;e[24]!==te||e[25]!==_?(j=_(te,`ram`),e[24]=te,e[25]=_,e[26]=j):j=e[26];let F=c?.ram,I;e[27]!==F||e[28]!==_?(I=x(_(F,`ram`),85,95),e[27]=F,e[28]=_,e[29]=I):I=e[29];let L;e[30]===t?L=e[31]:(L=P(t),e[30]=t,e[31]=L);let R;e[32]!==j||e[33]!==I||e[34]!==L?(R=(0,w.jsx)(d,{label:`Speicher`,wert:j,einheit:`prozent`,max:100,zustand:I,zeitraumText:L}),e[32]=j,e[33]=I,e[34]=L,e[35]=R):R=e[35];let z=c?.gpu,B;e[36]!==z||e[37]!==_?(B=_(z,`gpu`),e[36]=z,e[37]=_,e[38]=B):B=e[38];let V;e[39]===t?V=e[40]:(V=P(t),e[39]=t,e[40]=V);let ne;e[41]!==B||e[42]!==V?(ne=(0,w.jsx)(d,{label:`GPU`,wert:B,einheit:`prozent`,max:100,zeitraumText:V}),e[41]=B,e[42]=V,e[43]=ne):ne=e[43];let re=c?.temp_cpu,H;e[44]!==re||e[45]!==_?(H=_(re,`temp_cpu`),e[44]=re,e[45]=_,e[46]=H):H=e[46];let ie=c?.temp_cpu,U;e[47]!==ie||e[48]!==_?(U=x(_(ie,`temp_cpu`),80,90),e[47]=ie,e[48]=_,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=P(t),e[50]=t,e[51]=W);let ae;e[52]!==H||e[53]!==U||e[54]!==W?(ae=(0,w.jsx)(d,{label:`CPU-Temp.`,wert:H,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=H,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=c?.temp_gpu,K;e[56]!==G||e[57]!==_?(K=_(G,`temp_gpu`),e[56]=G,e[57]=_,e[58]=K):K=e[58];let oe=c?.temp_gpu,q;e[59]!==oe||e[60]!==_?(q=x(_(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=_,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=P(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,w.jsx)(d,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=c?.disk,X;e[68]!==se||e[69]!==_?(X=_(se,`platte`),e[68]=se,e[69]=_,e[70]=X):X=e[70];let ce=c?.disk,Z;e[71]!==ce||e[72]!==_?(Z=x(_(ce,`platte`),80,90),e[71]=ce,e[72]=_,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=P(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,w.jsx)(d,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==A||e[81]!==R||e[82]!==ne||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[A,R,ne,ae,Y,$]}),e[80]=A,e[81]=R,e[82]=ne,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==h||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==u?(ue=r.isError&&!r.data?(0,w.jsx)(a,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,w.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(N,{titel:`CPU`,children:(0,w.jsx)(E,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`CPU`,punkte:u.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`Speicher`,children:(0,w.jsx)(E,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`Speicher`,punkte:u.ram??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`GPU`,children:(0,w.jsx)(E,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`GPU`,punkte:u.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`Temperatur`,children:(0,w.jsx)(E,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:h,reihen:[{name:`CPU`,punkte:u.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:u.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Netz`,children:(0,w.jsx)(E,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:h,reihen:[{name:`empfangen`,punkte:u.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:u.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Tokens pro Minute`,children:(0,w.jsx)(E,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:h,reihen:[{name:`Tokens`,punkte:u.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=h,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=u,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==b?(de=(0,w.jsxs)(w.Fragment,{children:[b,le,ue]}),e[93]=le,e[94]=ue,e[95]=b,e[96]=de):de=e[96],de}function I(e){let t=(0,C.c)(35),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]===n.name?s=t[1]:(s=(0,w.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[0]=n.name,t[1]=s);let c;t[2]===i.cpu?c=t[3]:(c=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[2]=i.cpu,t[3]=c);let l;t[4]===i.ram?l=t[5]:(l=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[4]=i.ram,t[5]=l);let u;t[6]===i.uptime_s?u=t[7]:(u=_(i.uptime_s),t[6]=i.uptime_s,t[7]=u);let d;t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,w.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,c,` · RAM `,l,` · läuft `,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==d?(f=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[s,d]}),t[12]=s,t[13]=d,t[14]=f):f=t[14];let p=`${n.name}: CPU und Speicher in Prozent`,m=r===`7d`,h;t[15]===n.reihen.cpu?h=t[16]:(h=n.reihen.cpu??[],t[15]=n.reihen.cpu,t[16]=h);let g;t[17]===h?g=t[18]:(g={name:`CPU`,punkte:h,farbe:`var(--reihe-1)`},t[17]=h,t[18]=g);let v;t[19]===n.reihen.ram?v=t[20]:(v=n.reihen.ram??[],t[19]=n.reihen.ram,t[20]=v);let y;t[21]===v?y=t[22]:(y={name:`Speicher`,punkte:v,farbe:`var(--reihe-2)`},t[21]=v,t[22]=y);let b;t[23]!==g||t[24]!==y?(b=[g,y],t[23]=g,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==m||t[27]!==b||t[28]!==p?(x=(0,w.jsx)(E,{titel:p,einheit:`prozent`,langerZeitraum:m,hoehe:140,reihen:b}),t[26]=m,t[27]=b,t[28]=p,t[29]=x):x=t[29];let S;return t[30]!==n.id||t[31]!==n.name||t[32]!==x||t[33]!==f?(S=(0,w.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[f,x]}),t[30]=n.id,t[31]=n.name,t[32]=x,t[33]=f,t[34]=S):S=t[34],S}function L(){let e=(0,C.c)(31),[t,n]=(0,ee.useState)(`1h`),r=l(),o=v(),s=r.data?.rolle===`homelab`||!!(o.data?.eingerichtet&&o.data.erreichbar),c=f(t,s),p;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(p={select:V},e[0]=p):p=e[0];let m=g(p),h,y;if(e[1]!==m||e[2]!==c.data?(h=()=>{m&&c.data&&document.getElementById(m)?.scrollIntoView({block:`start`})},y=[m,c.data],e[1]=m,e[2]=c.data,e[3]=h,e[4]=y):(h=e[3],y=e[4]),(0,ee.useEffect)(h,y),!s){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(a,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(c.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(a,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!c.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(a,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let b,S,T,D;if(e[8]!==c.data.geraete||e[9]!==c.isPlaceholderData||e[10]!==t){let r=c.data.geraete.find(B),a=c.data.geraete.filter(z),o=t===`7d`,s=r?.aktuell??{},l;e[15]===t?l=e[16]:(l=(0,w.jsx)(M,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=l);let f;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=f):f=e[17],e[18]===l?T=e[19]:(T=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[l,f]}),e[18]=l,e[19]=T),D=r&&(0,w.jsxs)(u,{titel:`Proxmox-Host`,rechts:(0,w.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,_(s.uptime_s),s.load1==null?``:` · Last ${s.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,w.jsx)(d,{label:`CPU`,wert:s.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:x(s.cpu??null,85,95),zeitraumText:P(t)}),(0,w.jsx)(d,{label:`Speicher`,wert:s.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:x(s.ram??null,90,95),zeitraumText:P(t)}),(0,w.jsx)(d,{label:`Temperatur`,wert:s.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:x(s.temp_cpu??null,80,90),zeitraumText:P(t)}),(0,w.jsx)(d,{label:`Systemplatte`,wert:s.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:x(s.platte??null,80,90),zeitraumText:P(t)})]}),(0,w.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,c.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(N,{titel:`CPU und Speicher`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Netz`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:o,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(R)??!1)&&(0,w.jsx)(N,{titel:`Temperatur`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let p=c.isPlaceholderData&&`opacity-70`;e[20]===p?b=e[21]:(b=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,p),e[20]=p,e[21]=b);let m;e[22]===t?m=e[23]:(m=e=>(0,w.jsx)(I,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=m),S=a.map(m),e[8]=c.data.geraete,e[9]=c.isPlaceholderData,e[10]=t,e[11]=b,e[12]=S,e[13]=T,e[14]=D}else b=e[11],S=e[12],T=e[13],D=e[14];let O;e[24]!==b||e[25]!==S?(O=(0,w.jsx)(`div`,{className:b,children:S}),e[24]=b,e[25]=S,e[26]=O):O=e[26];let k;return e[27]!==T||e[28]!==D||e[29]!==O?(k=(0,w.jsxs)(w.Fragment,{children:[T,D,O]}),e[27]=T,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}function R(e){let[,t]=e;return t!==null}function z(e){return e.art!==`proxmox-host`}function B(e){return e.art===`proxmox-host`}function V(e){return e.location.hash}export{F as BoxMonitoringSeite,L as HomelabMonitoringSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Monitoring-DWYmWbUq.js b/frontend/dist/assets/Monitoring-DWYmWbUq.js deleted file mode 100644 index 1faffdc..0000000 --- a/frontend/dist/assets/Monitoring-DWYmWbUq.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{$t as a,Mt as o,R as s,Z as c,at as l,c as u,d,f,g as p,l as m,n as h,p as g,q as _,r as v,s as y,t as b,u as x}from"./index-BwBSJspl.js";import{t as S}from"./breite-pBrnu3_s.js";var C=t(),ee=r(e(),1),w=n(),T={rechts:12,oben:10,unten:24};function E(e){let t=(0,C.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,s=a===void 0?180:a,[c,l]=S(),[u,f]=(0,ee.useState)(null),p,g,_,y,b,E,A,j;if(t[0]!==l||t[1]!==r||t[2]!==s||t[3]!==u||t[4]!==i||t[5]!==c||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,S=m(n.map(te),r),C=r===`prozent`?[0,25,50,75,100]:[0,S/2,S],ee=Math.max(40,Math.max(...C.map(e=>x(e,r).length))*7+12),M;t[16]===ee?M=t[17]:(M={...T,links:ee},t[16]=ee,t[17]=M);let N=M,P=l-N.links-T.rechts,F=s-T.oben-T.unten,I=e[0]?.[0]??0,L=e[a-1]?.[0]??1,R=e=>N.links+(L>I?(e-I)/(L-I)*P:0),z;t[18]!==F||t[19]!==S?(z=e=>T.oben+F-Math.min(e,S)/(S||1)*F,t[18]=F,t[19]=S,t[20]=z):z=t[20];let B=z,V=T.oben+F,ne=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],re;t[21]===n?re=t[22]:(re=n.some(k),t[21]=n,t[22]=re);let H=re,ie;t[23]===a?ie=t[24]:(ie=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));f(Math.round(n*(a-1)))},t[23]=a,t[24]=ie);let U=ie,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)f(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)f(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=u!==null&&e[u]?e[u][0]:null,K=G===null?0:R(G),oe=e.slice(-12);E=`flex flex-col gap-2`,t[27]===n?A=t[28]:(A=n.length>1&&(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(O)}),t[27]=n,t[28]=A);let q;t[29]===a?q=t[30]:(q=()=>f(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>f(null),t[31]=J):J=t[31];let Y;t[32]!==N.links||t[33]!==V||t[34]!==H||t[35]!==P||t[36]!==F||t[37]!==n||t[38]!==R||t[39]!==B?(Y=H?n.map(e=>(0,w.jsxs)(`g`,{children:[n.length===1&&(0,w.jsx)(`path`,{d:h(e.punkte,R,B,V),fill:e.farbe,opacity:.1}),(0,w.jsx)(`path`,{d:v(e.punkte,R,B),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,w.jsx)(`text`,{x:N.links+P/2,y:T.oben+F/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=N.links,t[33]=V,t[34]=H,t[35]=P,t[36]=F,t[37]=n,t[38]=R,t[39]=B,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>f(null),t[41]=se):se=t[41];let X;t[42]!==N.links||t[43]!==P||t[44]!==F||t[45]!==U?(X=(0,w.jsx)(`rect`,{x:N.links,y:T.oben,width:P,height:F,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=N.links,t[43]=P,t[44]=F,t[45]=U,t[46]=X):X=t[46];let ce=(0,w.jsxs)(`svg`,{width:l,height:s,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[C.map(e=>(0,w.jsxs)(`g`,{children:[(0,w.jsx)(`line`,{x1:N.links,x2:l-T.rechts,y1:B(e),y2:B(e),stroke:`var(--linie)`,strokeWidth:1}),(0,w.jsx)(`text`,{x:N.links-8,y:B(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:x(e,r)})]},e)),ne.map((e,t)=>(0,w.jsx)(`text`,{x:R(e),y:s-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===ne.length-1?`end`:`middle`,children:d(e,i)},e)),Y,G!==null&&(0,w.jsxs)(`g`,{"aria-hidden":!0,children:[(0,w.jsx)(`line`,{x1:R(G),x2:R(G),y1:T.oben,y2:V,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[u]?.[1];return t==null?null:(0,w.jsx)(`circle`,{cx:R(G),cy:B(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,w.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-lg border border-linie-stark bg-erhaben px-3 py-2 shadow-lg`,style:K>l/2?{right:l-K+10}:{left:K+10},children:[(0,w.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:d(G,!0)}),n.map(e=>(0,w.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,w.jsx)(`span`,{className:`font-semibold text-foreground`,children:x(e.punkte[u]?.[1],r)}),n.length>1&&(0,w.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==c||t[48]!==ce||t[49]!==Z?(j=(0,w.jsxs)(`div`,{ref:c,className:`relative w-full`,children:[ce,Z]}),t[47]=c,t[48]=ce,t[49]=Z,t[50]=j):j=t[50],y=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,w.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=b):b=t[51],g=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(D),t[53]=n,t[54]=$),t[55]===$?_=t[56]:(_=(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=_),p=oe.map((e,t)=>{let[o]=e;return(0,w.jsxs)(`tr`,{className:`border-t border-linie`,children:[(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:d(o,i)}),n.map(e=>(0,w.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:x(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=l,t[1]=r,t[2]=s,t[3]=u,t[4]=i,t[5]=c,t[6]=n,t[7]=o,t[8]=p,t[9]=g,t[10]=_,t[11]=y,t[12]=b,t[13]=E,t[14]=A,t[15]=j}else p=t[8],g=t[9],_=t[10],y=t[11],b=t[12],E=t[13],A=t[14],j=t[15];let M;t[57]===p?M=t[58]:(M=(0,w.jsx)(`tbody`,{children:p}),t[57]=p,t[58]=M);let N;t[59]!==M||t[60]!==g||t[61]!==_?(N=(0,w.jsxs)(`table`,{className:g,children:[_,M]}),t[59]=M,t[60]=g,t[61]=_,t[62]=N):N=t[62];let P;t[63]!==N||t[64]!==y||t[65]!==b?(P=(0,w.jsxs)(`details`,{className:y,children:[b,N]}),t[63]=N,t[64]=y,t[65]=b,t[66]=P):P=t[66];let F;return t[67]!==P||t[68]!==E||t[69]!==A||t[70]!==j?(F=(0,w.jsxs)(`div`,{className:E,children:[A,j,P]}),t[67]=P,t[68]=E,t[69]=A,t[70]=j,t[71]=F):F=t[71],F}function D(e){return(0,w.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function O(e){return(0,w.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function k(e){return e.punkte.some(A)}function A(e){let[,t]=e;return t!==null}function te(e){return e.punkte}var j=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function M(e){let t=(0,C.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=j.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-linie text-text-2 hover:border-linie-stark hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,w.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function N(e){let t=(0,C.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,w.jsx)(`h3`,{className:`schild text-sm tracking-[0.18em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,w.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var P=e=>j.find(t=>t.id===e)?.text??``;function F(){let e=(0,C.c)(97),[t,n]=(0,ee.useState)(`1h`),r=s(t),a=o(),c;e[0]===r.data?.reihen?c=e[1]:(c=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=c);let l=c,d;e[2]===r.data?.aktuell?d=e[3]:(d=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=d);let m=d,h=t===`7d`,g;e[4]!==m||e[5]!==l?(g=(e,t)=>e??m[t]??u(l[t]),e[4]=m,e[5]=l,e[6]=g):g=e[6];let _=g,v;e[7]===t?v=e[8]:(v=(0,w.jsx)(M,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=v);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=y):y=e[9];let x;e[10]===v?x=e[11]:(x=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[v,y]}),e[10]=v,e[11]=x);let S=a?.cpu,T;e[12]!==S||e[13]!==_?(T=_(S,`cpu`),e[12]=S,e[13]=_,e[14]=T):T=e[14];let D=a?.cpu,O;e[15]!==D||e[16]!==_?(O=f(_(D,`cpu`),85,95),e[15]=D,e[16]=_,e[17]=O):O=e[17];let k;e[18]===t?k=e[19]:(k=P(t),e[18]=t,e[19]=k);let A;e[20]!==k||e[21]!==T||e[22]!==O?(A=(0,w.jsx)(b,{label:`CPU`,wert:T,einheit:`prozent`,max:100,zustand:O,zeitraumText:k}),e[20]=k,e[21]=T,e[22]=O,e[23]=A):A=e[23];let te=a?.ram,j;e[24]!==te||e[25]!==_?(j=_(te,`ram`),e[24]=te,e[25]=_,e[26]=j):j=e[26];let F=a?.ram,I;e[27]!==F||e[28]!==_?(I=f(_(F,`ram`),85,95),e[27]=F,e[28]=_,e[29]=I):I=e[29];let L;e[30]===t?L=e[31]:(L=P(t),e[30]=t,e[31]=L);let R;e[32]!==j||e[33]!==I||e[34]!==L?(R=(0,w.jsx)(b,{label:`Speicher`,wert:j,einheit:`prozent`,max:100,zustand:I,zeitraumText:L}),e[32]=j,e[33]=I,e[34]=L,e[35]=R):R=e[35];let z=a?.gpu,B;e[36]!==z||e[37]!==_?(B=_(z,`gpu`),e[36]=z,e[37]=_,e[38]=B):B=e[38];let V;e[39]===t?V=e[40]:(V=P(t),e[39]=t,e[40]=V);let ne;e[41]!==B||e[42]!==V?(ne=(0,w.jsx)(b,{label:`GPU`,wert:B,einheit:`prozent`,max:100,zeitraumText:V}),e[41]=B,e[42]=V,e[43]=ne):ne=e[43];let re=a?.temp_cpu,H;e[44]!==re||e[45]!==_?(H=_(re,`temp_cpu`),e[44]=re,e[45]=_,e[46]=H):H=e[46];let ie=a?.temp_cpu,U;e[47]!==ie||e[48]!==_?(U=f(_(ie,`temp_cpu`),80,90),e[47]=ie,e[48]=_,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=P(t),e[50]=t,e[51]=W);let ae;e[52]!==H||e[53]!==U||e[54]!==W?(ae=(0,w.jsx)(b,{label:`CPU-Temp.`,wert:H,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=H,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=a?.temp_gpu,K;e[56]!==G||e[57]!==_?(K=_(G,`temp_gpu`),e[56]=G,e[57]=_,e[58]=K):K=e[58];let oe=a?.temp_gpu,q;e[59]!==oe||e[60]!==_?(q=f(_(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=_,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=P(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,w.jsx)(b,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=a?.disk,X;e[68]!==se||e[69]!==_?(X=_(se,`platte`),e[68]=se,e[69]=_,e[70]=X):X=e[70];let ce=a?.disk,Z;e[71]!==ce||e[72]!==_?(Z=f(_(ce,`platte`),80,90),e[71]=ce,e[72]=_,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=P(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,w.jsx)(b,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==A||e[81]!==R||e[82]!==ne||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[A,R,ne,ae,Y,$]}),e[80]=A,e[81]=R,e[82]=ne,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==h||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==l?(ue=r.isError&&!r.data?(0,w.jsx)(p,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,w.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(N,{titel:`CPU`,children:(0,w.jsx)(E,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`CPU`,punkte:l.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`Speicher`,children:(0,w.jsx)(E,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`Speicher`,punkte:l.ram??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`GPU`,children:(0,w.jsx)(E,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:h,reihen:[{name:`GPU`,punkte:l.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,w.jsx)(N,{titel:`Temperatur`,children:(0,w.jsx)(E,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:h,reihen:[{name:`CPU`,punkte:l.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:l.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Netz`,children:(0,w.jsx)(E,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:h,reihen:[{name:`empfangen`,punkte:l.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:l.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Tokens pro Minute`,children:(0,w.jsx)(E,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:h,reihen:[{name:`Tokens`,punkte:l.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=h,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=l,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==x?(de=(0,w.jsxs)(w.Fragment,{children:[x,le,ue]}),e[93]=le,e[94]=ue,e[95]=x,e[96]=de):de=e[96],de}function I(e){let t=(0,C.c)(35),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]===n.name?s=t[1]:(s=(0,w.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[0]=n.name,t[1]=s);let c;t[2]===i.cpu?c=t[3]:(c=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[2]=i.cpu,t[3]=c);let l;t[4]===i.ram?l=t[5]:(l=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[4]=i.ram,t[5]=l);let u;t[6]===i.uptime_s?u=t[7]:(u=y(i.uptime_s),t[6]=i.uptime_s,t[7]=u);let d;t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,w.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,c,` · RAM `,l,` · läuft `,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==d?(f=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[s,d]}),t[12]=s,t[13]=d,t[14]=f):f=t[14];let p=`${n.name}: CPU und Speicher in Prozent`,m=r===`7d`,h;t[15]===n.reihen.cpu?h=t[16]:(h=n.reihen.cpu??[],t[15]=n.reihen.cpu,t[16]=h);let g;t[17]===h?g=t[18]:(g={name:`CPU`,punkte:h,farbe:`var(--reihe-1)`},t[17]=h,t[18]=g);let _;t[19]===n.reihen.ram?_=t[20]:(_=n.reihen.ram??[],t[19]=n.reihen.ram,t[20]=_);let v;t[21]===_?v=t[22]:(v={name:`Speicher`,punkte:_,farbe:`var(--reihe-2)`},t[21]=_,t[22]=v);let b;t[23]!==g||t[24]!==v?(b=[g,v],t[23]=g,t[24]=v,t[25]=b):b=t[25];let x;t[26]!==m||t[27]!==b||t[28]!==p?(x=(0,w.jsx)(E,{titel:p,einheit:`prozent`,langerZeitraum:m,hoehe:140,reihen:b}),t[26]=m,t[27]=b,t[28]=p,t[29]=x):x=t[29];let S;return t[30]!==n.id||t[31]!==n.name||t[32]!==x||t[33]!==f?(S=(0,w.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 rounded-2xl border border-linie bg-panel p-4 sm:p-5`,children:[f,x]}),t[30]=n.id,t[31]=n.name,t[32]=x,t[33]=f,t[34]=S):S=t[34],S}function L(){let e=(0,C.c)(31),[t,n]=(0,ee.useState)(`1h`),r=c(),o=l(),s=r.data?.rolle===`homelab`||!!(o.data?.eingerichtet&&o.data.erreichbar),u=_(t,s),d;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(d={select:V},e[0]=d):d=e[0];let m=a(d),h,v;if(e[1]!==m||e[2]!==u.data?(h=()=>{m&&u.data&&document.getElementById(m)?.scrollIntoView({block:`start`})},v=[m,u.data],e[1]=m,e[2]=u.data,e[3]=h,e[4]=v):(h=e[3],v=e[4]),(0,ee.useEffect)(h,v),!s){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(p,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(u.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(p,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!u.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(p,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let x,S,T,D;if(e[8]!==u.data.geraete||e[9]!==u.isPlaceholderData||e[10]!==t){let r=u.data.geraete.find(B),a=u.data.geraete.filter(z),o=t===`7d`,s=r?.aktuell??{},c;e[15]===t?c=e[16]:(c=(0,w.jsx)(M,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=c);let l;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,w.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=l):l=e[17],e[18]===c?T=e[19]:(T=(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[c,l]}),e[18]=c,e[19]=T),D=r&&(0,w.jsxs)(g,{titel:`Proxmox-Host`,rechts:(0,w.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,y(s.uptime_s),s.load1==null?``:` · Last ${s.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,w.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,w.jsx)(b,{label:`CPU`,wert:s.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:f(s.cpu??null,85,95),zeitraumText:P(t)}),(0,w.jsx)(b,{label:`Speicher`,wert:s.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:f(s.ram??null,90,95),zeitraumText:P(t)}),(0,w.jsx)(b,{label:`Temperatur`,wert:s.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:f(s.temp_cpu??null,80,90),zeitraumText:P(t)}),(0,w.jsx)(b,{label:`Systemplatte`,wert:s.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:f(s.platte??null,80,90),zeitraumText:P(t)})]}),(0,w.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,u.isPlaceholderData&&`opacity-70`),children:[(0,w.jsx)(N,{titel:`CPU und Speicher`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,w.jsx)(N,{titel:`Netz`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:o,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(R)??!1)&&(0,w.jsx)(N,{titel:`Temperatur`,children:(0,w.jsx)(E,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:o,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let d=u.isPlaceholderData&&`opacity-70`;e[20]===d?x=e[21]:(x=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,d),e[20]=d,e[21]=x);let p;e[22]===t?p=e[23]:(p=e=>(0,w.jsx)(I,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=p),S=a.map(p),e[8]=u.data.geraete,e[9]=u.isPlaceholderData,e[10]=t,e[11]=x,e[12]=S,e[13]=T,e[14]=D}else x=e[11],S=e[12],T=e[13],D=e[14];let O;e[24]!==x||e[25]!==S?(O=(0,w.jsx)(`div`,{className:x,children:S}),e[24]=x,e[25]=S,e[26]=O):O=e[26];let k;return e[27]!==T||e[28]!==D||e[29]!==O?(k=(0,w.jsxs)(w.Fragment,{children:[T,D,O]}),e[27]=T,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}function R(e){let[,t]=e;return t!==null}function z(e){return e.art!==`proxmox-host`}function B(e){return e.art===`proxmox-host`}function V(e){return e.location.hash}export{F as BoxMonitoringSeite,L as HomelabMonitoringSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Protokollfenster-DEE9rd7F.js b/frontend/dist/assets/Protokollfenster-Ch6xrwBe.js similarity index 94% rename from frontend/dist/assets/Protokollfenster-DEE9rd7F.js rename to frontend/dist/assets/Protokollfenster-Ch6xrwBe.js index 84a5021..9966c4e 100644 --- a/frontend/dist/assets/Protokollfenster-DEE9rd7F.js +++ b/frontend/dist/assets/Protokollfenster-Ch6xrwBe.js @@ -1 +1 @@ -import{n as e,r as t}from"./dist-D4CVSex9.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-qFYCDrLr.js";var s=e(),c=t();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`schild text-lg`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file +import{n as e,r as t}from"./dist-D4CVSex9.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-DU78qfp_.js";var s=e(),c=t();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`schild text-lg`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg border border-linie bg-[#0b0d0f] p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-linie bg-panel data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file diff --git a/frontend/dist/assets/Start-BicB1Gxf.js b/frontend/dist/assets/Start-BicB1Gxf.js new file mode 100644 index 0000000..ab2f0dc --- /dev/null +++ b/frontend/dist/assets/Start-BicB1Gxf.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-Ch6xrwBe.js","assets/dist-D4CVSex9.js","assets/sheet-DU78qfp_.js","assets/index-CIOHqG23.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/index-h0yYjQNz.css","assets/button-D8rvET0Z.js","assets/dist-B2n2wafq.js","assets/Bestaetigen-D6CzMfJm.js"])))=>i.map(i=>d[i]); +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{C as a,Et as o,Ft as s,Gt as c,Ht as l,It as u,Jt as d,Lt as f,Qt as p,Rt as m,S as h,Ut as g,Vt as _,Wt as v,Y as y,b,ht as x,qt as S,tn as C,un as w,w as T,x as E,zt as D}from"./index-CIOHqG23.js";import{t as O}from"./button-D8rvET0Z.js";import{t as k}from"./Lampe-gSQfYg4e.js";var A=t(),j=r(e(),1),M=n(),N=(0,j.lazy)(()=>T(()=>import(`./Protokollfenster-Ch6xrwBe.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),P=(0,j.lazy)(()=>T(()=>import(`./Bestaetigen-D6CzMfJm.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function F({h:e}){let t=y(),[n,r]=(0,j.useState)(null),[a,o]=(0,j.useState)(null),s=e.stufe===`rot`,c=a?d(e,a):null;async function u(){try{let t=await C(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){l(`fehler`,e.message)}}function f(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function p(t){t.id===`protokoll`?u():d(e,t)?o(t):f(t)}return(0,M.jsxs)(`article`,{className:`flex flex-col gap-2.5 border-t border-linie pt-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`min-w-0 font-sans text-[17px] leading-snug font-semibold`,children:e.titel}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-0 flex-grow border-b-2 border-dotted border-linie-stark sm:block`}),(0,M.jsx)(`span`,{className:i(`schild shrink-0 text-base`,s?`text-rot`:`text-bernstein`),children:s?`Jetzt`:`Prüfen`})]}),(0,M.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[m(e.seit),` · zuletzt `,D(e.zuletzt)]}),e.text&&(0,M.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,M.jsx)(O,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>p(e),children:e.label},e.id))}),n&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(N,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),a&&c&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(P,{offen:!0,titel:c.titel,text:c.text,knopf:c.knopf,gesperrt:t.isPending,onNein:()=>o(null),onJa:()=>{f(a),o(null)}})})]})}function I(e){let t=(0,A.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,M.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(R)}),r;t[6]===n?r=t[7]:(r=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-linie pt-4`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(L),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:s}),t[10]=s,t[11]=c),c}function L(e){return(0,M.jsx)(F,{h:e},e.id)}function R(e){return(0,M.jsxs)(`li`,{children:[(0,M.jsx)(`span`,{className:`ziffern`,children:D(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}function z(e){let t=(0,A.c)(25),{anteil:n,farbe:r,zonen:i,mitte:a,unter:o,beschriftung:s,ariaText:l}=e,u=r===void 0?`var(--cyan)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsx)(`path`,{d:c(0,1,75),fill:`none`,stroke:`var(--linie)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(B),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==u||t[7]!==p?(g=p&&(0,M.jsx)(`path`,{d:c(0,n,75),fill:`none`,stroke:u,strokeWidth:12,strokeLinecap:`round`}),t[5]=n,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontSize:34,fontWeight:500,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===a?v=t[11]:(v=(0,M.jsx)(`text`,{x:`100`,y:`100`,textAnchor:`middle`,className:`ziffern`,style:_,children:a}),t[10]=a,t[11]=v);let y;t[12]===o?y=t[13]:(y=o&&(0,M.jsx)(`text`,{x:`100`,y:`122`,textAnchor:`middle`,style:{fontFamily:`var(--font-anzeige)`,fontSize:14,fontWeight:600,letterSpacing:`0.12em`,fill:`var(--text-3)`},children:o.toUpperCase()}),t[12]=o,t[13]=y);let b;t[14]!==l||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(b=(0,M.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":l,children:[m,h,g,v,y]}),t[14]=l,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===s?x=t[21]:(x=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:s}),t[20]=s,t[21]=x);let S;return t[22]!==b||t[23]!==x?(S=(0,M.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[b,x]}),t[22]=b,t[23]=x,t[24]=S):S=t[24],S}function B(e){return(0,M.jsx)(`path`,{d:c(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function V(e){let t=(0,A.c)(26),{zustand:n,lampen:r,onAnsehen:a}=e,o;t[0]===n?o=t[1]:(o=S(n),t[0]=n,t[1]=o);let s=o,c=s.art===`gelb`||s.art===`rot`,l=!c,u=`${s.oben} ${s.mitte}`,d=g[s.art],f=c?`cursor-pointer`:`cursor-default`,p;t[2]!==d||t[3]!==f?(p=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,d,f),t[2]=d,t[3]=f,t[4]=p):p=t[4];let m;t[5]===s.oben?m=t[6]:(m=(0,M.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:s.oben}),t[5]=s.oben,t[6]=m);let h;t[7]===s.mitte?h=t[8]:(h=(0,M.jsx)(`span`,{className:`text-[40px] leading-none font-bold tracking-[0.04em] sm:text-[44px]`,children:s.mitte}),t[7]=s.mitte,t[8]=h);let _;t[9]===s.unten?_=t[10]:(_=(0,M.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:s.unten}),t[9]=s.unten,t[10]=_);let v;t[11]!==a||t[12]!==l||t[13]!==u||t[14]!==p||t[15]!==m||t[16]!==h||t[17]!==_?(v=(0,M.jsxs)(`button`,{type:`button`,onClick:a,disabled:l,"aria-label":u,className:p,children:[m,h,_]}),t[11]=a,t[12]=l,t[13]=u,t[14]=p,t[15]=m,t[16]=h,t[17]=_,t[18]=v):v=t[18];let y;t[19]===r?y=t[20]:(y=r.map(H),t[19]=r,t[20]=y);let b;t[21]===y?b=t[22]:(b=(0,M.jsx)(`ul`,{className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:y}),t[21]=y,t[22]=b);let x;return t[23]!==v||t[24]!==b?(x=(0,M.jsxs)(`section`,{"aria-label":`Warnpanel`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[v,b]}),t[23]=v,t[24]=b,t[25]=x):x=t[25],x}function H(e){return(0,M.jsx)(k,{lampe:e},e.id)}function U(e){let t=(0,A.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,M.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-md border border-[#2a3036] bg-[#0b0d0f] font-medium`,children:n}),t[0]=n,t[1]=r),r}function W(e){let t=(0,A.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=f(n),t[0]=n,t[1]=r);let i=r,a=String(Math.min(i?.[0]??0,99)),o;t[2]===a?o=t[3]:(o=a.padStart(2,`0`),t[2]=a,t[3]=o);let s=o,c=String(i?.[1]??0),l;t[4]===c?l=t[5]:(l=c.padStart(2,`0`),t[4]=c,t[5]=l);let u=l,d=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,p=i?s[0]:`–`,m;t[6]===p?m=t[7]:(m=(0,M.jsx)(U,{z:p}),t[6]=p,t[7]=m);let h=i?s[1]:`–`,g;t[8]===h?g=t[9]:(g=(0,M.jsx)(U,{z:h}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,M.jsx)(`span`,{className:`schild mr-[0.444em] ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`T`}),t[10]=_):_=t[10];let v=i?u[0]:`–`,y;t[11]===v?y=t[12]:(y=(0,M.jsx)(U,{z:v}),t[11]=v,t[12]=y);let b=i?u[1]:`–`,x;t[13]===b?x=t[14]:(x=(0,M.jsx)(U,{z:b}),t[13]=b,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,M.jsx)(`span`,{className:`schild ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`H`}),t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==x||t[18]!==m||t[19]!==g||t[20]!==d?(C=(0,M.jsxs)(`div`,{"aria-label":d,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[m,g,_,y,x,S]}),t[16]=y,t[17]=x,t[18]=m,t[19]=g,t[20]=d,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,M.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function G(e){let t=(0,A.c)(47),{box:n}=e,r=_(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,o=r?.temp_cpu??n.temp_cpu,c=r?.temp_gpu??n.temp_gpu,l=n.platte,d=r?.uptime_s??n.uptime_s,f=i!=null&&a?i/a:null,m;t[0]===i?m=t[1]:(m=i==null?`–`:String(Math.round(s(i)??0)),t[0]=i,t[1]=m);let h;t[2]===a?h=t[3]:(h=a?`von ${Math.round(s(a)??0)} GB`:void 0,t[2]=a,t[3]=h);let g;t[4]!==f||t[5]!==i||t[6]!==a?(g=f==null?`Speicher unbekannt`:`Speicher: ${u(i)} von ${u(a)} belegt`,t[4]=f,t[5]=i,t[6]=a,t[7]=g):g=t[7];let v;t[8]!==f||t[9]!==m||t[10]!==h||t[11]!==g?(v=(0,M.jsx)(z,{beschriftung:`Speicher`,anteil:f,mitte:m,unter:h,ariaText:g}),t[8]=f,t[9]=m,t[10]=h,t[11]=g,t[12]=v):v=t[12];let y=o==null?null:o/100,b;t[13]===o?b=t[14]:(b=p(o),t[13]=o,t[14]=b);let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[15]=x):x=t[15];let S;t[16]===o?S=t[17]:(S=o==null?`–`:`${Math.round(o)}°`,t[16]=o,t[17]=S);let C;t[18]===c?C=t[19]:(C=c==null?void 0:`GPU ${Math.round(c)}°`,t[18]=c,t[19]=C);let w;t[20]===o?w=t[21]:(w=o==null?`Temperatur unbekannt`:`Temperatur ${Math.round(o)} Grad`,t[20]=o,t[21]=w);let T;t[22]!==w||t[23]!==y||t[24]!==b||t[25]!==S||t[26]!==C?(T=(0,M.jsx)(z,{beschriftung:`Temperatur`,anteil:y,farbe:b,zonen:x,mitte:S,unter:C,ariaText:w}),t[22]=w,t[23]=y,t[24]=b,t[25]=S,t[26]=C,t[27]=T):T=t[27];let E=l?l.percent/100:null,D=l&&l.percent>=90?`var(--rot)`:l&&l.percent>=80?`var(--bernstein)`:`var(--cyan)`,O;t[28]===l?O=t[29]:(O=l?`${Math.round(l.percent)}%`:`–`,t[28]=l,t[29]=O);let k;t[30]===l?k=t[31]:(k=l?`${u(l.used)} / ${u(l.total)}`:void 0,t[30]=l,t[31]=k);let j;t[32]===l?j=t[33]:(j=l?`Platte zu ${Math.round(l.percent)} Prozent belegt`:`Platte unbekannt`,t[32]=l,t[33]=j);let N;t[34]!==E||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==j?(N=(0,M.jsx)(z,{beschriftung:`Platte`,anteil:E,farbe:D,mitte:O,unter:k,ariaText:j}),t[34]=E,t[35]=D,t[36]=O,t[37]=k,t[38]=j,t[39]=N):N=t[39];let P;t[40]===d?P=t[41]:(P=(0,M.jsx)(W,{sekunden:d}),t[40]=d,t[41]=P);let F;return t[42]!==T||t[43]!==N||t[44]!==P||t[45]!==v?(F=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`grid grid-cols-2 gap-x-4 gap-y-6 rounded-2xl border border-linie bg-panel px-4 py-5 lg:grid-cols-4 lg:px-6`,children:[v,T,N,P]}),t[42]=T,t[43]=N,t[44]=P,t[45]=v,t[46]=F):F=t[46],F}var K={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function q(e){let t=(0,A.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(Y),i=r.find(J)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,s;t[3]!==r.length||t[4]!==o?(s=(0,M.jsxs)(`span`,{className:`schild text-sm text-cyan`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=a?(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,M.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,M.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,M.jsx)(h,{art:K[a.status]??`grau`,children:v[a.status]??a.status})]}):(0,M.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=c);let l;t[8]!==s||t[9]!==c?(l=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[s,c]}),t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,M.jsx)(O,{variant:`info`,size:`sm`,asChild:!0,children:(0,M.jsx)(w,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=u):u=t[11];let d;return t[12]===l?d=t[13]:(d=(0,M.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-xl border border-cyan-rand bg-cyan-grund px-4 py-3.5`,children:[l,u]}),t[12]=l,t[13]=d),d}function J(e){return e.status===`bestanden`}function Y(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function X(){let e=(0,A.c)(32),{data:t,error:n,isPending:r}=o(),i=x();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(a,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,M.jsx)(a,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let s=t.hinweise.length,c;e[3]!==t.lampen||e[4]!==t.zustand?(c=(0,M.jsx)(V,{zustand:t.zustand,lampen:t.lampen,onAnsehen:Z}),e[3]=t.lampen,e[4]=t.zustand,e[5]=c):c=e[5];let l;e[6]===t.box?l=e[7]:(l=(0,M.jsx)(G,{box:t.box}),e[6]=t.box,e[7]=l);let u=s?`ziffern text-sm text-bernstein`:`ziffern text-sm text-gruen`,d=s?`${s} offen`:`alles erledigt`,f;e[8]!==u||e[9]!==d?(f=(0,M.jsx)(`span`,{className:u,children:d}),e[8]=u,e[9]=d,e[10]=f):f=e[10];let p;e[11]!==t.hinweise||e[12]!==t.verlauf?(p=(0,M.jsx)(I,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=p):p=e[13];let m;e[14]!==f||e[15]!==p?(m=(0,M.jsx)(b,{titel:`Checkliste`,id:`checkliste`,rechts:f,children:p}),e[14]=f,e[15]=p,e[16]=m):m=e[16];let h;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(h=(0,M.jsx)(E,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=h):h=e[19];let g;e[20]===i.data?g=e[21]:(g=(0,M.jsx)(q,{radar:i.data}),e[20]=i.data,e[21]=g);let _;e[22]!==h||e[23]!==g?(_=(0,M.jsxs)(b,{titel:`Flugplan`,children:[h,g]}),e[22]=h,e[23]=g,e[24]=_):_=e[24];let v;e[25]!==m||e[26]!==_?(v=(0,M.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[m,_]}),e[25]=m,e[26]=_,e[27]=v):v=e[27];let y;return e[28]!==c||e[29]!==l||e[30]!==v?(y=(0,M.jsxs)(M.Fragment,{children:[c,l,v]}),e[28]=c,e[29]=l,e[30]=v,e[31]=y):y=e[31],y}function Z(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{X as StartSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Start-C6yRlVBM.js b/frontend/dist/assets/Start-C6yRlVBM.js deleted file mode 100644 index 3adfbea..0000000 --- a/frontend/dist/assets/Start-C6yRlVBM.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-DEE9rd7F.js","assets/dist-D4CVSex9.js","assets/sheet-qFYCDrLr.js","assets/index-BwBSJspl.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/index-Cl9oYOwv.css","assets/button-D8rvET0Z.js","assets/dist-_946vtHa.js","assets/Bestaetigen-DO-opKIi.js"])))=>i.map(i=>d[i]); -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{At as a,Dt as o,Et as s,Ft as c,H as l,It as u,Kt as d,Mt as f,Nt as p,Ot as m,Pt as h,Rt as g,Ut as _,_ as v,_t as y,en as b,g as x,h as S,kt as C,m as w,p as T,st as E,zt as D}from"./index-BwBSJspl.js";import{t as O}from"./button-D8rvET0Z.js";import{t as k}from"./Lampe-gSQfYg4e.js";var A=t(),j=r(e(),1),M=n(),N=(0,j.lazy)(()=>v(()=>import(`./Protokollfenster-DEE9rd7F.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),P=(0,j.lazy)(()=>v(()=>import(`./Bestaetigen-DO-opKIi.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function F({h:e}){let t=l(),[n,r]=(0,j.useState)(null),[o,s]=(0,j.useState)(null),c=e.stufe===`rot`,u=o?D(e,o):null;async function f(){try{let t=await d(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){p(`fehler`,e.message)}}function m(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function h(t){t.id===`protokoll`?f():D(e,t)?s(t):m(t)}return(0,M.jsxs)(`article`,{className:`flex flex-col gap-2.5 border-t border-linie pt-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`min-w-0 font-sans text-[17px] leading-snug font-semibold`,children:e.titel}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-0 flex-grow border-b-2 border-dotted border-linie-stark sm:block`}),(0,M.jsx)(`span`,{className:i(`schild shrink-0 text-base`,c?`text-rot`:`text-bernstein`),children:c?`Jetzt`:`Prüfen`})]}),(0,M.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[C(e.seit),` · zuletzt `,a(e.zuletzt)]}),e.text&&(0,M.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,M.jsx)(O,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>h(e),children:e.label},e.id))}),n&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(N,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),o&&u&&(0,M.jsx)(j.Suspense,{fallback:null,children:(0,M.jsx)(P,{offen:!0,titel:u.titel,text:u.text,knopf:u.knopf,gesperrt:t.isPending,onNein:()=>s(null),onJa:()=>{m(o),s(null)}})})]})}function I(e){let t=(0,A.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,M.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(R)}),r;t[6]===n?r=t[7]:(r=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-linie pt-4`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(L),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:s}),t[10]=s,t[11]=c),c}function L(e){return(0,M.jsx)(F,{h:e},e.id)}function R(e){return(0,M.jsxs)(`li`,{children:[(0,M.jsx)(`span`,{className:`ziffern`,children:a(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}function z(e){let t=(0,A.c)(25),{anteil:n,farbe:r,zonen:i,mitte:a,unter:o,beschriftung:s,ariaText:c}=e,l=r===void 0?`var(--cyan)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsx)(`path`,{d:u(0,1,75),fill:`none`,stroke:`var(--linie)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(B),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==l||t[7]!==p?(g=p&&(0,M.jsx)(`path`,{d:u(0,n,75),fill:`none`,stroke:l,strokeWidth:12,strokeLinecap:`round`}),t[5]=n,t[6]=l,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontSize:34,fontWeight:500,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===a?v=t[11]:(v=(0,M.jsx)(`text`,{x:`100`,y:`100`,textAnchor:`middle`,className:`ziffern`,style:_,children:a}),t[10]=a,t[11]=v);let y;t[12]===o?y=t[13]:(y=o&&(0,M.jsx)(`text`,{x:`100`,y:`122`,textAnchor:`middle`,style:{fontFamily:`var(--font-anzeige)`,fontSize:14,fontWeight:600,letterSpacing:`0.12em`,fill:`var(--text-3)`},children:o.toUpperCase()}),t[12]=o,t[13]=y);let b;t[14]!==c||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(b=(0,M.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":c,children:[m,h,g,v,y]}),t[14]=c,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===s?x=t[21]:(x=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:s}),t[20]=s,t[21]=x);let S;return t[22]!==b||t[23]!==x?(S=(0,M.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[b,x]}),t[22]=b,t[23]=x,t[24]=S):S=t[24],S}function B(e){return(0,M.jsx)(`path`,{d:u(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function V(e){let t=(0,A.c)(26),{zustand:n,lampen:r,onAnsehen:a}=e,o;t[0]===n?o=t[1]:(o=g(n),t[0]=n,t[1]=o);let s=o,c=s.art===`gelb`||s.art===`rot`,l=!c,u=`${s.oben} ${s.mitte}`,d=h[s.art],f=c?`cursor-pointer`:`cursor-default`,p;t[2]!==d||t[3]!==f?(p=i(`flex min-h-[130px] flex-col items-center justify-center gap-1 rounded-2xl border px-4 py-4 font-anzeige transition-colors`,d,f),t[2]=d,t[3]=f,t[4]=p):p=t[4];let m;t[5]===s.oben?m=t[6]:(m=(0,M.jsx)(`span`,{className:`schild text-sm tracking-[0.26em]`,children:s.oben}),t[5]=s.oben,t[6]=m);let _;t[7]===s.mitte?_=t[8]:(_=(0,M.jsx)(`span`,{className:`text-[40px] leading-none font-bold tracking-[0.04em] sm:text-[44px]`,children:s.mitte}),t[7]=s.mitte,t[8]=_);let v;t[9]===s.unten?v=t[10]:(v=(0,M.jsx)(`span`,{className:`font-sans text-sm opacity-80`,children:s.unten}),t[9]=s.unten,t[10]=v);let y;t[11]!==a||t[12]!==l||t[13]!==u||t[14]!==p||t[15]!==m||t[16]!==_||t[17]!==v?(y=(0,M.jsxs)(`button`,{type:`button`,onClick:a,disabled:l,"aria-label":u,className:p,children:[m,_,v]}),t[11]=a,t[12]=l,t[13]=u,t[14]=p,t[15]=m,t[16]=_,t[17]=v,t[18]=y):y=t[18];let b;t[19]===r?b=t[20]:(b=r.map(H),t[19]=r,t[20]=b);let x;t[21]===b?x=t[22]:(x=(0,M.jsx)(`ul`,{className:`grid grid-cols-2 gap-2.5 rounded-2xl border border-linie bg-panel p-3 sm:grid-cols-4`,children:b}),t[21]=b,t[22]=x);let S;return t[23]!==y||t[24]!==x?(S=(0,M.jsxs)(`section`,{"aria-label":`Warnpanel`,className:`grid gap-4 md:grid-cols-[260px_minmax(0,1fr)] md:gap-5`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25],S}function H(e){return(0,M.jsx)(k,{lampe:e},e.id)}function U(e){let t=(0,A.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,M.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-md border border-[#2a3036] bg-[#0b0d0f] font-medium`,children:n}),t[0]=n,t[1]=r),r}function W(e){let t=(0,A.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=m(n),t[0]=n,t[1]=r);let i=r,a=String(Math.min(i?.[0]??0,99)),o;t[2]===a?o=t[3]:(o=a.padStart(2,`0`),t[2]=a,t[3]=o);let s=o,c=String(i?.[1]??0),l;t[4]===c?l=t[5]:(l=c.padStart(2,`0`),t[4]=c,t[5]=l);let u=l,d=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,f=i?s[0]:`–`,p;t[6]===f?p=t[7]:(p=(0,M.jsx)(U,{z:f}),t[6]=f,t[7]=p);let h=i?s[1]:`–`,g;t[8]===h?g=t[9]:(g=(0,M.jsx)(U,{z:h}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,M.jsx)(`span`,{className:`schild mr-[0.444em] ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`T`}),t[10]=_):_=t[10];let v=i?u[0]:`–`,y;t[11]===v?y=t[12]:(y=(0,M.jsx)(U,{z:v}),t[11]=v,t[12]=y);let b=i?u[1]:`–`,x;t[13]===b?x=t[14]:(x=(0,M.jsx)(U,{z:b}),t[13]=b,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,M.jsx)(`span`,{className:`schild ml-[0.111em] text-[0.5625em] font-bold text-text-3`,children:`H`}),t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==x||t[18]!==p||t[19]!==g||t[20]!==d?(C=(0,M.jsxs)(`div`,{"aria-label":d,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[p,g,_,y,x,S]}),t[16]=y,t[17]=x,t[18]=p,t[19]=g,t[20]=d,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,M.jsx)(`figcaption`,{className:`schild text-[15px] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,M.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function G(e){let t=(0,A.c)(47),{box:n}=e,r=f(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,c=r?.temp_cpu??n.temp_cpu,l=r?.temp_gpu??n.temp_gpu,u=n.platte,d=r?.uptime_s??n.uptime_s,p=i!=null&&a?i/a:null,m;t[0]===i?m=t[1]:(m=i==null?`–`:String(Math.round(s(i)??0)),t[0]=i,t[1]=m);let h;t[2]===a?h=t[3]:(h=a?`von ${Math.round(s(a)??0)} GB`:void 0,t[2]=a,t[3]=h);let g;t[4]!==p||t[5]!==i||t[6]!==a?(g=p==null?`Speicher unbekannt`:`Speicher: ${o(i)} von ${o(a)} belegt`,t[4]=p,t[5]=i,t[6]=a,t[7]=g):g=t[7];let v;t[8]!==p||t[9]!==m||t[10]!==h||t[11]!==g?(v=(0,M.jsx)(z,{beschriftung:`Speicher`,anteil:p,mitte:m,unter:h,ariaText:g}),t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=v):v=t[12];let y=c==null?null:c/100,b;t[13]===c?b=t[14]:(b=_(c),t[13]=c,t[14]=b);let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[15]=x):x=t[15];let S;t[16]===c?S=t[17]:(S=c==null?`–`:`${Math.round(c)}°`,t[16]=c,t[17]=S);let C;t[18]===l?C=t[19]:(C=l==null?void 0:`GPU ${Math.round(l)}°`,t[18]=l,t[19]=C);let w;t[20]===c?w=t[21]:(w=c==null?`Temperatur unbekannt`:`Temperatur ${Math.round(c)} Grad`,t[20]=c,t[21]=w);let T;t[22]!==w||t[23]!==y||t[24]!==b||t[25]!==S||t[26]!==C?(T=(0,M.jsx)(z,{beschriftung:`Temperatur`,anteil:y,farbe:b,zonen:x,mitte:S,unter:C,ariaText:w}),t[22]=w,t[23]=y,t[24]=b,t[25]=S,t[26]=C,t[27]=T):T=t[27];let E=u?u.percent/100:null,D=u&&u.percent>=90?`var(--rot)`:u&&u.percent>=80?`var(--bernstein)`:`var(--cyan)`,O;t[28]===u?O=t[29]:(O=u?`${Math.round(u.percent)}%`:`–`,t[28]=u,t[29]=O);let k;t[30]===u?k=t[31]:(k=u?`${o(u.used)} / ${o(u.total)}`:void 0,t[30]=u,t[31]=k);let j;t[32]===u?j=t[33]:(j=u?`Platte zu ${Math.round(u.percent)} Prozent belegt`:`Platte unbekannt`,t[32]=u,t[33]=j);let N;t[34]!==E||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==j?(N=(0,M.jsx)(z,{beschriftung:`Platte`,anteil:E,farbe:D,mitte:O,unter:k,ariaText:j}),t[34]=E,t[35]=D,t[36]=O,t[37]=k,t[38]=j,t[39]=N):N=t[39];let P;t[40]===d?P=t[41]:(P=(0,M.jsx)(W,{sekunden:d}),t[40]=d,t[41]=P);let F;return t[42]!==T||t[43]!==N||t[44]!==P||t[45]!==v?(F=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`grid grid-cols-2 gap-x-4 gap-y-6 rounded-2xl border border-linie bg-panel px-4 py-5 lg:grid-cols-4 lg:px-6`,children:[v,T,N,P]}),t[42]=T,t[43]=N,t[44]=P,t[45]=v,t[46]=F):F=t[46],F}var K={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function q(e){let t=(0,A.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(Y),i=r.find(J)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,s;t[3]!==r.length||t[4]!==o?(s=(0,M.jsxs)(`span`,{className:`schild text-sm text-cyan`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=s):s=t[5];let l;t[6]===a?l=t[7]:(l=a?(0,M.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,M.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,M.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,M.jsx)(S,{art:K[a.status]??`grau`,children:c[a.status]??a.status})]}):(0,M.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=l);let u;t[8]!==s||t[9]!==l?(u=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[s,l]}),t[8]=s,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,M.jsx)(O,{variant:`info`,size:`sm`,asChild:!0,children:(0,M.jsx)(b,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=d):d=t[11];let f;return t[12]===u?f=t[13]:(f=(0,M.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-xl border border-cyan-rand bg-cyan-grund px-4 py-3.5`,children:[u,d]}),t[12]=u,t[13]=f),f}function J(e){return e.status===`bestanden`}function Y(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function X(){let e=(0,A.c)(32),{data:t,error:n,isPending:r}=y(),i=E();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(x,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,M.jsx)(x,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let a=t.hinweise.length,o;e[3]!==t.lampen||e[4]!==t.zustand?(o=(0,M.jsx)(V,{zustand:t.zustand,lampen:t.lampen,onAnsehen:Z}),e[3]=t.lampen,e[4]=t.zustand,e[5]=o):o=e[5];let s;e[6]===t.box?s=e[7]:(s=(0,M.jsx)(G,{box:t.box}),e[6]=t.box,e[7]=s);let c=a?`ziffern text-sm text-bernstein`:`ziffern text-sm text-gruen`,l=a?`${a} offen`:`alles erledigt`,u;e[8]!==c||e[9]!==l?(u=(0,M.jsx)(`span`,{className:c,children:l}),e[8]=c,e[9]=l,e[10]=u):u=e[10];let d;e[11]!==t.hinweise||e[12]!==t.verlauf?(d=(0,M.jsx)(I,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=d):d=e[13];let f;e[14]!==u||e[15]!==d?(f=(0,M.jsx)(T,{titel:`Checkliste`,id:`checkliste`,rechts:u,children:d}),e[14]=u,e[15]=d,e[16]=f):f=e[16];let p;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(p=(0,M.jsx)(w,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=p):p=e[19];let m;e[20]===i.data?m=e[21]:(m=(0,M.jsx)(q,{radar:i.data}),e[20]=i.data,e[21]=m);let h;e[22]!==p||e[23]!==m?(h=(0,M.jsxs)(T,{titel:`Flugplan`,children:[p,m]}),e[22]=p,e[23]=m,e[24]=h):h=e[24];let g;e[25]!==f||e[26]!==h?(g=(0,M.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[f,h]}),e[25]=f,e[26]=h,e[27]=g):g=e[27];let _;return e[28]!==o||e[29]!==s||e[30]!==g?(_=(0,M.jsxs)(M.Fragment,{children:[o,s,g]}),e[28]=o,e[29]=s,e[30]=g,e[31]=_):_=e[31],_}function Z(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{X as StartSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Updates-Bg-ptea6.js b/frontend/dist/assets/Updates-Bg-ptea6.js deleted file mode 100644 index 2f739c0..0000000 --- a/frontend/dist/assets/Updates-Bg-ptea6.js +++ /dev/null @@ -1,2 +0,0 @@ -import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-cy4l-52D.js";import{B as o,Bt as s,Q as c,St as l,Tt as u,V as d,_t as f,g as p,h as m,ht as ee,p as h,tt as te,wt as ne,xt as re,yt as ie}from"./index-BwBSJspl.js";import{t as g}from"./button-D8rvET0Z.js";import{t as _}from"./Bestaetigen-DO-opKIi.js";import{c as v,i as y,n as ae,o as b,t as x}from"./Auftraege-cd2jcDwQ.js";var S=t(),C=r(e(),1),w=n(),T=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],E={os:`Die Ubuntu-Pakete werden eingespielt, danach prüft die Box, ob die Modelle noch antworten. Das kann einige Minuten dauern.`,engine:`Der Motor wird ersetzt, llama-swap startet dafür neu und die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,swap:`llama-swap wird ersetzt und startet neu, die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,hermes:`Vorher wird gesichert. Dann wird Hermes aktualisiert und startet neu — Lucy ist dabei ein paar Minuten nicht erreichbar.`};function D(e){let t=(0,S.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,w.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,w.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,w.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function oe(e){let t=(0,S.c)(13),{text:n}=e,[r,a]=(0,C.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` -`).length>3||n.length>240,t[0]=n,t[1]=o);let s=o,c=s&&!r&&`line-clamp-3`,l;t[2]===c?l=t[3]:(l=i(`m-0 whitespace-pre-line`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==n?(u=(0,w.jsx)(`p`,{className:l,children:n}),t[4]=l,t[5]=n,t[6]=u):u=t[6];let d;t[7]!==s||t[8]!==r?(d=s&&(0,w.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>a(!r),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan hover:underline`,children:r?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),t[7]=s,t[8]=r,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,w.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function se(e){let t=(0,S.c)(13),{d:n}=e,r;t[0]===n.packages?r=t[1]:(r=n.packages??[],t[0]=n.packages,t[1]=r);let i=r,o,s;if(t[2]!==n.held_back||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){s=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,w.jsx)(a,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let c=i.length===0?`Was Ubuntu zurückhält (${e.length})`:i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,l;t[7]===c?l=t[8]:(l=(0,w.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan hover:underline`,children:[r,c]}),t[7]=c,t[8]=l);let u;t[9]===i?u=t[10]:(u=i.map(k),t[9]=i,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,w.jsx)(`ul`,{className:`ziffern m-0 flex max-h-64 list-none flex-col gap-1 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs`,children:u}),t[11]=u,t[12]=d),o=(0,w.jsxs)(`details`,{className:`group`,children:[l,d,e.length>0&&(0,w.jsxs)(`p`,{className:`mt-2 text-xs text-text-3`,children:[`Dazu `,e.length===1?`kommt ein Paket`:`kommen ${e.length} Pakete`,`, die Ubuntu noch zurückhält (`,e.map(O).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function O(e){return e.name}function k(e){return(0,w.jsxs)(`li`,{className:`break-all`,children:[(0,w.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,w.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function ce(e){let t=(0,S.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(m,{art:`gruen`,children:`Nichts zu tun`}),t[0]=e):e=t[0],e}if(n.action_needed!==!0)return null;let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,w.jsx)(m,{art:`bernstein`,children:`Du musst etwas tun`}),t[1]=r):r=t[1];let i;t[2]===n.action_text?i=t[3]:(i=n.action_text&&(0,w.jsx)(`span`,{className:`text-bernstein`,children:n.action_text}),t[2]=n.action_text,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,w.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function le(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function A(e){let t=(0,S.c)(63),{id:n,name:r,details:i,hatUpdate:a,neuLautStart:o,fest:s,gesperrt:c,onStart:l,onFreigeben:u}=e,d=i.data,f=i.isPending,p=i.isError?i.error.message:d?.error,m;t[0]!==d||t[1]!==n?(m=d?v(n,d):null,t[0]=d,t[1]=n,t[2]=m):m=t[2];let ee=m,h=a?ee?.neu??o??null:null,te=d?.summary,ne;t[3]===te?ne=t[4]:(ne=le(te),t[3]=te,t[4]=ne);let re=ne,ie=ee&&ee.laeuft!==`–`?ee.laeuft:p?`unbekannt`:`–`,_;t[5]!==f||t[6]!==ie?(_=f?(0,w.jsx)(D,{}):(0,w.jsx)(w.Fragment,{children:ie}),t[5]=f,t[6]=ie,t[7]=_):_=t[7];let y=_,ae;t[8]!==p||t[9]!==f||t[10]!==h?(ae=f?(0,w.jsx)(D,{breit:`w-20`}):h?(0,w.jsx)(`span`,{className:`text-cyan`,children:h}):p?(0,w.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,w.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=p,t[9]=f,t[10]=h,t[11]=ae):ae=t[11];let x=ae,C;if(f){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],C=e}else if(p&&!a){let e;t[13]===p?e=t[14]:(e=b(p),t[13]=p,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,w.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),C=n}else if(!a)C=`Aktuell.`;else{let e;t[17]===p?e=t[18]:(e=p&&(0,w.jsx)(`span`,{className:`text-bernstein`,children:b(p)}),t[17]=p,t[18]=e);let r;t[19]===d?r=t[20]:(r=d&&(0,w.jsx)(ce,{d}),t[19]=d,t[20]=r);let i;t[21]!==d||t[22]!==n||t[23]!==re?(i=n===`os`?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{children:d?.count?`${d.count} ${d.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),d&&(0,w.jsx)(se,{d})]}):re?(0,w.jsx)(oe,{text:re}):null,t[21]=d,t[22]=n,t[23]=re,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,w.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[e,r,i]}),t[25]=e,t[26]=r,t[27]=i,t[28]=a):a=t[28],C=a}let T=f||void 0,E;t[29]===r?E=t[30]:(E=(0,w.jsx)(`span`,{role:`rowheader`,className:`text-[15px] font-semibold`,children:r}),t[29]=r,t[30]=E);let O;t[31]!==p||t[32]!==f||t[33]!==h||t[34]!==x?(O=!f&&(h||p)&&(0,w.jsxs)(w.Fragment,{children:[` `,h?`→`:`·`,` `,x]}),t[31]=p,t[32]=f,t[33]=h,t[34]=x,t[35]=O):O=t[35];let k;t[36]!==y||t[37]!==O?(k=(0,w.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[y,O]}),t[36]=y,t[37]=O,t[38]=k):k=t[38];let A;t[39]===y?A=t[40]:(A=(0,w.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:y}),t[39]=y,t[40]=A);let j;t[41]===x?j=t[42]:(j=(0,w.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:x}),t[41]=x,t[42]=j);let M;t[43]!==s||t[44]!==r?(M=s&&(0,w.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,s.seit,` auf `,s.version,`: `,s.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[43]=s,t[44]=r,t[45]=M):M=t[45];let N;t[46]!==M||t[47]!==C?(N=(0,w.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[M,C]}),t[46]=M,t[47]=C,t[48]=N):N=t[48];let P;t[49]!==s||t[50]!==c||t[51]!==a||t[52]!==u||t[53]!==l?(P=(s||a)&&(0,w.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[s&&(0,w.jsx)(g,{variant:`outline`,size:`sm`,onClick:u,children:`Freigeben`}),a&&(0,w.jsx)(g,{variant:`outline`,size:`sm`,onClick:l,disabled:c,children:`Aktualisieren`})]}),t[49]=s,t[50]=c,t[51]=a,t[52]=u,t[53]=l,t[54]=P):P=t[54];let F;return t[55]!==A||t[56]!==j||t[57]!==N||t[58]!==P||t[59]!==T||t[60]!==E||t[61]!==k?(F=(0,w.jsxs)(`div`,{role:`row`,"aria-busy":T,className:`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] md:items-start`,children:[E,k,A,j,N,P]}),t[55]=A,t[56]=j,t[57]=N,t[58]=P,t[59]=T,t[60]=E,t[61]=k,t[62]=F):F=t[62],F}var j={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},M={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function N(e){let t=(0,S.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=u(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,w.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:r}),t[2]=r,t[3]=i);let a;t[4]===n.anlass?a=t[5]:(a=(0,w.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:n.anlass}),t[4]=n.anlass,t[5]=a);let o=j[n.stufe],s;t[6]!==n.titel||t[7]!==o?(s=(0,w.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,w.jsx)(m,{art:o,children:n.titel})}),t[6]=n.titel,t[7]=o,t[8]=s):s=t[8];let c;t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,w.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[i,a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12];let l;t[13]!==n.stufe||t[14]!==n.zeilen?(l=n.stufe!==`grau`&&n.zeilen.length>0&&(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(P)}),t[13]=n.stufe,t[14]=n.zeilen,t[15]=l):l=t[15];let d;return t[16]!==c||t[17]!==l?(d=(0,w.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3`,children:[c,l]}),t[16]=c,t[17]=l,t[18]=d):d=t[18],d}function P(e){return(0,w.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,w.jsx)(`span`,{"aria-hidden":!0,className:i(`size-1.5 shrink-0 -translate-y-px rounded-full`,M[e.stufe])}),(0,w.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,w.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function F(e){return e.mtime?u(new Date(e.mtime*1e3).toISOString()):e.snapshot}function ue(){let e=(0,S.c)(126),t=f(),n=o(!0).data?.update_fenster,r=te(),i=l(),a=ee(),s=re(),u=d(),m=c(),v=ne(),[y,b]=(0,C.useState)(null),D;e[0]===t.data?.updates.bausteine?D=e[1]:(D=new Map((t.data?.updates.bausteine??[]).map(ge)),e[0]=t.data?.updates.bausteine,e[1]=D);let oe=D,se=new Map((t.data?.updates.festgehalten??[]).map(he)),O;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(O=T.map(me),e[2]=O):O=e[2];let k=ie(O),ce;e[3]!==k||e[4]!==oe?(ce=(e,t)=>ae(e.id,k[t].data)??oe.has(e.id),e[3]=k,e[4]=oe,e[5]=ce):ce=e[5];let le=T.map(ce),j;e[6]===r.data?.jobs?j=e[7]:(j=r.data?.jobs??[],e[6]=r.data?.jobs,e[7]=j);let M=j,N;e[8]!==M||e[9]!==t.data?.zustand?(N=M.some(pe)||(t.data?.zustand.update_laeuft??!1),e[8]=M,e[9]=t.data?.zustand,e[10]=N):N=e[10];let P=N,ue;e[11]===M?ue=e[12]:(ue=M.some(fe),e[11]=M,e[12]=ue);let _e=ue,I=P||s.isPending,L=a.data?.available??!1,R;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(p,{text:`Updates werden gelesen …`}),e[13]=t):t=e[13],R=t}else if(t.isError&&!t.data){let n=`Die Box antwortet nicht: ${t.error.message}`,r;e[14]===n?r=e[15]:(r=(0,w.jsx)(p,{fehler:!0,text:n}),e[14]=n,e[15]=r),R=r}else{let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsxs)(`div`,{role:`row`,className:`schild hidden grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,children:[(0,w.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,w.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,w.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,w.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,w.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],R=(0,w.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,T.map((e,t)=>(0,w.jsx)(A,{id:e.id,name:e.name,details:k[t],hatUpdate:le[t],neuLautStart:oe.get(e.id),fest:se.get(e.id),gesperrt:I,onStart:()=>b({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=se.get(e.id);t&&b({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let z;if(i.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],z=t}else if(i.isError&&!i.data){let t;e[18]===i.error.message?t=e[19]:(t=(0,w.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,i.error.message]}),e[18]=i.error.message,e[19]=t),z=t}else if(i.data?.laeufe.length){let t;e[21]===i.data.laeufe?t=e[22]:(t=i.data.laeufe.map(de),e[21]=i.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,w.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:t}),e[23]=t,e[24]=n),z=n}else{let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Update-Läufe aufgezeichnet.`}),e[20]=t):t=e[20],z=t}let B;if(a.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],B=t}else if(a.isError&&!a.data){let t;e[26]===a.error.message?t=e[27]:(t=(0,w.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,a.error.message]}),e[26]=a.error.message,e[27]=t),B=t}else if(a.data?.backups.length){let t;if(e[29]!==a.data.backups||e[30]!==v.isPending||e[31]!==L){let n;e[33]!==v.isPending||e[34]!==L?(n=e=>(0,w.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2.5`,children:[(0,w.jsx)(`span`,{className:`ziffern text-sm`,children:F(e)}),(0,w.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,w.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,w.jsx)(g,{variant:`ghost`,size:`sm`,disabled:!L||v.isPending,onClick:()=>b({art:`zurueck`,datei:e.file,zeit:F(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=v.isPending,e[34]=L,e[35]=n):n=e[35],t=a.data.backups.slice(0,5).map(n),e[29]=a.data.backups,e[30]=v.isPending,e[31]=L,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,w.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:t}),e[36]=t,e[37]=n),B=n}else{let t;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],B=t}let ve=h,V;e[38]===s?V=e[39]:(V=()=>s.mutate(`pruefen`),e[38]=s,e[39]=V);let ye=s.isPending||_e,be=_e?`Sucht …`:`Nach Neuem suchen`,H;e[40]!==be||e[41]!==V||e[42]!==ye?(H=(0,w.jsx)(g,{variant:`outline`,onClick:V,disabled:ye,children:be}),e[40]=be,e[41]=V,e[42]=ye,e[43]=H):H=e[43];let xe=g,U;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>b({art:`alle`}),e[44]=U):U=e[44];let Se=I||!le.some(Boolean),W;e[45]!==xe||e[46]!==U||e[47]!==Se?(W=(0,w.jsx)(xe,{onClick:U,disabled:Se,children:`Alles jetzt aktualisieren`}),e[45]=xe,e[46]=U,e[47]=Se,e[48]=W):W=e[48];let G;e[49]!==H||e[50]!==W?(G=(0,w.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[H,W]}),e[49]=H,e[50]=W,e[51]=G):G=e[51];let Ce=n?`Jeden ${n.tag_name} um ${n.uhrzeit} automatisch.`:`Einmal pro Woche automatisch.`,K;e[52]===Ce?K=e[53]:(K=(0,w.jsxs)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:[Ce,` Vorher wird gesichert, danach geprüft.`]}),e[52]=Ce,e[53]=K);let q;e[54]===P?q=e[55]:(q=P&&(0,w.jsx)(`p`,{role:`status`,className:`text-[15px] text-cyan`,children:`Gerade läuft ein Update. Weitere lassen sich erst starten, wenn es fertig ist.`}),e[54]=P,e[55]=q);let we;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,w.jsx)(x,{}),e[56]=we):we=e[56];let J;e[57]!==ve||e[58]!==G||e[59]!==K||e[60]!==q||e[61]!==R?(J=(0,w.jsxs)(ve,{titel:`Updates`,rechts:G,children:[K,q,R,we]}),e[57]=ve,e[58]=G,e[59]=K,e[60]=q,e[61]=R,e[62]=J):J=e[62];let Y;e[63]===z?Y=e[64]:(Y=(0,w.jsx)(h,{titel:`Verlauf`,children:z}),e[63]=z,e[64]=Y);let X;e[65]===m?X=e[66]:(X=()=>m.mutate(void 0),e[65]=m,e[66]=X);let Te=m.isPending?`Sichert …`:`Jetzt sichern`,Z;e[67]!==m.isPending||e[68]!==X||e[69]!==Te?(Z=(0,w.jsx)(g,{variant:`outline`,size:`sm`,onClick:X,disabled:m.isPending,children:Te}),e[67]=m.isPending,e[68]=X,e[69]=Te,e[70]=Z):Z=e[70];let Ee;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,w.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[71]=Ee):Ee=e[71];let Q;e[72]!==a.data||e[73]!==L?(Q=a.data&&!L&&(0,w.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[72]=a.data,e[73]=L,e[74]=Q):Q=e[74];let De;e[75]!==B||e[76]!==Z||e[77]!==Q?(De=(0,w.jsxs)(h,{titel:`Sicherungen`,rechts:Z,children:[Ee,Q,B]}),e[75]=B,e[76]=Z,e[77]=Q,e[78]=De):De=e[78];let Oe;e[79]!==Y||e[80]!==De?(Oe=(0,w.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[Y,De]}),e[79]=Y,e[80]=De,e[81]=Oe):Oe=e[81];let ke=y?.art===`alle`,Ae;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=()=>b(null),e[82]=Ae):Ae=e[82];let je;e[83]!==y?.art||e[84]!==s?(je=()=>{y?.art===`alle`&&s.mutate(`alle`),b(null)},e[83]=y?.art,e[84]=s,e[85]=je):je=e[85];let Me;e[86]!==I||e[87]!==ke||e[88]!==je?(Me=(0,w.jsx)(_,{offen:ke,titel:`Alles jetzt aktualisieren?`,text:`Motor, llama-swap, Hermes und Betriebssystem werden nacheinander aktualisiert, soweit es Neues gibt, und danach geprüft. Motor und llama-swap holen bei Problemen ihren alten Stand von selbst zurück, vor Hermes wird gesichert. Lucy ist dabei ein paar Minuten nicht erreichbar.`,knopf:`Aktualisieren`,gesperrt:I,onNein:Ae,onJa:je}),e[86]=I,e[87]=ke,e[88]=je,e[89]=Me):Me=e[89];let Ne=y?.art===`einzeln`,Pe=y?.art===`einzeln`?`${y.name} aktualisieren?`:``,Fe=y?.art===`einzeln`?E[y.id]??``:``,Ie;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>b(null),e[90]=Ie):Ie=e[90];let Le;e[91]!==y||e[92]!==s?(Le=()=>{y?.art===`einzeln`&&s.mutate(y.id),b(null)},e[91]=y,e[92]=s,e[93]=Le):Le=e[93];let Re;e[94]!==I||e[95]!==Ne||e[96]!==Pe||e[97]!==Fe||e[98]!==Le?(Re=(0,w.jsx)(_,{offen:Ne,titel:Pe,text:Fe,knopf:`Aktualisieren`,gesperrt:I,onNein:Ie,onJa:Le}),e[94]=I,e[95]=Ne,e[96]=Pe,e[97]=Fe,e[98]=Le,e[99]=Re):Re=e[99];let ze=y?.art===`freigeben`,Be=y?.art===`freigeben`?`${y.name} freigeben?`:``,Ve=y?.art===`freigeben`?`Festgehalten wurde ${y.name}, weil: ${y.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,He;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(He=()=>b(null),e[100]=He):He=e[100];let Ue;e[101]!==y||e[102]!==u?(Ue=()=>{y?.art===`freigeben`&&u.mutate(y.id),b(null)},e[101]=y,e[102]=u,e[103]=Ue):Ue=e[103];let We;e[104]!==u.isPending||e[105]!==ze||e[106]!==Be||e[107]!==Ve||e[108]!==Ue?(We=(0,w.jsx)(_,{offen:ze,titel:Be,text:Ve,knopf:`Freigeben`,gesperrt:u.isPending,onNein:He,onJa:Ue}),e[104]=u.isPending,e[105]=ze,e[106]=Be,e[107]=Ve,e[108]=Ue,e[109]=We):We=e[109];let Ge=y?.art===`zurueck`,Ke=`Die Einstellungen von Hermes und llama-swap werden auf den Stand von ${y?.art===`zurueck`?y.zeit:``} gesetzt. Vorher wird der jetzige Stand gesichert. Die Dienste starten danach neu.`,qe;e[110]===Symbol.for(`react.memo_cache_sentinel`)?(qe=()=>b(null),e[110]=qe):qe=e[110];let Je;e[111]!==y||e[112]!==v?(Je=()=>{y?.art===`zurueck`&&v.mutate(y.datei),b(null)},e[111]=y,e[112]=v,e[113]=Je):Je=e[113];let $;e[114]!==Ge||e[115]!==Ke||e[116]!==Je||e[117]!==v.isPending?($=(0,w.jsx)(_,{offen:Ge,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ke,knopf:`Zurückspielen`,gesperrt:v.isPending,onNein:qe,onJa:Je}),e[114]=Ge,e[115]=Ke,e[116]=Je,e[117]=v.isPending,e[118]=$):$=e[118];let Ye;return e[119]!==J||e[120]!==Oe||e[121]!==Me||e[122]!==Re||e[123]!==We||e[124]!==$?(Ye=(0,w.jsxs)(w.Fragment,{children:[J,Oe,Me,Re,We,$]}),e[119]=J,e[120]=Oe,e[121]=Me,e[122]=Re,e[123]=We,e[124]=$,e[125]=Ye):Ye=e[125],Ye}function de(e){return(0,w.jsx)(N,{lauf:e},e.start)}function fe(e){return y(e)&&s(e)}function pe(e){return e.group===`maintenance`&&s(e)}function me(e){return e.id}function he(e){return[e.baustein,e]}function ge(e){return[e.id,e.neu]}export{ue as UpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Updates-D5yJY-fn.js b/frontend/dist/assets/Updates-D5yJY-fn.js new file mode 100644 index 0000000..a686b2e --- /dev/null +++ b/frontend/dist/assets/Updates-D5yJY-fn.js @@ -0,0 +1,2 @@ +import{i as e,n as t,r as n,s as r,t as i}from"./dist-D4CVSex9.js";import{t as a}from"./chevron-right-4vXDP1Jj.js";import{At as o,C as s,Ct as c,Et as l,J as u,Nt as d,Ot as f,Pt as p,S as m,Yt as h,b as g,jt as ee,lt as te,ot as ne,q as re}from"./index-CIOHqG23.js";import{t as _}from"./button-D8rvET0Z.js";import{t as v}from"./Bestaetigen-D6CzMfJm.js";import{c as y,i as b,n as ie,o as x,t as S}from"./Auftraege-CdBAGJi2.js";var C=t(),w=r(e(),1),T=n(),E=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],D={os:`Die Ubuntu-Pakete werden eingespielt, danach prüft die Box, ob die Modelle noch antworten. Das kann einige Minuten dauern.`,engine:`Der Motor wird ersetzt, llama-swap startet dafür neu und die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,swap:`llama-swap wird ersetzt und startet neu, die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,hermes:`Vorher wird gesichert. Dann wird Hermes aktualisiert und startet neu — Lucy ist dabei ein paar Minuten nicht erreichbar.`};function O(e){let t=(0,C.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,T.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,T.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function ae(e){let t=(0,C.c)(13),{text:n}=e,[r,a]=(0,w.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` +`).length>3||n.length>240,t[0]=n,t[1]=o);let s=o,c=s&&!r&&`line-clamp-3`,l;t[2]===c?l=t[3]:(l=i(`m-0 whitespace-pre-line`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==n?(u=(0,T.jsx)(`p`,{className:l,children:n}),t[4]=l,t[5]=n,t[6]=u):u=t[6];let d;t[7]!==s||t[8]!==r?(d=s&&(0,T.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>a(!r),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan hover:underline`,children:r?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),t[7]=s,t[8]=r,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,T.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function oe(e){let t=(0,C.c)(13),{d:n}=e,r;t[0]===n.packages?r=t[1]:(r=n.packages??[],t[0]=n.packages,t[1]=r);let i=r,o,s;if(t[2]!==n.held_back||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){s=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,T.jsx)(a,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let c=i.length===0?`Was Ubuntu zurückhält (${e.length})`:i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,l;t[7]===c?l=t[8]:(l=(0,T.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan hover:underline`,children:[r,c]}),t[7]=c,t[8]=l);let u;t[9]===i?u=t[10]:(u=i.map(A),t[9]=i,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,T.jsx)(`ul`,{className:`ziffern m-0 flex max-h-64 list-none flex-col gap-1 overflow-auto rounded-md border border-linie bg-[#0b0d0f] p-2.5 text-xs`,children:u}),t[11]=u,t[12]=d),o=(0,T.jsxs)(`details`,{className:`group`,children:[l,d,e.length>0&&(0,T.jsxs)(`p`,{className:`mt-2 text-xs text-text-3`,children:[`Dazu `,e.length===1?`kommt ein Paket`:`kommen ${e.length} Pakete`,`, die Ubuntu noch zurückhält (`,e.map(k).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function k(e){return e.name}function A(e){return(0,T.jsxs)(`li`,{className:`break-all`,children:[(0,T.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,T.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function se(e){let t=(0,C.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,T.jsx)(m,{art:`gruen`,children:`Nichts zu tun`}),t[0]=e):e=t[0],e}if(n.action_needed!==!0)return null;let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,T.jsx)(m,{art:`bernstein`,children:`Du musst etwas tun`}),t[1]=r):r=t[1];let i;t[2]===n.action_text?i=t[3]:(i=n.action_text&&(0,T.jsx)(`span`,{className:`text-bernstein`,children:n.action_text}),t[2]=n.action_text,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,T.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function ce(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function j(e){let t=(0,C.c)(63),{id:n,name:r,details:i,hatUpdate:a,neuLautStart:o,fest:s,gesperrt:c,onStart:l,onFreigeben:u}=e,d=i.data,f=i.isPending,p=i.isError?i.error.message:d?.error,m;t[0]!==d||t[1]!==n?(m=d?y(n,d):null,t[0]=d,t[1]=n,t[2]=m):m=t[2];let h=m,g=a?h?.neu??o??null:null,ee=d?.summary,te;t[3]===ee?te=t[4]:(te=ce(ee),t[3]=ee,t[4]=te);let ne=te,re=h&&h.laeuft!==`–`?h.laeuft:p?`unbekannt`:`–`,v;t[5]!==f||t[6]!==re?(v=f?(0,T.jsx)(O,{}):(0,T.jsx)(T.Fragment,{children:re}),t[5]=f,t[6]=re,t[7]=v):v=t[7];let b=v,ie;t[8]!==p||t[9]!==f||t[10]!==g?(ie=f?(0,T.jsx)(O,{breit:`w-20`}):g?(0,T.jsx)(`span`,{className:`text-cyan`,children:g}):p?(0,T.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,T.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=p,t[9]=f,t[10]=g,t[11]=ie):ie=t[11];let S=ie,w;if(f){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,T.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],w=e}else if(p&&!a){let e;t[13]===p?e=t[14]:(e=x(p),t[13]=p,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,T.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),w=n}else if(!a)w=`Aktuell.`;else{let e;t[17]===p?e=t[18]:(e=p&&(0,T.jsx)(`span`,{className:`text-bernstein`,children:x(p)}),t[17]=p,t[18]=e);let r;t[19]===d?r=t[20]:(r=d&&(0,T.jsx)(se,{d}),t[19]=d,t[20]=r);let i;t[21]!==d||t[22]!==n||t[23]!==ne?(i=n===`os`?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{children:d?.count?`${d.count} ${d.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),d&&(0,T.jsx)(oe,{d})]}):ne?(0,T.jsx)(ae,{text:ne}):null,t[21]=d,t[22]=n,t[23]=ne,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,T.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[e,r,i]}),t[25]=e,t[26]=r,t[27]=i,t[28]=a):a=t[28],w=a}let E=f||void 0,D;t[29]===r?D=t[30]:(D=(0,T.jsx)(`span`,{role:`rowheader`,className:`text-[15px] font-semibold`,children:r}),t[29]=r,t[30]=D);let k;t[31]!==p||t[32]!==f||t[33]!==g||t[34]!==S?(k=!f&&(g||p)&&(0,T.jsxs)(T.Fragment,{children:[` `,g?`→`:`·`,` `,S]}),t[31]=p,t[32]=f,t[33]=g,t[34]=S,t[35]=k):k=t[35];let A;t[36]!==b||t[37]!==k?(A=(0,T.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[b,k]}),t[36]=b,t[37]=k,t[38]=A):A=t[38];let j;t[39]===b?j=t[40]:(j=(0,T.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:b}),t[39]=b,t[40]=j);let M;t[41]===S?M=t[42]:(M=(0,T.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:S}),t[41]=S,t[42]=M);let N;t[43]!==s||t[44]!==r?(N=s&&(0,T.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,s.seit,` auf `,s.version,`: `,s.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[43]=s,t[44]=r,t[45]=N):N=t[45];let P;t[46]!==N||t[47]!==w?(P=(0,T.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[N,w]}),t[46]=N,t[47]=w,t[48]=P):P=t[48];let F;t[49]!==s||t[50]!==c||t[51]!==a||t[52]!==u||t[53]!==l?(F=(s||a)&&(0,T.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[s&&(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:u,children:`Freigeben`}),a&&(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:l,disabled:c,children:`Aktualisieren`})]}),t[49]=s,t[50]=c,t[51]=a,t[52]=u,t[53]=l,t[54]=F):F=t[54];let I;return t[55]!==j||t[56]!==M||t[57]!==P||t[58]!==F||t[59]!==E||t[60]!==D||t[61]!==A?(I=(0,T.jsxs)(`div`,{role:`row`,"aria-busy":E,className:`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-linie py-3.5 md:grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] md:items-start`,children:[D,A,j,M,P,F]}),t[55]=j,t[56]=M,t[57]=P,t[58]=F,t[59]=E,t[60]=D,t[61]=A,t[62]=I):I=t[62],I}var M={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},N={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function P(e){let t=(0,C.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=p(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,T.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:r}),t[2]=r,t[3]=i);let a;t[4]===n.anlass?a=t[5]:(a=(0,T.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:n.anlass}),t[4]=n.anlass,t[5]=a);let o=M[n.stufe],s;t[6]!==n.titel||t[7]!==o?(s=(0,T.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,T.jsx)(m,{art:o,children:n.titel})}),t[6]=n.titel,t[7]=o,t[8]=s):s=t[8];let c;t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,T.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[i,a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12];let l;t[13]!==n.stufe||t[14]!==n.zeilen?(l=n.stufe!==`grau`&&n.zeilen.length>0&&(0,T.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(F)}),t[13]=n.stufe,t[14]=n.zeilen,t[15]=l):l=t[15];let u;return t[16]!==c||t[17]!==l?(u=(0,T.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3`,children:[c,l]}),t[16]=c,t[17]=l,t[18]=u):u=t[18],u}function F(e){return(0,T.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,T.jsx)(`span`,{"aria-hidden":!0,className:i(`size-1.5 shrink-0 -translate-y-px rounded-full`,N[e.stufe])}),(0,T.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,T.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function I(e){return e.mtime?p(new Date(e.mtime*1e3).toISOString()):e.snapshot}function le(){let e=(0,C.c)(126),t=l(),n=re(!0).data?.update_fenster,r=te(),i=ee(),a=c(),p=o(),m=u(),h=ne(),y=d(),[b,x]=(0,w.useState)(null),O;e[0]===t.data?.updates.bausteine?O=e[1]:(O=new Map((t.data?.updates.bausteine??[]).map(he)),e[0]=t.data?.updates.bausteine,e[1]=O);let ae=O,oe=new Map((t.data?.updates.festgehalten??[]).map(me)),k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k=E.map(pe),e[2]=k):k=e[2];let A=f(k),se;e[3]!==A||e[4]!==ae?(se=(e,t)=>ie(e.id,A[t].data)??ae.has(e.id),e[3]=A,e[4]=ae,e[5]=se):se=e[5];let ce=E.map(se),M;e[6]===r.data?.jobs?M=e[7]:(M=r.data?.jobs??[],e[6]=r.data?.jobs,e[7]=M);let N=M,P;e[8]!==N||e[9]!==t.data?.zustand?(P=N.some(fe)||(t.data?.zustand.update_laeuft??!1),e[8]=N,e[9]=t.data?.zustand,e[10]=P):P=e[10];let F=P,le;e[11]===N?le=e[12]:(le=N.some(de),e[11]=N,e[12]=le);let ge=le,L=F||p.isPending,R=a.data?.available??!1,z;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(s,{text:`Updates werden gelesen …`}),e[13]=t):t=e[13],z=t}else if(t.isError&&!t.data){let n=`Die Box antwortet nicht: ${t.error.message}`,r;e[14]===n?r=e[15]:(r=(0,T.jsx)(s,{fehler:!0,text:n}),e[14]=n,e[15]=r),z=r}else{let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsxs)(`div`,{role:`row`,className:`schild hidden grid-cols-[170px_100px_170px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-xs font-semibold text-text-3 md:grid`,children:[(0,T.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,T.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],z=(0,T.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,E.map((e,t)=>(0,T.jsx)(j,{id:e.id,name:e.name,details:A[t],hatUpdate:ce[t],neuLautStart:ae.get(e.id),fest:oe.get(e.id),gesperrt:L,onStart:()=>x({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=oe.get(e.id);t&&x({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let B;if(i.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],B=t}else if(i.isError&&!i.data){let t;e[18]===i.error.message?t=e[19]:(t=(0,T.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,i.error.message]}),e[18]=i.error.message,e[19]=t),B=t}else if(i.data?.laeufe.length){let t;e[21]===i.data.laeufe?t=e[22]:(t=i.data.laeufe.map(ue),e[21]=i.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,T.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:t}),e[23]=t,e[24]=n),B=n}else{let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Update-Läufe aufgezeichnet.`}),e[20]=t):t=e[20],B=t}let V;if(a.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],V=t}else if(a.isError&&!a.data){let t;e[26]===a.error.message?t=e[27]:(t=(0,T.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,a.error.message]}),e[26]=a.error.message,e[27]=t),V=t}else if(a.data?.backups.length){let t;if(e[29]!==a.data.backups||e[30]!==y.isPending||e[31]!==R){let n;e[33]!==y.isPending||e[34]!==R?(n=e=>(0,T.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2.5`,children:[(0,T.jsx)(`span`,{className:`ziffern text-sm`,children:I(e)}),(0,T.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,T.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,T.jsx)(_,{variant:`ghost`,size:`sm`,disabled:!R||y.isPending,onClick:()=>x({art:`zurueck`,datei:e.file,zeit:I(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=y.isPending,e[34]=R,e[35]=n):n=e[35],t=a.data.backups.slice(0,5).map(n),e[29]=a.data.backups,e[30]=y.isPending,e[31]=R,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,T.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:t}),e[36]=t,e[37]=n),V=n}else{let t;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],V=t}let _e=g,H;e[38]===p?H=e[39]:(H=()=>p.mutate(`pruefen`),e[38]=p,e[39]=H);let ve=p.isPending||ge,ye=ge?`Sucht …`:`Nach Neuem suchen`,U;e[40]!==ye||e[41]!==H||e[42]!==ve?(U=(0,T.jsx)(_,{variant:`outline`,onClick:H,disabled:ve,children:ye}),e[40]=ye,e[41]=H,e[42]=ve,e[43]=U):U=e[43];let be=_,W;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>x({art:`alle`}),e[44]=W):W=e[44];let xe=L||!ce.some(Boolean),G;e[45]!==be||e[46]!==W||e[47]!==xe?(G=(0,T.jsx)(be,{onClick:W,disabled:xe,children:`Alles jetzt aktualisieren`}),e[45]=be,e[46]=W,e[47]=xe,e[48]=G):G=e[48];let K;e[49]!==U||e[50]!==G?(K=(0,T.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[U,G]}),e[49]=U,e[50]=G,e[51]=K):K=e[51];let Se=n?`Jeden ${n.tag_name} um ${n.uhrzeit} automatisch.`:`Einmal pro Woche automatisch.`,q;e[52]===Se?q=e[53]:(q=(0,T.jsxs)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:[Se,` Vorher wird gesichert, danach geprüft.`]}),e[52]=Se,e[53]=q);let J;e[54]===F?J=e[55]:(J=F&&(0,T.jsx)(`p`,{role:`status`,className:`text-[15px] text-cyan`,children:`Gerade läuft ein Update. Weitere lassen sich erst starten, wenn es fertig ist.`}),e[54]=F,e[55]=J);let Ce;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,T.jsx)(S,{}),e[56]=Ce):Ce=e[56];let Y;e[57]!==_e||e[58]!==K||e[59]!==q||e[60]!==J||e[61]!==z?(Y=(0,T.jsxs)(_e,{titel:`Updates`,rechts:K,children:[q,J,z,Ce]}),e[57]=_e,e[58]=K,e[59]=q,e[60]=J,e[61]=z,e[62]=Y):Y=e[62];let X;e[63]===B?X=e[64]:(X=(0,T.jsx)(g,{titel:`Verlauf`,children:B}),e[63]=B,e[64]=X);let Z;e[65]===h?Z=e[66]:(Z=()=>h.mutate(void 0),e[65]=h,e[66]=Z);let we=h.isPending?`Sichert …`:`Jetzt sichern`,Q;e[67]!==h.isPending||e[68]!==Z||e[69]!==we?(Q=(0,T.jsx)(_,{variant:`outline`,size:`sm`,onClick:Z,disabled:h.isPending,children:we}),e[67]=h.isPending,e[68]=Z,e[69]=we,e[70]=Q):Q=e[70];let Te;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,T.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[71]=Te):Te=e[71];let Ee;e[72]!==a.data||e[73]!==R?(Ee=a.data&&!R&&(0,T.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[72]=a.data,e[73]=R,e[74]=Ee):Ee=e[74];let De;e[75]!==V||e[76]!==Q||e[77]!==Ee?(De=(0,T.jsxs)(g,{titel:`Sicherungen`,rechts:Q,children:[Te,Ee,V]}),e[75]=V,e[76]=Q,e[77]=Ee,e[78]=De):De=e[78];let Oe;e[79]!==X||e[80]!==De?(Oe=(0,T.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[X,De]}),e[79]=X,e[80]=De,e[81]=Oe):Oe=e[81];let ke=b?.art===`alle`,Ae;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=()=>x(null),e[82]=Ae):Ae=e[82];let je;e[83]!==b?.art||e[84]!==p?(je=()=>{b?.art===`alle`&&p.mutate(`alle`),x(null)},e[83]=b?.art,e[84]=p,e[85]=je):je=e[85];let Me;e[86]!==L||e[87]!==ke||e[88]!==je?(Me=(0,T.jsx)(v,{offen:ke,titel:`Alles jetzt aktualisieren?`,text:`Motor, llama-swap, Hermes und Betriebssystem werden nacheinander aktualisiert, soweit es Neues gibt, und danach geprüft. Motor und llama-swap holen bei Problemen ihren alten Stand von selbst zurück, vor Hermes wird gesichert. Lucy ist dabei ein paar Minuten nicht erreichbar.`,knopf:`Aktualisieren`,gesperrt:L,onNein:Ae,onJa:je}),e[86]=L,e[87]=ke,e[88]=je,e[89]=Me):Me=e[89];let Ne=b?.art===`einzeln`,Pe=b?.art===`einzeln`?`${b.name} aktualisieren?`:``,Fe=b?.art===`einzeln`?D[b.id]??``:``,Ie;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>x(null),e[90]=Ie):Ie=e[90];let Le;e[91]!==b||e[92]!==p?(Le=()=>{b?.art===`einzeln`&&p.mutate(b.id),x(null)},e[91]=b,e[92]=p,e[93]=Le):Le=e[93];let $;e[94]!==L||e[95]!==Ne||e[96]!==Pe||e[97]!==Fe||e[98]!==Le?($=(0,T.jsx)(v,{offen:Ne,titel:Pe,text:Fe,knopf:`Aktualisieren`,gesperrt:L,onNein:Ie,onJa:Le}),e[94]=L,e[95]=Ne,e[96]=Pe,e[97]=Fe,e[98]=Le,e[99]=$):$=e[99];let Re=b?.art===`freigeben`,ze=b?.art===`freigeben`?`${b.name} freigeben?`:``,Be=b?.art===`freigeben`?`Festgehalten wurde ${b.name}, weil: ${b.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,Ve;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=()=>x(null),e[100]=Ve):Ve=e[100];let He;e[101]!==b||e[102]!==m?(He=()=>{b?.art===`freigeben`&&m.mutate(b.id),x(null)},e[101]=b,e[102]=m,e[103]=He):He=e[103];let Ue;e[104]!==m.isPending||e[105]!==Re||e[106]!==ze||e[107]!==Be||e[108]!==He?(Ue=(0,T.jsx)(v,{offen:Re,titel:ze,text:Be,knopf:`Freigeben`,gesperrt:m.isPending,onNein:Ve,onJa:He}),e[104]=m.isPending,e[105]=Re,e[106]=ze,e[107]=Be,e[108]=He,e[109]=Ue):Ue=e[109];let We=b?.art===`zurueck`,Ge=`Die Einstellungen von Hermes und llama-swap werden auf den Stand von ${b?.art===`zurueck`?b.zeit:``} gesetzt. Vorher wird der jetzige Stand gesichert. Die Dienste starten danach neu.`,Ke;e[110]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=()=>x(null),e[110]=Ke):Ke=e[110];let qe;e[111]!==b||e[112]!==y?(qe=()=>{b?.art===`zurueck`&&y.mutate(b.datei),x(null)},e[111]=b,e[112]=y,e[113]=qe):qe=e[113];let Je;e[114]!==We||e[115]!==Ge||e[116]!==qe||e[117]!==y.isPending?(Je=(0,T.jsx)(v,{offen:We,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ge,knopf:`Zurückspielen`,gesperrt:y.isPending,onNein:Ke,onJa:qe}),e[114]=We,e[115]=Ge,e[116]=qe,e[117]=y.isPending,e[118]=Je):Je=e[118];let Ye;return e[119]!==Y||e[120]!==Oe||e[121]!==Me||e[122]!==$||e[123]!==Ue||e[124]!==Je?(Ye=(0,T.jsxs)(T.Fragment,{children:[Y,Oe,Me,$,Ue,Je]}),e[119]=Y,e[120]=Oe,e[121]=Me,e[122]=$,e[123]=Ue,e[124]=Je,e[125]=Ye):Ye=e[125],Ye}function ue(e){return(0,T.jsx)(P,{lauf:e},e.start)}function de(e){return b(e)&&h(e)}function fe(e){return e.group===`maintenance`&&h(e)}function pe(e){return e.id}function me(e){return[e.baustein,e]}function he(e){return[e.id,e.neu]}export{le as UpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/chevron-right-cy4l-52D.js b/frontend/dist/assets/chevron-right-4vXDP1Jj.js similarity index 60% rename from frontend/dist/assets/chevron-right-cy4l-52D.js rename to frontend/dist/assets/chevron-right-4vXDP1Jj.js index e97b6d1..37c2427 100644 --- a/frontend/dist/assets/chevron-right-cy4l-52D.js +++ b/frontend/dist/assets/chevron-right-4vXDP1Jj.js @@ -1 +1 @@ -import{Qt as e}from"./index-BwBSJspl.js";var t={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file +import{cn as e}from"./index-CIOHqG23.js";var t={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/dist-_946vtHa.js b/frontend/dist/assets/dist-B2n2wafq.js similarity index 99% rename from frontend/dist/assets/dist-_946vtHa.js rename to frontend/dist/assets/dist-B2n2wafq.js index f9ac289..5352e35 100644 --- a/frontend/dist/assets/dist-_946vtHa.js +++ b/frontend/dist/assets/dist-B2n2wafq.js @@ -1,4 +1,4 @@ -import{i as e,r as t,s as n}from"./dist-D4CVSex9.js";import{in as r}from"./index-BwBSJspl.js";import{n as i,r as a}from"./button-D8rvET0Z.js";var o=n(e(),1),s=n(r(),1),c=t(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(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}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let 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}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(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])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` +import{i as e,r as t,s as n}from"./dist-D4CVSex9.js";import{mn as r}from"./index-CIOHqG23.js";import{n as i,r as a}from"./button-D8rvET0Z.js";var o=n(e(),1),s=n(r(),1),c=t(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(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}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let 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}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(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])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` .${ot} { overflow: hidden ${r}; padding-right: ${s}px ${r}; diff --git a/frontend/dist/assets/index-BwBSJspl.js b/frontend/dist/assets/index-CIOHqG23.js similarity index 57% rename from frontend/dist/assets/index-BwBSJspl.js rename to frontend/dist/assets/index-CIOHqG23.js index 67c8cca..1702b26 100644 --- a/frontend/dist/assets/index-BwBSJspl.js +++ b/frontend/dist/assets/index-CIOHqG23.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MenueSchublade-Brg4bBjO.js","assets/dist-D4CVSex9.js","assets/sheet-qFYCDrLr.js","assets/button-D8rvET0Z.js","assets/dist-_946vtHa.js","assets/Start-C6yRlVBM.js","assets/Lampe-gSQfYg4e.js","assets/Updates-Bg-ptea6.js","assets/chevron-right-cy4l-52D.js","assets/Bestaetigen-DO-opKIi.js","assets/Auftraege-cd2jcDwQ.js","assets/Modelle-BECWM9pK.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/search-BlW0aIMN.js","assets/breite-pBrnu3_s.js","assets/Monitoring-DWYmWbUq.js","assets/Dienste-B2tq2N01.js","assets/Homelab-CMoMrvE9.js","assets/HomelabProtokoll-CuswONY1.js","assets/Einstellungen-DU7spr-x.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MenueSchublade-0T5uliTD.js","assets/dist-D4CVSex9.js","assets/sheet-DU78qfp_.js","assets/button-D8rvET0Z.js","assets/dist-B2n2wafq.js","assets/Start-BicB1Gxf.js","assets/Lampe-gSQfYg4e.js","assets/Updates-D5yJY-fn.js","assets/chevron-right-4vXDP1Jj.js","assets/Bestaetigen-D6CzMfJm.js","assets/Auftraege-CdBAGJi2.js","assets/Modelle-Bh5l5QHZ.js","assets/useSelector-uUwrspuX.js","assets/useMatch-CiyhmkMV.js","assets/search-hyFAofkN.js","assets/breite-pBrnu3_s.js","assets/Monitoring-D7SndtTk.js","assets/Dienste-atjWw704.js","assets/Homelab-Cf4eLYlp.js","assets/undo-2-DvQmwdhu.js","assets/HomelabSnapshots-BHJkSmwO.js","assets/HomelabProtokoll-CwVh3SKG.js","assets/Einstellungen-BUM2VQDj.js"])))=>i.map(i=>d[i]); import{a as e,i as t,n,r,s as i,t as a}from"./dist-D4CVSex9.js";import{_ as o,a as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,y as w}from"./useSelector-uUwrspuX.js";import{i as T,n as E,r as D,t as O}from"./useMatch-CiyhmkMV.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ee=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var ee=new MessageChannel,te=ee.port2;ee.port1.onmessage=D,O=function(){te.postMessage(null)}}else O=function(){_(D,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),te=e(((e,t)=>{t.exports=ee()})),ne=e((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ne()})),ie=e((e=>{var n=te(),r=t(),i=re();function a(e){var t=`https://react.dev/errors/`+e;if(1xe||(e.current=be[xe],be[xe]=null,xe--)}function P(e,t){xe++,be[xe]=e.current,e.current=t}var we=Se(null),Te=Se(null),Ee=Se(null),De=Se(null);function Oe(e,t){switch(P(Ee,t),P(Te,e),P(we,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}Ce(we),P(we,e)}function ke(){Ce(we),Ce(Te),Ce(Ee)}function Ae(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,P(De,e)),t=we.current;var n=dp(t,e.type);t!==n&&(P(Te,e),P(we,n))}function je(e){Te.current===e&&(Ce(we),Ce(Te)),De.current===e&&(Ce(De),sh._currentValue=ye)}var Me,Ne;function Pe(e){if(Me===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Me=t&&t[1]||``,Ne=-1)`:-1i||c[r]!==l[i]){var u=` `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Fe=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Pe(n):``}function Le(e,t){switch(e.tag){case 26:case 27:case 5:return Pe(e.type);case 16:return Pe(`Lazy`);case 13:return e.child!==t&&t!==null?Pe(`Suspense Fallback`):Pe(`Suspense`);case 19:return Pe(`SuspenseList`);case 0:case 15:return Ie(e.type,!1);case 11:return Ie(e.type.render,!1);case 1:return Ie(e.type,!0);case 31:return Pe(`Activity`);case 30:return Pe(`ViewTransition`);default:return``}}function Re(e){try{var t=``,n=null;do t+=Le(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` -`+e.stack}}var ze=Object.prototype.hasOwnProperty,Be=n.unstable_scheduleCallback,Ve=n.unstable_cancelCallback,He=n.unstable_shouldYield,Ue=n.unstable_requestPaint,We=n.unstable_now,Ge=n.unstable_getCurrentPriorityLevel,Ke=n.unstable_ImmediatePriority,qe=n.unstable_UserBlockingPriority,Je=n.unstable_NormalPriority,Ye=n.unstable_LowPriority,Xe=n.unstable_IdlePriority,Ze=n.log,Qe=n.unstable_setDisableYieldValue,$e=null,et=null;function tt(e){if(typeof Ze==`function`&&Qe(e),et&&typeof et.setStrictMode==`function`)try{et.setStrictMode($e,e)}catch{}}var nt=Math.clz32?Math.clz32:at,rt=Math.log,it=Math.LN2;function at(e){return e>>>=0,e===0?32:31-(rt(e)/it|0)|0}var ot=256,st=262144,ct=4194304;function lt(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ut(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=lt(n))):i=lt(o):i=lt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=lt(n))):i=lt(o)):i=lt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function dt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ft(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function gt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function _t(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=hr),vr=` `,yr=!1;function br(e,t){switch(e){case`keyup`:return pr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function xr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Sr=!1;function Cr(e,t){switch(e){case`compositionend`:return xr(t);case`keypress`:return t.which===32?(yr=!0,vr):null;case`textInput`:return e=t.data,e===vr&&yr?null:e;default:return null}}function wr(e,t){if(Sr)return e===`compositionend`||!mr&&br(e,t)?(e=In(),Fn=Pn=Nn=null,Sr=!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=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=qr(n)}}function Yr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Yr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Kr(e.document)}return t}function Zr(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`)}var Qr=An&&`documentMode`in document&&11>=document.documentMode,$r=null,ei=null,ti=null,ni=!1;function ri(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ni||$r==null||$r!==Kr(r)||(r=$r,`selectionStart`in r&&Zr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ti&&Gr(ti,r)||(ti=r,r=Jf(ei,`onSelect`),0>=o,i-=o,$i=1<<32-nt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),R&&ta(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),R&&ta(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return R&&ta(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),R&&ta(i,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ee&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ee){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),lo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===le&&no(l)===r.type){n(e,r.sibling),c=i(r,o.props),lo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ee?(c=Bi(o.props.children,e.mode,c,o.key),lo(c,o),c.return=e,e=c):(c=zi(o.type,o.key,o.props,null,e.mode,c),lo(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Ui(o,e.mode,c),c.return=e,e=c}return s(e);case le:return o=no(o),_(e,r,o,c)}if(ve(o))return h(e,r,o,c);if(ge(o)){if(l=ge(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,co(o),c);if(o.$$typeof===k)return _(e,r,z(e,o),c);uo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{so=0;var i=_(e,t,n,r);return oo=null,i}catch(t){if(t===Xa||t===Qa)throw t;var a=Fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var po=fo(!0),mo=fo(!1),ho=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _o(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Mi(e),ji(e,null,n),t}return Oi(e,r,t,n),Mi(e)}function bo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yt(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var So=!1;function Co(){if(So){var e=Va;if(e!==null)throw e}}function B(e,t,n,r){So=!1;var i=e.updateQueue;ho=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===Ba&&(So=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=T({},d,f);break a;case 2:ho=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),od|=o,e.lanes=o,e.memoizedState=d}}function wo(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function To(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=M.T,s={};s.types=o===null?null:o.types,M.T=s,dc(e,!1,t,n);try{var c=i(),l=M.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?uc(e,t,Wa(c,r),jd(e)):uc(e,t,r,jd(e))}catch(n){uc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{N.p=a,o!==null&&s.types!==null&&(o.types=s.types),M.T=o}}function ec(){}function tc(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=nc(e).queue;$s(e,i,t,ye,n===null?ec:function(){return rc(e),n(r)})}function nc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ye,baseState:ye,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:ye},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function rc(e){var t=nc(e);t.next===null&&(t=e.alternate.memoizedState),uc(e,t.next.queue,{},jd())}function ic(){return Da(sh)}function ac(){return ss().memoizedState}function oc(){return ss().memoizedState}function sc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=vo(n);var r=yo(t,e,n);r!==null&&(Pd(r,t,n),bo(r,t,n)),t={cache:Na()},e.payload=t;return}t=t.return}}function cc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},fc(e)?pc(t,n):(n=ki(e,t,n,r),n!==null&&(Pd(n,e,r),mc(n,t,r)))}function lc(e,t,n){uc(e,t,n,jd())}function uc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(fc(e))pc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Wr(s,o))return Oi(e,t,i,0),q===null&&Di(),!1}catch{}if(n=ki(e,t,i,r),n!==null)return Pd(n,e,r),mc(n,t,r),!0}return!1}function dc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},fc(e)){if(t)throw Error(a(479))}else t=ki(e,n,r,2),t!==null&&Pd(t,e,2)}function fc(e){var t=e.alternate;return e===V||t!==null&&t===V}function pc(e,t){Go=Wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function mc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yt(e,n)}}var hc={readContext:Da,use:us,useCallback:Zo,useContext:Zo,useEffect:Zo,useImperativeHandle:Zo,useLayoutEffect:Zo,useInsertionEffect:Zo,useMemo:Zo,useReducer:Zo,useRef:Zo,useState:Zo,useDebugValue:Zo,useDeferredValue:Zo,useTransition:Zo,useSyncExternalStore:Zo,useId:Zo,useHostTransitionStatus:Zo,useFormState:Zo,useActionState:Zo,useOptimistic:Zo,useMemoCache:Zo,useCacheRefresh:Zo,useEffectEvent:Zo},gc={readContext:Da,use:us,useCallback:function(e,t){return os().memoizedState=[e,t===void 0?null:t],e},useContext:Da,useEffect:Bs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Rs(4194308,4,Ks.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rs(4194308,4,e,t)},useInsertionEffect:function(e,t){Rs(4,2,e,t)},useMemo:function(e,t){var n=os();t=t===void 0?null:t;var r=e();if(Ko){tt(!0);try{e()}finally{tt(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=os();if(n!==void 0){var i=n(t);if(Ko){tt(!0);try{n(t)}finally{tt(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=cc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=os();return e={current:e},t.memoizedState=e},useState:function(e){e=Ss(e);var t=e.queue,n=lc.bind(null,V,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Js,useDeferredValue:function(e,t){return Zs(os(),e,t)},useTransition:function(){var e=Ss(!1);return e=$s.bind(null,V,e.queue,!0,!1),os().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=V,i=os();if(R){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||_s(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Bs(ys.bind(null,r,o,e),[e]),r.flags|=2048,Is(9,{destroy:void 0},vs.bind(null,r,o,n,t),null),n},useId:function(){var e=os(),t=q.identifierPrefix;if(R){var n=ea,r=$i;n=(r&~(1<<32-nt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=qo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Et]=t,o[F]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&ml(t)}}return U(t),t.subtreeFlags&=-33554433,hl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ml(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=Ee.current,pa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=oa,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Et]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||ua(t,!0)}else e=lp(e).createTextNode(r),e[Et]=t,t.stateNode=e}return U(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=pa(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[Et]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),e=!1}else n=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lo(t),t):(Lo(t),null);if(t.flags&128)throw Error(a(558))}return U(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=pa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[Et]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),i=!1}else i=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Lo(t),t):(Lo(t),null)}return Lo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),_l(t,t.updateQueue),U(t),null);case 4:return ke(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,U(t),null;case 10:return xa(t.type),U(t),null;case 19:if(Bo(t),r=t.memoizedState,r===null)return U(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)vl(r,!1);else{if(ad!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vo(e),o!==null){for(t.flags|=128,vl(r,!1),e=o.updateQueue,t.updateQueue=e,_l(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ri(n,e),n=n.sibling;return zo(t,Ro.current&1|2),R&&ta(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&We()>gd&&(t.flags|=128,i=!0,vl(r,!1),t.lanes=4194304)}}else{if(!i){if(e=Vo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,_l(t,e),vl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!R)return U(t),null}else 2*We()-r.renderingStartTime>gd&&n!==536870912&&(t.flags|=128,i=!0,vl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=We(),e.sibling=null,o=Ro.current,o=i?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||R?zo(t,o):(n=o,P(jo,t),P(Ro,n),Mo===null&&(Mo=t)),R&&ta(t,r.treeForkCount),e}return U(t),null;case 22:case 23:return Lo(t),Ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(U(t),t.subtreeFlags&6&&(t.flags|=8192)):U(t),n=t.updateQueue,n!==null&&_l(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Ce(Ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(Ma),U(t),null;case 25:return null;case 30:return t.flags|=33554432,U(t),null}throw Error(a(156,t.tag))}function bl(e,t){switch(ia(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xa(Ma),ke(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return je(t),null;case 31:if(t.memoizedState!==null){if(Lo(t),t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return ke(),null;case 10:return xa(t.type),null;case 22:case 23:return Lo(t),Ao(),e!==null&&Ce(Ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return xa(Ma),null;case 25:return null;default:return null}}function xl(e,t){switch(ia(t),t.tag){case 3:xa(Ma),ke();break;case 26:case 27:case 5:je(t);break;case 4:ke();break;case 31:t.memoizedState!==null&&Lo(t);break;case 13:Lo(t);break;case 19:Bo(t);break;case 10:xa(t.type);break;case 22:case 23:Lo(t),Ao(),e!==null&&Ce(Ka);break;case 24:xa(Ma)}}function Sl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Cl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function wl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{To(t,n)}catch(t){Z(e,e.return,t)}}}function Tl(e,t,n){n.props=Cc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function El(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=bi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);p(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Dl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Ol(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Et]=e,zt(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,i).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=Jr(s,h),v=Jr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,M.T=null,n=wd,wd=null;var o=bd,s=Sd;if(yd=0,xd=bd=null,Sd=0,K&6)throw Error(a(331));var c=K;if(K|=4,Yu(o.current),Vu(o,o.current,s,n),K=c,Df(0,!1),et&&typeof et.onPostCommitFiberRoot==`function`)try{et.onPostCommitFiberRoot($e,o)}catch{}return!0}finally{N.p=i,M.T=r,uf(e,t)}}function pf(e,t,n){t=Gi(n,t),t=kc(e.stateNode,t,2),e=yo(e,t,2),e!==null&&(gt(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vd===null||!vd.has(r))){e=Gi(n,e),n=Ac(2),r=yo(t,n,2),r!==null&&(jc(n,r,t,e),gt(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(rd=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(ad===4||ad===3&&(Y&62914560)===Y&&300>We()-md?K&2?cd|=n:Vd(e,0):cd|=n,ud===Y&&(ud=0)),Ef(e)}function gf(e,t){t===0&&(t=mt()),e=Ai(e,t),e!==null&&(gt(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Be(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-nt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=Y,a=ut(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||dt(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=We(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}yd!==0&&yd!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=on(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),zt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+on(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+on(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+on(n.imageSizes)+`"]`)):i+=`[href="`+on(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=T({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Nt]=!0,o.onload=o.onerror=function(){Bt(o)}),zt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+on(r)+`"][href="`+on(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=T({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),zt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Rt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=T({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);zt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Rt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),zt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Rt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),zt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var i=(i=Ee.current)?bm(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Rt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Rt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(i,e,o,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Rt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Pm(e){return`href="`+on(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Nt]){r.loading=1;return}}else t=e.createElement(`link`),t[Nt]=!0,t.onload=t.onerror=Bt.bind(null,t),np(t,`link`,n),zt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+on(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+on(n.href)+`"]`);if(r)return t.instance=r,zt(r),r;var i=T({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),zt(r),np(r,`style`,i),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Pm(n.href);var o=e.querySelector(Fm(i));if(o)return t.state.loading|=4,t.instance=o,zt(o),o;r=Im(n),(i=vm.get(i))&&Hm(r,i),o=(e.ownerDocument||e).createElement(`link`),zt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(i=e.querySelector(zm(o)))?(t.instance=i,zt(i),i):(r=n,(i=vm.get(o))&&(r=T({},n),Um(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),zt(i),np(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,zt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),zt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ie()})),k=i(t(),1),A=r(),oe=k.createContext(void 0),se=e=>{let t=k.useContext(oe);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},ce=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,A.jsx)(oe.Provider,{value:e,children:t})),le={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},ue=new class{#e=le;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function de(e){setTimeout(e,0)}var fe=typeof window>`u`||`Deno`in globalThis;function pe(){}function me(e,t){return typeof e==`function`?e(t):e}function he(e){return typeof e==`number`&&e>=0&&e!==1/0}function ge(e,t){return Math.max(e+(t||0)-Date.now(),0)}function j(e,t){return typeof e==`function`?e(t):e}function _e(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==M(o,t.options))return!1}else if(!ye(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function ve(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(N(t.options.mutationKey)!==N(a))return!1}else if(!ye(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function M(e,t){return(t?.queryKeyHashFn||N)(e)}function N(e){return JSON.stringify(e,(e,t)=>P(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ye(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n500)return t;let r=Ce(e)&&Ce(t);if(!r&&!(P(e)&&P(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{ue.setTimeout(t,e)})}function Ee(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:xe(e,t)}function De(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Oe(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ke=Symbol();function Ae(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ke?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function je(e,t){return typeof e==`function`?e(...t):!!e}function Me(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Ne=()=>fe,Pe=()=>Ne(),Fe=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ie=new class extends Fe{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},Le=de;function Re(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Le,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var ze=Re(),Be=new class extends Fe{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Ve(e){return Math.min(1e3*2**e,3e4)}function He(e){return(e??`online`)!==`online`||Be.isOnline()}var Ue=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function We(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(pe);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new Ue(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Ie.isFocused()&&(e.networkMode===`always`||Be.isOnline())&&e.canRun(),p=()=>He(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(Pe()?0:3),a=e.retryDelay??Ve,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&nf()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var Ge=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),he(this.gcTime)&&(this.#e=ue.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Pe()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(ue.clearTimeout(this.#e),this.#e=void 0)}};function Ke(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Me(e,()=>t.signal,()=>n=!0)},u=Ae(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?Oe:De;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?Je:qe,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:qe(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function qe(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Je(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Ye=class extends Ge{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Qe(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Qe(this.options);e.data!==void 0&&(this.setState(Ze(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Ee(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(pe).catch(pe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>j(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ke||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>j(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!ge(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=Ae(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Ke(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=We({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ue&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ue){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Xe(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ze(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),ze.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Xe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:He(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ze(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Qe(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var $e=class extends Fe{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),tt(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return nt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return nt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof j(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!Se(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&rt(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||j(this.options.enabled,this.#t)!==j(t.enabled,this.#t)||j(this.options.staleTime,this.#t)!==j(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||j(this.options.enabled,this.#t)!==j(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Se(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(pe)),t}#h(e){return!Pe()&&j(this.options.enabled,this.#t)!==!1&&he(e)}#g(){this.#b();let e=j(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=ge(this.#r.dataUpdatedAt,e)+1;this.#u=ue.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return j(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=ue.setInterval(()=>{(this.options.refetchIntervalInBackground||Ie.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(ue.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(ue.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&tt(e,t),o=i&&rt(e,n,t,r);(a||o)&&(l={...l,...Xe(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=Ee(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=Ee(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:it(e,t),refetch:this.refetch,isEnabled:j(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),Se(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();ze.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function et(e,t){return j(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||j(t.retryOnMount,e)!==!1)}function tt(e,t){return et(e,t)||e.state.data!==void 0&&nt(e,t,t.refetchOnMount)}function nt(e,t,n){if(j(t.enabled,e)!==!1&&j(t.staleTime,e)!==`static`){let r=j(n,e);return r===`always`||r!==!1&&it(e,t)}return!1}function rt(e,t,n,r){return(e!==t||j(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&it(e,n)}function it(e,t){return j(t.enabled,e)!==!1&&e.isStaleByTime(j(t.staleTime,e))}var at=class extends Ge{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||ot(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=We({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),ze.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function ot(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var st=class extends Fe{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new at({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=ct(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){ze.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ve(t,e))}findAll(e={}){return this.getAll().filter(t=>ve(e,t))}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ze.batch(()=>Promise.all(e.map(e=>e.continue().catch(pe))))}};function ct(e){return e.options.scope?.id}var lt=class extends Fe{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),Se(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&N(t.mutationKey)!==N(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??ot();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){ze.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function ut(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var dt=class extends Fe{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,ze.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!Se(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(ut(e,n).forEach(e=>{e.destroy()}),ut(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=xe(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new $e(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&ze.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},ft=class extends Fe{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??M(r,t),a=this.get(i);return a||(a=new Ye({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){ze.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_e(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>_e(e,t)):t}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ze.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ze.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},pt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new ft,this.#t=e.mutationCache||new st,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ie.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Be.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(j(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=me(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return ze.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;ze.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return ze.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=ze.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(pe).catch(pe)}invalidateQueries(e,t={}){return ze.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=ze.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(pe)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(pe)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(j(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(j(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(pe).catch(pe)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(pe).catch(pe)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Be.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(N(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ye(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(N(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ye(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=M(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ke&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},mt=k.createContext(!1),ht=()=>k.useContext(mt);mt.Provider;function gt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var _t=k.createContext(gt()),vt=()=>k.useContext(_t),yt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?je(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},bt=e=>{k.useEffect(()=>{e.clearReset()},[e])},xt=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||je(n,[e.error,r])),St=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ct=(e,t)=>e?.suspense&&t.isPending,wt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Tt({queries:e,...t},n){let r=se(n),i=ht(),a=vt(),o=t.subscribed!==!1,s=k.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{St(e);let t=r.getQueryCache().get(e.queryHash);yt(e,a,t)}),bt(a);let[c]=k.useState(()=>new dt(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;k.useSyncExternalStore(k.useCallback(e=>f?c.subscribe(ze.batchCalls(e)):pe,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),k.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>Ct(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&Ct(n,e)?wt(n,new $e(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&xt({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Et(e,t,n){let r=ht(),i=vt(),a=se(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,St(o),yt(o,i,s),bt(i);let[l]=k.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(k.useSyncExternalStore(k.useCallback(e=>{let t=d?l.subscribe(ze.batchCalls(e)):pe;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),k.useEffect(()=>{l.setOptions(o)},[o,l]),Ct(o,u))throw wt(o,l,i);if(xt({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function F(e,t){return Et(e,$e,t)}function Dt(e,t){let n=se(t),[r]=k.useState(()=>new lt(n,e));k.useEffect(()=>{r.setOptions(e)},[r,e]);let i=k.useSyncExternalStore(k.useCallback(e=>r.subscribe(ze.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=k.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(pe)},[r]);if(i.error&&je(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var Ot=k.use,kt=k.useLayoutEffect;function At(e){return e.replace(/\/{2,}/g,`/`)}function jt(e){return e===`/`?e:e.replace(/^\/+/,``)}function Mt(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/+$/,``):e}function Nt(e){return Mt(jt(e))}function Pt(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Ft(e,t,n=`never`,r){if(t.includes(`//`)&&(t=At(t)),t.startsWith(`/`))return t.length===1||n===`preserve`?t:n===`always`?t.endsWith(`/`)?t:`${t}/`:t.endsWith(`/`)?t.slice(0,-1):t;let i=t===`.`,a;if(r){a=i?e:e+`\0`+t;let n=r.get(a);if(n)return n}let o;if(i)o=e.split(`/`);else{for(e.includes(`//`)&&(e=At(e)),o=e.split(`/`);o.length>1&&d(o)===``;)o.pop();let n=t.split(`/`);for(let e=0,t=n.length;e1?o.pop():o=[``]:r===`.`||o.push(r)}}o.length>1&&(d(o)===``?n===`never`&&o.pop():n===`always`&&o.push(``));let s=o.join(`/`),c=(i?At(s):s)||`/`;return a&&r&&r.set(a,c),c}function It(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=new RegExp([...t.keys()].join(`|`).replace(/[.*()]/g,`\\$&`),`g`);return e=>e.replace(n,e=>t.get(e)??e)}function Lt(e){return e==null||e===``}function Rt(e,t,n){if(typeof t!=`string`)return``+(t??void 0);let r=e===`_splat`;if(r&&(!t||/^[a-zA-Z0-9\-._~!/]*$/.test(t)))return t;let i=encodeURIComponent(t);return r&&(i=i.replaceAll(`%2F`,`/`)),n?n(i):i}function zt(e,t,n,r,i){let a=e.endsWith(`/`)?`/`:``,o=``;for(let e of t){if(typeof e==`string`){o+=e;continue}let[t,s,c,l]=e,u=t===2,d=u&&l!==void 0?l+a:l,f=n[s];if(t!==3||f!=null){if(i&&(i[s]=f,u&&(i[`*`]=f)),u&&Lt(f)){if(c===`/`&&!d)continue;f=``}o+=c+Rt(s,f,r)+(d||``)}}return o+a||`/`}function Bt(e){return e?.isNotFound===!0}function Vt(){try{return sessionStorage}catch{return}}var Ht=`tsr-scroll-restoration-v1_3`,Ut=Vt();function Wt(){try{return JSON.parse(Ut?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Gt(){try{Ut?.setItem(Ht,JSON.stringify(Kt))}catch{}}var Kt=Wt(),qt=`data-scroll-restoration-id`,Jt=e=>e.state.__TSR_key||e.href;function I(e){let t=e.getAttribute(qt);if(t)return`[${qt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Yt=!1,Xt=`window`;function Zt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Qt(e){let t=new Set;for(let n of e){if(n===Xt)continue;let e=Zt(n);e&&t.add(e)}return t}function $t(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Jt,a=new Set,o=e=>{let t=Kt[e]||={};for(let e of a)e===document?t[Xt]={scrollX,scrollY}:e.isConnected&&(t[I(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Yt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Yt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Gt()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Kt[d];if(e){let t=Kt[u];for(let n in e){if(n===Xt){if(s)continue}else{let e=Zt(n);if(!e||s&&o&&(l??=Qt(o),l.has(e)))continue}t||=Kt[u]={},t[n]??=e[n]}}}Yt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Qt(o));let t=e&&i&&c,s=r.restoring?Kt[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Xt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Zt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Yt=!1}}))}function en(e,t=String){let n;for(let r in e){let i=e[r];i!==void 0&&(n||=new URLSearchParams).set(r,t(i))}return n?n.toString():``}function tn(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function nn(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=tn(r):Array.isArray(t)?t.push(tn(r)):n[e]=[t,tn(r)]}return n}var rn=/^(?:\s|["[{\d-]|fa|nu|tr)/,an=sn(JSON.parse),on=cn(JSON.stringify,JSON.parse);function sn(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=nn(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!rn.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function cn(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!rn.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=en(e,r);return t?`?${t}`:``}}var ln=`__root__`;function un(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function dn(e){return e instanceof Response&&!!e.options}function fn(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var pn=4,mn=5;function hn(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function gn(e,t,n){let r=e.substring(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.substring(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s!e.parse&&e.caseSensitive===_&&e.prefix===d&&e.suffix===g);if(y)c=y;else{let e=yn(r,t,_,d,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}m&&h=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!r||!_&&(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)){if(a){if(_)continue;let e=t.slice(u).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length=0;t--){let n=i.optional[t];s.push({node:n,index:u,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.pathless[e];s.push({node:t,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;ee.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===pn)>(e.node.kind===pn)||t.node.kind===pn==(e.node.kind===pn)&&t.node.depth>e.node.depth)))}function Pn(e,t,n){let r=Nt(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=At(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>Fn(n,s.input({url:e})),output:({url:e})=>s.output({url:In(n,e)})}:s}function Fn(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function In(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Ln(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),c=n(e),l=n(void 0),u=n([]),d=r(()=>u.get().map(e=>a.get(e).get())),f=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:d.get(),location:c.get(),resolvedLocation:l.get()}));function p(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let m={status:o,location:c,resolvedLocation:l,ids:u,matches:d,byRoute:a,__store:f,getMatchStore:p,setMatches:h};function h(e){let t=u.get(),n=e.map(e=>e.routeId);i(()=>{s(t,n)||u.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=p(t.routeId);e.get()!==t&&e.set(t)}})}return m}var Rn=`__TSR_index`,zn=`popstate`,Bn=`beforeunload`,Vn=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function Hn(e){let t=Vn.exec(e);return t?`/`+e.slice(t[0].length):e}function Un(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>` -\r`.includes(e)?``:encodeURIComponent(e))),Hn(e)}function Wn(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=qn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Rn];i=Gn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Rn];i=Gn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Rn]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Gn(e,t){let n=Jn();return{...t,key:n,__TSR_key:n,[Rn]:e}}function Kn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Un(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>qn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Jn();t.history.replaceState({[Rn]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=qn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Rn]-l.state[Rn],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Wn({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Bn,x,{capture:!0}),t.removeEventListener(zn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Bn,x,{capture:!0}),t.addEventListener(zn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function qn(e,t){let n=Un(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=Jn();t={[Rn]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function Jn(){return(Math.random()+1).toString(36).substring(7)}function Yn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Xn(e){return e.pathname+e.search+e.hash}function Zn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Qn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function $n({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function er(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function tr(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var nr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Kn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Nt(n)?Pn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Ln(this.latestLocation,e),$t(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=wn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&bn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:fn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),s=this.options.stringifySearch(i);return{href:e+s+r,publicHref:e+s+r,pathname:b(e),external:!1,searchStr:s,search:o(t?.search,i),hash:b(r.slice(1)),state:w(t?.state,a)}}let s=Fn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:b(Hn(s.pathname)),external:!!this.rewrite&&Yn(s,this.origin),searchStr:l,search:o(t?.search,c),hash:b(s.hash.slice(1)),state:w(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Cn(Mt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=qn(n.href,{});n={...n,to:Fn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Ft(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[Mt(c)],d=c.includes(`$`),f;if(l)f=l._branch??=Dn(l);else if(d)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=d?l?._interpolation??_n(!1,{fullPath:c},0):void 0,h;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(h??=sr(n.params,e),!u(h))break;h===e&&(h=Object.assign(_(),h));try{Object.assign(h,t(h))}catch{}}}h??=sr(n.params,cr(n.params,p)?o()[3]:lr);let g=e.leaveParams?c:Hn(b(p?zt(c,p,h,this.pathParamsDecoder):c)),v=ur(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,or(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},x=v.length?dr(v,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||lr,S=this.options.stringifySearch(x),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:lr,E=`${g}${S}${w}`,D,O,ee=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=In(this.rewrite,e);D=Xn(e),Yn(n,t)?(O=n.href,ee=!0):O=Hn(Xn(n))}else D=m(E),O=D;return{publicHref:O,href:D,pathname:g,search:x,searchStr:S,state:T,hash:C??``,external:ee,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=xn(r.pathname,this.processedTree);if(t){let i=Object.assign(_(),t.rawParams),{from:a,params:o,...s}=t.route,c=sr(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return rr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=Mt(this.latestLocation.href)===Mt(n.href)&&c($n(n.state),$n(this.latestLocation.state)),o=this._commitPromise,s,l=new Promise(e=>{s=e});if(l.resolve=()=>{s(),o?.resolve()},this._commitPromise=l,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?l(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return rr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ri(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Qn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Zn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(C.test(n)||(r=l(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Yn(e,this.origin)||(n=Xn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=gr,this.preloadRoute=e=>ii(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Ft(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=Sn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!c(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?c(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=It(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??on,parseSearch:e.parseSearch??an,protocolAllowlist:e.protocolAllowlist??p}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=_n(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,s=!1;(i?i.path!==`/`&&r[`**`]:Mt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:s=!0);let c=s?fr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!v.call(e,t[1]))}var lr=Object.freeze({});function ur(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=or(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function dr(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=S(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function fr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return ln}function pr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function mr(e,t){return e.options[t]?.preload?.()}function hr(e,t){let n=mr(e,`component`),r=mr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function gr(e,t,n){let r=()=>t===!1?void 0:t?mr(e,t):hr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function _r(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function Tr(e,t){return e.routesById[t.routeId]}function Er(e,t,n){return dn(e)?[xr,e]:Bt(e)?(e.routeId||=n,[br,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[yr,e]):[vr,e]}function Dr(e,t){let n=Er(t,!0,e.id);if(n[0]!==yr)return n;try{e.options.onError?.(n[1])}catch(t){n=Er(t,!0,e.id)}return n}function Or(e,t,n,r,i){return i[0].signal.aborted?Sr:Wr(e,t,n,Dr(n,r),i)}async function kr(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}if(c.aborted)return[i,Sr];let p=r.paramsError??r.searchError;if(p!==void 0)return jr(e,r),[i,Or(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Pr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?wr(a,c):a);if(c.aborted)return[i,Sr];let s=Wr(e,t,u,Er(o,!1,u.id),n);if(s[0]!==vr)return jr(e,r),[i,s];r.context={...r.context,...o}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}finally{r.status=h,Pr(e,r,!1,n[0])}}i()}function Ar(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function jr(e,t){let n=t._flight;t._flight=void 0,Ar(e,t,n)?.abort()}function Mr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ar(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Nr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Pr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Fr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ir(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return Sr;if(!i)return[vr,void 0];let l=n._flight;Pr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Fr(e,t,n,r,s,a,!!o[3]))).then(e=>Er(e,!1,r.id),e=>Er(e,!0,r.id)).then(t=>(t[0]!==vr&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===yr&&l[2]?Dr(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Wr(e,t,r,await wr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return jr(e,n),Sr}finally{Pr(e,n,!1,s)}}function Lr(e,t,n){t[0]!==xr&&(e.status=`success`,e.error=void 0,t[0]===vr?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Rr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&jr(e,r)}function zr(e,t){return t[0]===yr||t[0]===br?{...e,status:t[0]===yr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Br(e,t,n,r,i,a,o){let s=t[1][n],c=Tr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Fr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=Sr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,jr(e,s),p=Or(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Ar(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Ir(e,t,s,c,g,i,a).then(t=>(Lr(s,t,l),t[0]===vr&&(m&&!a[0].signal.aborted&&Rr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[vr,s.loaderData]),T=(async()=>{try{let e=gr(c,void 0,C);e&&await wr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Or(e,t,c,r,a)]}let r=await w;x&&r[0]===vr&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>zr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Ir(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Lr(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>zr(E,e))}async function Vr(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Tr(e,t[n]);try{let e=gr(i,!1);e&&await wr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Hr(e,t){t[2]&&=(Mr(e,t[2].map(e=>e[3])),void 0)}async function Ur(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=xr)throw[a,t];!i&&t[0]!==vr&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===xr)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Wr(e,t,n,r,i,a){for(;r[0]===xr;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[xr,t]:[xr,t,a]}return[xr,o,n]}catch(e){r=a?[yr,e]:Dr(n,e),a=!0}}return r}async function Gr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===br?Vr(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=xr)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==vr&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=xr){let n=s[1];if(n[0]!==xr||n[1].options.reloadDocument||n[2])return Hr(e,t),n;c=!0,s=[0,[yr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===yr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=Tr(e,u);try{await wr(i?Promise.resolve().then(()=>gr(m,l===yr?`errorComponent`:`notFoundComponent`)):Promise.all([gr(m),gr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Hr(e,t),Sr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Hr(e,t),Mr(e,o),p()):u.status=`success`}return t}async function Kr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Vr(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=xr&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Gr(e,i,u,r[0],Ur(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Ur(i[2],void 0,void 0,h.then(e=>Cr(e)?0:_r(n).length,()=>0))),o=await h}catch(t){if(Hr(e,i),t===a&&a.aborted)return Sr;throw t}return Cr(o)?o:Kr(e,o,a,r[6]===n.length?r[6]:0)}function Jr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>Jr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Yr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Xr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!_r(t[3]).some(e=>e.id===n[1]))return;let i;try{await wr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Zr(e,t){e._committed=t,e.stores.setMatches(t)}function Qr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=_r(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=er(n);Zr(e,n),Mr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),tr(e,i,n,a,l,t)}async function $r(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function ei(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ti(e,t,n,r,i){let a=n.map(e=>({...e}));Nr(a);for(let t of r)jr(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Gr(e,o,r,t[0],i)}catch(t){throw Mr(e,a),t}if(Cr(s)){Mr(e,a),s[0]===xr&&e._tx===t&&e._committed===n&&await ei(e,t,s);return}if(await Kr(e,s,t[0].signal),e._tx!==t||e._committed!==n){Mr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),jr(e,n))}Zr(e,a),Mr(e,n,a)}async function ni(e,t,n,r,i,a){let o=await qr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Cr(o)){let n=o[0]===xr&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Yr(e,t),Mr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Yr(e,t);return}await ei(e,t,o);return}let s=o[1];if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let c=t[2],l=Qn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let n=await e.startTransition(()=>{Yr(e,t),Qr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Hr(e,o);return}u?.length&&ti(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ri(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Qn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await $r(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Nr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){Mr(e,m),await $r(e,n);return}e._preflight=void 0;let g,_=()=>ni(e,y,f,()=>Jr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>$r(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Pr(e,t,!1)}n[0].abort(),Mr(e,n[3],y[3],!0)}if(e._tx!==y){Mr(e,y[3]),y[3]=[],g?.(),await $r(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&Jr(e,y),g?.(_()),await y[5]}async function ii(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Nr(a),o=(e._preloads??=new Map).set(i,a),s=await qr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),Mr(e,a)),i.abort()}if(!Cr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){Bt(e)||console.error(e);return}}}var ai=`Error preloading route! ☝️`,oi=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=ln:this.parentRoute||T();let r=n?ln:t?.path;r&&r!==`/`&&(r=jt(r));let i=t?.id||r,a=n?ln:At((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:At(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=Mt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>un({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},si=class extends oi{constructor(e){super(e)}},ci=class extends k.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?k.createElement(this.props.errorComponent??li,{error:e[0],reset:this.reset}):this.props.children}};function li({error:e}){let[t,n]=k.useState(!1);return(0,A.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,A.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,A.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,A.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,A.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,A.jsx)(`div`,{children:(0,A.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,A.jsx)(`code`,{children:e.message}):null})}):null]})}var ui=()=>!0,di=()=>!1;function fi({children:e,fallback:t=null}){return(0,A.jsx)(k.Fragment,{children:pi()?e:t})}function pi(e=!0){return k.useSyncExternalStore(mi,ui,e?di:ui)}function mi(){return()=>{}}function hi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function gi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var _i=[],vi=0,{link:yi,unlink:bi,propagate:xi,checkDirty:Si,shallowPropagate:Ci}=hi({update(e){return e._update()},notify(e){_i[Ti++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ki(e))}}),wi=0,Ti=0,Ei,Di=0;function Oi(e){try{++Di,e()}finally{--Di||Ai()}}function ki(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=bi(n,e)}function Ai(){if(!(Di>0)){for(;wi{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ei,o=t?.compare??Object.is;if(n)Ei=i,++vi,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ei=a,n&&(i.flags&=-5),ki(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Si(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ci(e)}}else e&32&&(i.flags=e&-33);return Ei!==void 0&&yi(i,Ei,vi),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(xi(e),Ci(e),Ai())}},i}function Mi(e){let t=()=>{let t=Ei;Ei=n,++vi,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ei=t,n.flags&=-5,ki(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Si(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,ki(this)}};return t(),n}function Ni(e){return O({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Pi(e){let{select:t,...n}=e;return O({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Fi(e){return O({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Ii(e){return O({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Li(e){let t=g();return k.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Ri(e){let t=g(),n=Li(),r=k.useRef(null);return kt(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function zi(e){return O({...e,select:t=>e.select?e.select(t.context):t.context})}function Bi(...e){let t=k.useRef(e),n=t.current;return e.forEach((e,t)=>{c(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Vi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ai)})}var Hi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Ui(e,t){let n=typeof e==`string`&&l(e);if(n)return t.has(n)?e:null}function Wi(e,t,n,r,i){let a=Pt(e.pathname,r),o=Pt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!c(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Gi(e,t,n){let r=g(),i=k.useRef(null),a=k.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:_,disabled:v,target:y,onClick:b,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=pi(!!o?.includeHash),[O,ee,te]=Bi(e.search,e.params,o),[ne,re]=k.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,ee,e.state,e.mask,e.unsafeRelative]),ie=k.useCallback(e=>{let t=Ui(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];ne._fromLocation||(re._fromLocation=e);let n=r.buildLocation(re),i=ea(n,r,v);return[i,!v&&(!i||l(i))?void 0:Wi(e,n,te,r.basepath,D)]},[te,v,D,ne,re,r,s]),[ae,A]=x(r.stores.location,ie,Hi),oe=A===void 0?ae:void 0,se=v||ae===void 0,ce=k.useRef(!1),le=e.reloadDocument||oe||se?!1:c??r.options.defaultPreload,ue=u??r.options.defaultPreloadDelay??0,de=k.useCallback(e=>{let t=e?.isIntersecting;if(!(t??le===`intent`)){t===!1&&Qi(i);return}if(!ue){Vi(r,ne);return}Zi.has(i)||Zi.set(i,setTimeout(()=>{Zi.delete(i),Vi(r,ne)},ue))},[r,ne,i,le,ue]);k.useEffect(()=>{le===`render`&&!ce.current&&(ce.current=!0,Vi(r,ne));let e;return le===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>de(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Qi(i)}},[r,ne,le,de,i]);let fe=Yi(e,n);if(fe.ref=t?a:i,oe)return fe.href=oe,fe;let pe=e=>{let t=y??e.currentTarget.getAttribute(`target`);!se&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...ne,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:_}))},me=()=>{le===`intent`&&Vi(r,ne)},he=()=>{le===`intent`&&Qi(i)};return fe.onClick=$i(b,pe),fe.onBlur=$i(S,he),fe.onFocus=$i(C,de),fe.onMouseEnter=$i(w,de),fe.onMouseLeave=$i(T,he),fe.onTouchStart=$i(E,me),Xi(fe,e,A,ae,se,n)}var Ki={},qi={className:`active`},Ji=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Yi(e,t){let n={};for(let r in e)Ji.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Xi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=S(n?o:s,{})??(n?qi:Ki);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Zi=new WeakMap,Qi=e=>{clearTimeout(Zi.get(e)),Zi.delete(e)},$i=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function ea(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!h(i,t.protocolAllowlist))return i}var ta=k.memo(k.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Gi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return k.createElement(n,r,i)}),na);function na(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!Ji.has(r)||!c(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var ra=class extends oi{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function ia(e){return new ra(e)}var aa=class extends si{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function oa(e){return new aa(e)}function L(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(f(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Ot)Ot(a());else throw a()}return k.createElement(r,e)};return o.preload=a,o}function R(e){let t=g(),n=`not-found-${x(t.stores.location,e=>e.pathname)}-${x(t.stores.status)}`;return(0,A.jsx)(ci,{getResetKey:()=>n,onCatch:(t,n)=>{if(Bt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Bt(t))return e.fallback?.(t);throw t},children:e.children})}function sa(){return(0,A.jsx)(`p`,{children:`Not Found`})}function ca(e){return(0,A.jsx)(A.Fragment,{children:e.children})}function la(e,t,n){return t.options.notFoundComponent?(0,A.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,A.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,A.jsx)(sa,{})}function ua(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}var da=(e,t)=>e[0]===t[0]&&e[1]===t[1],fa=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,pa=k.memo(function({routeId:e}){let t=g();return(0,A.jsx)(ma,{router:t,match:x(t.stores.getMatchStore(e))})});function ma({router:e,match:t}){let n=e.routesById[t.routeId],r=ua(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=fa(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?k.Suspense:ca,l=i?ci:ca,u=o?R:ca;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??ca:ca,{children:[(0,A.jsx)(D.Provider,{value:t.routeId,children:(0,A.jsx)(c,{fallback:r,children:(0,A.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(Bt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,A.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return k.createElement(o,e)},children:s?(0,A.jsx)(fi,{fallback:r,children:(0,A.jsx)(ha,{match:t})}):(0,A.jsx)(ha,{match:t})})})})}),null]})}var ha=k.memo(function({match:e}){let t=g(),n=e.routeId,r=t.routesById[n],i=k.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=k.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,A.jsx)(e,{},i):(0,A.jsx)(ga,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!fa(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return ua(t,r)}if(e.status===`notFound`)return la(t,r,e.error);if(e.status===`error`)throw e.error;return a}),ga=k.memo(function(){let e=g(),t=k.useContext(D),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=x(a,e=>[!!e._notFound,e.error],{compare:da}),i=x(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return la(e,e.routesById[t],r);if(!i)return null;let a=(0,A.jsx)(pa,{routeId:i});return t===`__root__`?(0,A.jsx)(k.Suspense,{fallback:ua(e),children:a}):a});function _a(e,t){let n=e[1];e.length=0,n?.(t)}function va({t:e}){let t=g(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{_a(n,!1),n.push(i,a),e(t),k.startTransition(r)}),kt(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(Mt(r.publicHref)!==Mt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Qn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function ya(){let e=g(),t=e.routesById[ln],n=ua(e,t),r=e.ssr?ca:k.Suspense,i=(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(va,{t:k.useState()[1]}),(0,A.jsx)(r,{fallback:n,children:(0,A.jsx)(ba,{})})]});return e.options.InnerWrap?(0,A.jsx)(e.options.InnerWrap,{children:i}):i}function ba(){let e=g(),t=e._rendered,n=x(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;kt(()=>{t[0]===n&&_a(t,!0)},[t,n]);let a=i?(0,A.jsx)(pa,{routeId:i}):null;return(0,A.jsx)(D.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,A.jsx)(ci,{getResetKey:()=>r,onCatch:void 0,children:a})})}var xa=e=>({createMutableStore:ji,createReadonlyStore:ji,batch:Oi}),Sa=e=>new Ca(e),Ca=class extends nr{constructor(e){super(e,xa)}};function wa({router:e,children:t,...n}){u(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,A.jsx)(y.Provider,{value:e,children:t});return e.options.Wrap?(0,A.jsx)(e.options.Wrap,{children:r}):r}function Ta({router:e,...t}){return(0,A.jsx)(wa,{router:e,...t,children:(0,A.jsx)(ya,{})})}function Ea(e){let t=g({warn:e?.router===void 0}),n=e?.router||t;return x(n.stores.__store,E(e,n))}var Da=ae(),z=n();function Oa(e){let t=(0,z.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(`p`,{className:`schild text-lg text-rot`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,A.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,A.jsx)(`button`,{type:`button`,onClick:ka,className:`schild h-11 rounded-lg border border-rot-rand px-5 text-sm text-foreground hover:bg-[#3a1512]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,A.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function ka(){return window.location.reload()}var Aa=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function ja(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:Aa(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var Ma=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Na=e=>{let t=Ma(e);return t.charAt(0).toUpperCase()+t.slice(1)},Pa=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Fa={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Ia(e){return e!=null}function La(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Fa.width,a=e.size??e.height??Fa.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Pa(...c):Pa(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Fa[`stroke-width`])*Number(e.size??e.width??Fa.width)/Number(t.size??t.width??Fa.width):t.strokeWidth??Fa[`stroke-width`];return[`svg`,{...Object.entries(Fa).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Ia(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Ia(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Ia(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function Ra(e,t={}){return La(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var za=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Ba=(0,k.createContext)({}),Va=()=>(0,k.useContext)(Ba),Ha=(0,k.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Va()??{},y=!!c||za(d),[b,x,S=[]]=Ra(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Pa(v,s),hasA11yProp:y,attributes:d});return(0,k.createElement)(b,{ref:f,...x},[...S.map(([e,t])=>(0,k.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Ua(e,t=[],n=[]){let r=typeof e==`string`?ja(e,t,n):e,i=(0,k.forwardRef)(({className:e,...t},n)=>(0,k.createElement)(Ha,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Na(r.name)),i}var Wa={name:`activity`,size:24,node:[[`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`}]]};Wa.node;var Ga=Ua(Wa),Ka={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Ka.node;var qa=Ua(Ka),Ja={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};Ja.node;var Ya=Ua(Ja),Xa={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Xa.node;var Za=Ua(Xa),Qa={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};Qa.node;var $a=Ua(Qa),eo={name:`external-link`,size:24,node:[[`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`}]]};eo.node;var to=Ua(eo),no={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};no.node;var ro=Ua(no),io={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};io.node;var ao=Ua(io),oo={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};oo.node;var so=Ua(oo),co={name:`refresh-cw`,size:24,node:[[`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`}]]};co.node;var lo=Ua(co),uo={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};uo.node;var fo=Ua(uo),po={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};po.node;var mo=Ua(po),ho={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};ho.node;var go=Ua(ho),_o=[`/api/instanz`,`/api/partner`,`/api/health`],vo=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function yo(e,t){return!e.startsWith(`/api/`)||_o.some(t=>vo(e,t))||(vo(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var bo=null;function xo(){return bo??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(bo=null,`box`)),bo}var So=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function Co(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function B(e,t={}){let n=yo(e,await xo()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new So(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?wo(i):null;if(!r.ok)throw new So(r.status,Co(a,r.status));if(typeof a==`string`)throw new So(r.status,`Die Box antwortet nicht mit Daten.`);return a}function wo(e){try{return JSON.parse(e)}catch{return e}}var To=(e,t)=>B(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),Eo=100,Do=95,Oo=210,ko=240;function Ao(e,t){let n=e*Math.PI/180;return[Eo+t*Math.cos(n),Do-t*Math.sin(n)]}var jo=e=>Math.round(e*100)/100;function Mo(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=Ao(Oo-ko*r,n),[s,c]=Ao(Oo-ko*i,n),l=+((i-r)*ko>180);return`M ${jo(a)} ${jo(o)} A ${n} ${n} 0 ${l} 1 ${jo(s)} ${jo(c)}`}function No(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--gruen)`}var Po={ok:`border-gruen-rand bg-gruen-grund text-gruen`,info:`border-cyan-rand bg-cyan-grund text-cyan`,stumm:`border-aus-rand bg-aus-grund text-aus-text`,gelb:`border-2 border-bernstein bg-bernstein-grund text-bernstein-hell lampe-atmet`,rot:`border-2 border-rot bg-rot-grund text-rot shadow-[0_0_32px_rgba(255,90,79,0.3)]`};function Fo(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`SCHWEIGT`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`IN ORDNUNG`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} HINWEIS${e.anzahl===1?``:`E`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function Io(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function Lo(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var Ro=e=>e.state===`running`||e.state===`queued`;function zo(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var Bo={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function Vo(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var Ho=[],V=1,H=new Set,Uo=()=>H.forEach(e=>e());function Wo(e,t){let n=V++;Ho=[...Ho,{id:n,art:e,text:t}].slice(-4),Uo(),e!==`fehler`&&window.setTimeout(()=>Go(n),6e3)}function Go(e){Ho=Ho.filter(t=>t.id!==e),Uo()}var Ko=()=>(0,k.useSyncExternalStore)(qo,Jo);function qo(e){return H.add(e),()=>{H.delete(e)}}function Jo(){return Ho}var Yo=2e3,Xo=3e4,Zo=2e4,Qo=`verbinde`,$o=null,es=new Set,ts=()=>es.forEach(e=>e());function ns(e){return es.add(e),()=>{es.delete(e)}}var rs=()=>Qo===`live`,is=()=>(0,k.useSyncExternalStore)(ns,cs),as=()=>(0,k.useSyncExternalStore)(ns,ls);function os(e){e!==Qo&&(Qo=e,ts())}function ss(){let e=se();(0,k.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Yo,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Xo))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),os(`getrennt`),s()},Zo)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Yo,os(`live`),c(),e.invalidateQueries()},i.onerror=()=>{os(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{$o=JSON.parse(e.data),ts()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Yo,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),os(`getrennt`)}},[e])}function cs(){return Qo}function ls(){return $o}var us=`Europe/Berlin`,ds=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:us}),fs=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:us}),ps=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:us}),ms=new Intl.DateTimeFormat(`en-CA`,{timeZone:us});function hs(e){return ms.format(e)}function gs(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=hs(t),i=hs(new Date(t.getTime()-864e5)),a=hs(new Date(t.getTime()+864e5)),o=hs(n),s=ds.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${fs.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${ps.format(n)} ${s}`}function _s(e,t=new Date){let n=new Date(e*1e3);return hs(n)===hs(t)?`seit heute ${ds.format(n)}`:`seit ${ps.format(n)}, ${ds.format(n)}`}function vs(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function ys(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var bs=e=>e==null?null:e/1024**3;function xs(e,t=0){let n=bs(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var Ss=e=>e.toLocaleString(`de-DE`),Cs=e=>()=>rs()?e*5:e;function ws(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!Ro(e)&&n.some(t=>t.id===e.id&&Ro(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var Ts=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:wc,refetchInterval:Tc},e[0]=t):t=e[0],F(t)},Es=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:Ec,refetchInterval:Cs(3e4)},e[1]=n):n=e[1],F(n)},Ds=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:Dc,refetchInterval:6e5},e[0]=t):t=e[0],F(t)},Os=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:Oc,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],F(t)},ks=()=>{let e=(0,z.c)(3),t=se(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await B(`/api/jobs`);return ws(t,e.jobs),e},refetchInterval:kc},e[1]=t,e[2]=r),F(r)},As=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:Ac},e[0]=t):t=e[0],F(t)},js=e=>{let t=(0,z.c)(4),n;t[0]===e?n=t[1]:(n=e.map(jc),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),Tt(r)},Ms=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:Mc},e[0]=t):t=e[0],F(t)},Ns=e=>{let t=(0,z.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>B(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],F(a)},Ps=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:Nc,refetchInterval:1e4},e[0]=t):t=e[0],F(t)};function Fs(e,t){let n=(0,z.c)(6),r=se(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Wo(`fehler`,t.fehler?.(n,i)??Lo(i)):t.erfolg(n,e)&&Wo(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:Is},n[3]=e,n[4]=i,n[5]=a):a=n[5],Dt(a)}function Is(e){return Wo(`fehler`,e.message)}var Ls=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Fc,neuLaden:[`start`]},e[0]=t):t=e[0],Fs(Pc,t)},Rs={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},zs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Lc,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],Fs(Ic,t)},Bs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:zc,fehler:Bc,neuLaden:[`jobs`]},e[0]=t):t=e[0],Fs(Rc,t)},Vs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Hc,neuLaden:[`jobs`]},e[0]=t):t=e[0],Fs(Vc,t)},Hs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Wc,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],Fs(Uc,t)},Us=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:Gc,staleTime:6e4},e[0]=t):t=e[0],F(t)},Ws=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:qc,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],Fs(Kc,t)},Gs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Yc,neuLaden:[`start`]},e[0]=t):t=e[0],Fs(Jc,t)},Ks=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Zc,fehler:Qc,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],Fs(Xc,t)},qs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:el,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],Fs($c,t)},Js=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:nl,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],Fs(tl,t)},Ys=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:il,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],Fs(rl,t)},Xs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ol,neuLaden:[`radar`,`jobs`]},e[0]=t):t=e[0],Fs(al,t)},Zs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:cl,neuLaden:[`jobs`]},e[0]=t):t=e[0],Fs(sl,t)},Qs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:ll,staleTime:1/0},e[0]=t):t=e[0],F(t)},$s=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:ul,refetchInterval:3e4},e[0]=t):t=e[0],F(t)},ec=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:dl,refetchInterval:Cs(3e4)},e[1]=n):n=e[1],F(n)},tc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:fl,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),F(r)},nc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:pl,enabled:e,refetchInterval:hl},t[1]=e,t[2]=r),F(r)},rc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:_l,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],Fs(gl,t)},ic=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Cs(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:vl,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),F(i)},ac=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:U,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},oc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:bl,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],Fs(yl,t)},sc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Sl,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],Fs(xl,t)},cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:wl,neuLaden:[]},e[0]=t):t=e[0],Fs(Cl,t)},lc=(e,t)=>{let n=(0,z.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:Tl,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:El,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],Tt(c)},uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:Dl,staleTime:6e4},e[0]=t):t=e[0],F(t)},dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:kl,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],Fs(Ol,t)},fc={"1h":6e4,"24h":3e5,"7d":9e5},pc=(e,t)=>{let n=(0,z.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>B(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=fc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:Al,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],F(s)},mc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>B(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=fc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:jl,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],F(o)},hc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Ml,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},gc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Nl,enabled:e,refetchInterval:Pl,retry:!1},t[1]=e,t[2]=r),F(r)},_c=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Il,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],Fs(Fl,t)},vc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Rl,neuLaden:[`homelab-sammellauf`]},e[0]=t):t=e[0],Fs(Ll,t)},yc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>B(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=Cs(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],F(o)},bc=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Cs(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:zl,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),F(i)},xc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Bl,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},Sc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Hl,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Fs(Vl,t)},Cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Wl,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Fs(Ul,t)};function wc(){return B(`/api/start`)}function Tc(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:Cs(2e4)()}function Ec(){return B(`/api/models`)}function Dc(){return B(`/api/modelle/nutzung`)}function Oc(){return B(`/api/radar`)}function kc(e){return e.state.data?.jobs.some(Ro)?2e3:Cs(3e4)()}function Ac(){return B(`/api/zeitmaschine`)}function jc(e){return{queryKey:[`update-details`,e],queryFn:()=>B(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function Mc(){return B(`/api/updates/verlauf`)}function Nc(){return B(`/api/system/services`)}function Pc(e){let{hinweis:t,aktion:n}=e;return To(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function Fc(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Ic(e){return To(Rs[e])}function Lc(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Rc(e){let{id:t}=e;return To(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function zc(e){return`${e.titel}: wird abgebrochen.`}function Bc(e){return`${e.titel} lief schon nicht mehr.`}function Vc(e){return To(`/api/jobs/${encodeURIComponent(e)}/quittieren`)}function Hc(){return``}function Uc(e){let{repo:t,quant:n,rolle:r}=e;return To(`/api/models/install`,{repo:t,quant:n,role:r})}function Wc(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${xs(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function Gc(){return B(`/api/modelle/aufraeumen`)}function Kc(e){return To(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function qc(e,t){return t.text??`Gelöscht.`}function Jc(e){return To(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Yc(e,t){return t.text??`Freigegeben.`}function Xc(){return To(`/api/system/backup`)}function Zc(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Qc(e,t){return`Die Sicherung ging nicht: ${Lo(t)}`}function $c(e){return To(`/api/zeitmaschine/restore`,{file:e})}function el(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function tl(e){return To(`/api/models/${encodeURIComponent(e)}/load`)}function nl(e){return`${e} wird geladen.`}function rl(e){let{id:t,aktion:n}=e;return To(`/api/radar/${encodeURIComponent(t)}/${n}`)}function il(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function al(e){let{id:t}=e;return To(`/api/radar/${encodeURIComponent(t)}/testen`)}function ol(e,t){return t.text??`Der Test von ${e.name} läuft.`}function sl(){return To(`/api/radar/suche`)}function cl(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function ll(){return B(`/api/instanz`)}function ul(){return B(`/api/partner`)}function dl(){return B(`/api/ziele`)}function fl(){return B(`/api/homelab/ziele`)}function pl(){return B(`/api/homelab/laeufe`)}function ml(e){return e.status===`laeuft`}function hl(e){return e.state.data?.laeufe.some(ml)?3e3:3e4}function gl(e){return B(e.pfad,{method:e.methode})}function _l(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function vl(){return B(`/api/homelab/hinweise`)}function U(){return B(`/api/einstellungen`)}function yl(e){return To(`/api/einstellungen/update-fenster`,e)}function bl(e,t){return t.text??`Gespeichert.`}function xl(e){return To(`/api/einstellungen/radar`,{an:e})}function Sl(e,t){return t.text??`Geschaltet.`}function Cl(e){return To(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function wl(e,t){return t.text??`Die Testmeldung ist raus.`}function Tl(){return B(`/api/instanz`)}function El(){return B(`/api/partner/instanz`)}function Dl(){return B(`/api/aufraeumen/altreste`)}function Ol(e){return To(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function kl(e,t){return t.text??`Gelöscht.`}function Al(e){return e}function jl(e){return e}function Ml(){return B(`/api/homelab/alle/plan`)}function Nl(){return B(`/api/homelab/sammellauf`)}function Pl(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function Fl(){return To(`/api/homelab/alle`)}function Il(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function Ll(e){return To(`/api/homelab/sammellauf/${encodeURIComponent(e)}/quittieren`)}function Rl(){return``}function zl(){return B(`/api/homelab/speicher`)}function Bl(){return B(`/api/homelab/einstellungen`)}function Vl(e){return e===null?B(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):To(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function Hl(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function Ul(e){return To(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function Wl(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}var Gl={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function Kl(e){let t=e.id.match(/-(\d+)$/)?.[1],n=Gl[e.art]??e.art;return t?`${n} ${t}`:n}var ql={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},Jl=e=>ql[e.name]??e.name,Yl=new Set([`app`,`arcane`]),Xl=e=>e.bausteine.find(e=>Yl.has(e.id))??null,Zl=e=>e.bausteine.find(e=>!Yl.has(e.id))??null;function Ql(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function $l(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function eu(e){let t=e.rueckweg_art??tu(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function tu(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var nu=e=>Yl.has(e.id),ru=e=>e.replace(/^Image vom /,``);function iu(e){return nu(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function au(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function W(e,t){let n=Jl(e),r=au(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>Yl.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:Yl.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:iu(t)}}let a=Xl(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?ru(a.installiert):`aktuell`}}var ou=e=>`${e} HINWEIS${e===1?``:`E`}`;function su(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 GERÄT STUMM`:`${i.length} GERÄTE STUMM`,unten:i.map(Jl).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:ou(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`AUSFÜHRER STUMM`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:ou(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=Ql(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} UPDATE${a===1?``:`S`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`ALLES AKTUELL`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function cu(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var lu=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],uu=[{to:`/`,label:`Übersicht`,Icon:ao,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:ro,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:lo,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:$a,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Ga,ort:`box`},{to:`/box/dienste`,label:`Dienste und Protokolle`,Icon:fo,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:ro,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:lo,ort:`homelab`,zaehlt:!0},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Ga,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:fo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:mo,ort:`system`}],du={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function fu(){let e=(0,z.c)(2),t=Ea({select:pu}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=uu.find(e=>e.to===t)??uu[0],e[0]=t,e[1]=n),n}function pu(e){return e.location.pathname}function mu(){let e=(0,z.c)(19),t=Qs(),n=$s(),r=is(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=ec(),d=tc(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(gu,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=Ql(d.data?.ziele??[]).filter(hu),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function hu(e){return e.baustein.aktion}function gu(e,t){return e+t.bausteine.filter(_u).length}function _u(e){return e.zustand===`neu`&&e.aktion}var vu={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function yu(){let e=(0,z.c)(4),t=Ko(),n;e[0]===t?n=e[1]:(n=t.map(bu),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,A.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function bu(e){return(0,A.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:a(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,vu[e.art]),children:[(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>Go(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,A.jsx)(go,{className:`size-4`})})]},e.id)}var xu={online:{punkt:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},Su={uebersicht:{aktiv:`!border-bernstein bg-bernstein-grund`,symbol:`group-data-[status=active]:text-bernstein`},box:{aktiv:`!border-box bg-box-grund`,symbol:`group-data-[status=active]:text-box`},homelab:{aktiv:`!border-lab bg-lab-grund`,symbol:`group-data-[status=active]:text-lab`},system:{aktiv:`!border-text-2 bg-erhaben`,symbol:`group-data-[status=active]:text-foreground`}},Cu={box:{text:`text-box-text`,balken:`bg-box`},homelab:{text:`text-lab-text`,balken:`bg-lab`}},wu=`group flex h-11 items-center gap-3 rounded-lg border-l-2 border-transparent pr-3 pl-3 text-[15px] text-text-2 hover:bg-erhaben hover:text-foreground`;function Tu(){let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:36,height:36,className:`size-9 shrink-0`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,A.jsxs)(`div`,{className:`flex items-center gap-3 px-1`,children:[t,(0,A.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,A.jsx)(`span`,{className:`font-anzeige text-[22px] font-bold tracking-[0.06em]`,children:`Homelab`}),(0,A.jsx)(`span`,{className:`schild text-[13px] tracking-[0.22em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function Eu(e){let t=(0,z.c)(21),{s:n,zahl:r,onGewaehlt:i}=e,o=Su[n.ort],s=n.to,c;t[0]===o.aktiv?c=t[1]:(c=a(o.aktiv,`!text-foreground`),t[0]=o.aktiv,t[1]=c);let l;t[2]===c?l=t[3]:(l={className:c},t[2]=c,t[3]=l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u={exact:!0},t[4]=u):u=t[4];let d=n.Icon,f;t[5]===o.symbol?f=t[6]:(f=a(`size-[18px] shrink-0 text-text-3 group-hover:text-text-2`,o.symbol),t[5]=o.symbol,t[6]=f);let p;t[7]!==n.Icon||t[8]!==f?(p=(0,A.jsx)(d,{className:f,"aria-hidden":!0}),t[7]=n.Icon,t[8]=f,t[9]=p):p=t[9];let m;t[10]===n.label?m=t[11]:(m=(0,A.jsx)(`span`,{className:`flex-1`,children:n.label}),t[10]=n.label,t[11]=m);let h;t[12]===r?h=t[13]:(h=!!r&&(0,A.jsxs)(`span`,{className:`ziffern rounded-full border border-cyan-rand bg-cyan-grund px-2 text-xs leading-5 text-cyan`,children:[r,(0,A.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[12]=r,t[13]=h);let g;return t[14]!==i||t[15]!==n.to||t[16]!==l||t[17]!==p||t[18]!==m||t[19]!==h?(g=(0,A.jsxs)(ta,{to:s,onClick:i,className:wu,activeProps:l,activeOptions:u,children:[p,m,h]}),t[14]=i,t[15]=n.to,t[16]=l,t[17]=p,t[18]=m,t[19]=h,t[20]=g):g=t[20],g}function Du(e){let t=(0,z.c)(14),{onGewaehlt:n}=e,r=mu(),i=Qs().data?.rolle!==`homelab`,o=Ou,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=o(`/`),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,A.jsx)(Eu,{s,onGewaehlt:n}),t[1]=n,t[2]=c);let l;t[3]!==i||t[4]!==n||t[5]!==r?(l=lu.map(e=>{let t=xu[r[e.id].verbindung],o=Cu[e.id];return(0,A.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-3 pb-1.5`,children:[(0,A.jsxs)(`h2`,{className:a(`schild flex items-center gap-2.5 text-sm font-bold tracking-[0.24em]`,o.text),children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-4 w-1 rounded-full`,o.balken)}),e.name]}),(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`size-2 rounded-full`,t.punkt)}),t.text]})]}),uu.filter(t=>t.ort===e.id).map(t=>(0,A.jsx)(Eu,{s:t,zahl:t.zaehlt?r[e.id].updates:0,onGewaehlt:n},t.to)),e.id===`box`&&i&&(0,A.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:wu,children:[(0,A.jsx)(to,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]},e.id)}),t[3]=i,t[4]=n,t[5]=r,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=o(`/einstellungen`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,A.jsx)(`div`,{className:`mt-auto border-t border-linie pt-4`,children:(0,A.jsx)(Eu,{s:u,onGewaehlt:n})}),t[8]=n,t[9]=d);let f;return t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,A.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-6`,children:[c,l,d]}),t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function Ou(e){return uu.find(t=>t.to===e)}var ku=`modulepreload`,Au=function(e){return`/`+e},ju={},G=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Au(t,n),t=s(t),t in ju)return;ju[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:ku,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Mu=(0,k.lazy)(()=>G(()=>import(`./MenueSchublade-Brg4bBjO.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([0,1,2,3,4]))),Nu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Pu=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Fu(){let e=(0,z.c)(13),[t,n]=(0,k.useState)(Iu),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,k.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Nu.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,A.jsx)(`span`,{className:`ziffern text-2xl font-medium`,children:a}),e[4]=a,e[5]=o);let s;e[6]===t?s=e[7]:(s=Pu.format(t).replace(`,`,``),e[6]=t,e[7]=s);let c;e[8]===s?c=e[9]:(c=(0,A.jsx)(`span`,{className:`schild text-[13px] text-text-3`,children:s}),e[8]=s,e[9]=c);let l;return e[10]!==o||e[11]!==c?(l=(0,A.jsxs)(`div`,{className:`flex flex-col items-end leading-tight`,children:[o,c]}),e[10]=o,e[11]=c,e[12]=l):l=e[12],l}function Iu(){return new Date}function Lu(){let e=(0,z.c)(14),t=is(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,o;e[0]===i?o=e[1]:(o=a(`schild flex items-center gap-1.5 text-[13px]`,i),e[0]=i,e[1]=o);let s=n?`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=a(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,A.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,A.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==o||e[11]!==l||e[12]!==f?(p=(0,A.jsxs)(`span`,{role:`status`,title:r,className:o,children:[l,f]}),e[9]=r,e[10]=o,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Ru={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function zu(){let e=(0,z.c)(27);ss();let[t,n]=(0,k.useState)(!1),r=fu(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,A.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-8 overflow-y-auto border-r border-linie bg-[#0c0f12] px-4 py-7 lg:flex`,children:[(0,A.jsx)(Tu,{}),(0,A.jsx)(Du,{})]}),e[0]=i):i=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>n(!0),e[1]=o):o=e[1];let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,A.jsx)(`button`,{type:`button`,onClick:o,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-erhaben hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,A.jsx)(so,{className:`size-6`})}),e[2]=s):s=e[2];let c=Ru[r.ort],l;e[3]===c?l=e[4]:(l=a(`schild text-[13px] tracking-[0.24em]`,c),e[3]=c,e[4]=l);let u=du[r.ort],d;e[5]!==l||e[6]!==u?(d=(0,A.jsx)(`span`,{className:l,children:u}),e[5]=l,e[6]=u,e[7]=d):d=e[7];let f;e[8]===r.label?f=e[9]:(f=(0,A.jsx)(`h1`,{className:`font-anzeige text-[26px] leading-none font-bold tracking-[0.04em]`,children:r.label}),e[8]=r.label,e[9]=f);let p;e[10]!==d||e[11]!==f?(p=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[s,(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[d,f]})]}),e[10]=d,e[11]=f,e[12]=p):p=e[12];let m;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,A.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,A.jsx)(`span`,{className:`lg:hidden`,children:(0,A.jsx)(Lu,{})}),(0,A.jsx)(Fu,{})]}),e[13]=m):m=e[13];let h;e[14]===p?h=e[15]:(h=(0,A.jsxs)(`header`,{className:`flex items-center justify-between gap-4`,children:[p,m]}),e[14]=p,e[15]=h);let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,A.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,A.jsx)(ga,{})}),e[16]=g):g=e[16];let _;e[17]===h?_=e[18]:(_=(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1320px] min-w-0 flex-col gap-5 px-4 pt-4 pb-10 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[h,g]}),e[17]=h,e[18]=_);let v;e[19]===t?v=e[20]:(v=t&&(0,A.jsx)(Mu,{onSchliessen:()=>n(!1)}),e[19]=t,e[20]=v);let y;e[21]===v?y=e[22]:(y=(0,A.jsx)(k.Suspense,{fallback:null,children:v}),e[21]=v,e[22]=y);let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,A.jsx)(yu,{}),e[23]=b):b=e[23];let x;return e[24]!==_||e[25]!==y?(x=(0,A.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[i,_,y,b]}),e[24]=_,e[25]=y,e[26]=x):x=e[26],x}var Bu={gruen:`border-gruen-rand bg-gruen-grund text-gruen`,bernstein:`border-bernstein/60 bg-bernstein-grund text-bernstein`,cyan:`border-cyan-rand bg-cyan-grund text-cyan`,rot:`border-rot-rand bg-rot-grund text-rot-text`,grau:`border-linie bg-erhaben text-text-2`};function Vu(e){let t=(0,z.c)(5),{art:n,children:r}=e,i=Bu[n===void 0?`grau`:n],o;t[0]===i?o=t[1]:(o=a(`schild inline-flex h-7 items-center rounded-full border px-2.5 text-xs whitespace-nowrap`,i),t[0]=i,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,A.jsx)(`span`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function Hu(e){let t=(0,z.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,o=n?`border-rot-rand bg-rot-grund text-rot-text`:`border-linie bg-panel text-text-2`,s;t[0]===o?s=t[1]:(s=a(`rounded-2xl border px-5 py-8 text-center text-[15px]`,o),t[0]=o,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,A.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var Uu={erledigt:{text:`Erledigt`,farbe:`text-gruen`},fehler:{text:`Fehler`,farbe:`text-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`}};function Wu(e){let t=(0,z.c)(18),{e:n}=e,r=Uu[n.status]??Uu.geplant,i=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan`:r.farbe,o;t[0]===n.zeit?o=t[1]:(o=gs(n.zeit),t[0]=n.zeit,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.text?c=t[5]:(c=n.text&&(0,A.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=c);let l;t[6]!==n.titel||t[7]!==c?(l=(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,c]}),t[6]=n.titel,t[7]=c,t[8]=l):l=t[8];let u;t[9]===i?u=t[10]:(u=a(`schild col-start-2 row-start-1 justify-self-end text-[13px] @sm:col-start-3`,i),t[9]=i,t[10]=u);let d;t[11]!==r.text||t[12]!==u?(d=(0,A.jsx)(`span`,{className:u,children:r.text}),t[11]=r.text,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[s,l,d]}),t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17],f}function Gu(e){let t=(0,z.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,A.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(Ku)}),t[4]=a,t[5]=o),o}function Ku(e){return(0,A.jsx)(Wu,{e},`${e.titel}-${e.zeit}`)}function qu(e){let t=(0,z.c)(11),{titel:n,rechts:r,children:i,className:o,id:s}=e,c;t[0]===o?c=t[1]:(c=a(`flex min-w-0 flex-col gap-4 rounded-2xl border border-linie bg-panel p-5 sm:p-6`,o),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n?(l=(n||r)&&(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n&&(0,A.jsx)(`h2`,{className:`schild text-lg font-bold tracking-[0.22em] text-foreground`,children:n}),r]}),t[2]=r,t[3]=n,t[4]=l):l=t[4];let u;return t[5]!==i||t[6]!==s||t[7]!==c||t[8]!==l||t[9]!==n?(u=(0,A.jsxs)(`section`,{id:s,"aria-label":n,className:c,children:[l,i]}),t[5]=i,t[6]=s,t[7]=c,t[8]=l,t[9]=n,t[10]=u):u=t[10],u}var Ju=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Yu=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function Xu(e){return e<1e3?`${Yu.format(e)} B/s`:e<1e6?`${Ju.format(e/1e3)} KB/s`:e<1e9?`${Ju.format(e/1e6)} MB/s`:`${Ju.format(e/1e9)} GB/s`}function Zu(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${Yu.format(e)} %`:t===`grad`?`${Yu.format(e)} °C`:t===`bytes_s`?Xu(e):Yu.format(e)}function Qu(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function $u(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function K(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var q=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),J=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function Y(e,t){let n=new Date(e*1e3);return(t?J:q).format(n).replace(`,`,``)}function X(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function ed(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function td(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function nd(e){if(!Number.isFinite(e)||e<=0)return[0,1];for(let t=0;;t++)for(let n of[1,2,2.5,5]){let r=n*10**t;if(!Number.isInteger(r))continue;let i=Math.ceil(e/r);if(i<=4)return Array.from({length:i+1},(e,t)=>t*r)}}var rd=e=>Number(e.toFixed(1));function id(e,t,n,r,i=4){let a=Math.max(0,Math.min(i,n/2,r));return`M${rd(e)},${rd(t+r)}V${rd(t+a)}Q${rd(e)},${rd(t)} ${rd(e+a)},${rd(t)}H${rd(e+n-a)}Q${rd(e+n)},${rd(t)} ${rd(e+n)},${rd(t+a)}V${rd(t+r)}Z`}function ad(e,t,n=2){let r=[],i=0;e.forEach((e,a)=>{if(!(e>0))return;let o=t(i);i+=e;let s=t(i);r.push({index:a,y:s,hoehe:Math.max(0,o-s-(r.length?n:0)),oben:!1})});let a=r.filter(e=>e.hoehe>=1).at(-1);return a&&(a.oben=!0),r}function od(e){let t=(0,z.c)(22),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(sd),t[6]=n,t[7]=h);let g=h,_=`0 0 100 ${c}`,v;t[8]===c?v=t[9]:(v={height:c},t[8]=c,t[9]=v);let y;t[10]!==s||t[11]!==g||t[12]!==c||t[13]!==n||t[14]!==f||t[15]!==m?(y=g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`path`,{d:td(n,f,m,c),fill:s,opacity:.12}),(0,A.jsx)(`path`,{d:ed(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[10]=s,t[11]=g,t[12]=c,t[13]=n,t[14]=f,t[15]=m,t[16]=y):y=t[16];let b;return t[17]!==o||t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,A.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:_,preserveAspectRatio:`none`,className:`block w-full`,style:v,children:y}),t[17]=o,t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function sd(e){let[,t]=e;return t!==null}var cd={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function ld(e){let t=(0,z.c)(29),{label:n,wert:r,einheit:i,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=cd[c===void 0?`ruhig`:c],f;t[0]===n?f=t[1]:(f=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=f);let p;t[2]===d.wert?p=t[3]:(p=a(`font-anzeige text-[28px] leading-none font-bold`,d.wert),t[2]=d.wert,t[3]=p);let m;t[4]!==i||t[5]!==r?(m=Zu(r,i),t[4]=i,t[5]=r,t[6]=m):m=t[6];let h;t[7]!==p||t[8]!==m?(h=(0,A.jsx)(`span`,{className:p,children:m}),t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==d.marke||t[11]!==d.wert?(g=d.marke&&(0,A.jsx)(`span`,{className:a(`schild text-[11px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=g):g=t[12];let _;t[13]!==h||t[14]!==g?(_=(0,A.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(v=o&&o.length>1&&(0,A.jsx)(od,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=v):v=t[21];let y;t[22]===o?y=t[23]:(y=o&&o.length<=1&&(0,A.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=y);let b;return t[24]!==f||t[25]!==_||t[26]!==v||t[27]!==y?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 pt-3 pb-2`,children:[f,_,v,y]}),t[24]=f,t[25]=_,t[26]=v,t[27]=y,t[28]=b):b=t[28],b}function ud(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function dd(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=Xl(e);if(r?.zustand===`neu`){let e=ud(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=Zl(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function fd(e){return e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({id:`${e.id}-${t.id}`,name:t.name,teile:[t.kurz||t.verfuegbar||`neu`],knopf:!!t.aktion}))}function pd(e){let t=e.flatMap(e=>e.art===`ki-box`?fd(e):[dd(e)]).filter(e=>e!==null);return[...t.filter(e=>e.knopf),...t.filter(e=>!e.knopf)]}function md(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var hd={ok:{rahmen:`border-gruen-rand bg-gruen-grund`,titel:`text-gruen`,Symbol:Za},info:{rahmen:`border-cyan-rand bg-cyan-grund`,titel:`text-cyan`,Symbol:lo},gelb:{rahmen:`border-bernstein/70 bg-bernstein-grund`,titel:`text-bernstein`,Symbol:Ya},rot:{rahmen:`border-rot bg-rot-grund`,titel:`text-rot`,Symbol:Ya}};function gd(e){let t=(0,z.c)(17),{label:n,wert:r,zusatz:i,art:o}=e,s,c,l;t[0]!==o||t[1]!==n?(c=`flex min-w-0 flex-col gap-1 rounded-xl border border-linie bg-panel/70 px-4 py-3`,t[5]===n?l=t[6]:(l=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[5]=n,t[6]=l),s=a(`font-anzeige text-[32px] leading-none font-bold`,{gruen:`text-gruen`,bernstein:`text-bernstein`,cyan:`text-cyan`,rot:`text-rot-text`,grau:`text-foreground`}[o]),t[0]=o,t[1]=n,t[2]=s,t[3]=c,t[4]=l):(s=t[2],c=t[3],l=t[4]);let u;t[7]!==s||t[8]!==r?(u=(0,A.jsx)(`span`,{className:s,children:r}),t[7]=s,t[8]=r,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=i&&(0,A.jsx)(`span`,{className:`truncate text-xs text-text-3`,children:i}),t[10]=i,t[11]=d);let f;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,A.jsxs)(`div`,{className:c,children:[l,u,d]}),t[12]=c,t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}var _d={online:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,verbinde:`bg-bernstein`,getrennt:`bg-rot`,fehlt:`bg-text-3`},vd={online:`online`,verbinde:`verbinde`,getrennt:`getrennt`,fehlt:`nicht eingerichtet`};function yd(e){let t=(0,z.c)(43),{bereich:n,name:r,verbindung:i,cockpit:o,children:s}=e,c,l,u,d,f,p,m,h,g;if(t[0]!==n||t[1]!==o||t[2]!==r){let e=n===`box`?{rand:`border-box-rand`,kopf:`from-box-grund`,text:`text-box-text`,balken:`bg-box`}:{rand:`border-lab-rand`,kopf:`from-lab-grund`,text:`text-lab-text`,balken:`bg-lab`};h=r,g=a(`flex min-w-0 flex-col overflow-hidden rounded-2xl border bg-panel`,e.rand),c=ta,p=o,m=a(`group flex items-center justify-between gap-3 bg-gradient-to-r to-transparent px-5 py-4 sm:px-6`,e.kopf),d=`flex items-center gap-3`,f=(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-7 w-1.5 rounded-full`,e.balken)}),u=`flex flex-col leading-tight`,l=a(`schild text-lg font-bold tracking-[0.22em]`,e.text),t[0]=n,t[1]=o,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11];let _;t[12]!==r||t[13]!==l?(_=(0,A.jsx)(`span`,{className:l,children:r}),t[12]=r,t[13]=l,t[14]=_):_=t[14];let v=_d[i],y;t[15]===v?y=t[16]:(y=a(`size-2 rounded-full`,v),t[15]=v,t[16]=y);let b;t[17]===y?b=t[18]:(b=(0,A.jsx)(`span`,{"aria-hidden":!0,className:y}),t[17]=y,t[18]=b);let x=vd[i],S;t[19]!==b||t[20]!==x?(S=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[b,x]}),t[19]=b,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==u||t[24]!==_?(C=(0,A.jsxs)(`span`,{className:u,children:[_,S]}),t[22]=S,t[23]=u,t[24]=_,t[25]=C):C=t[25];let w;t[26]!==C||t[27]!==d||t[28]!==f?(w=(0,A.jsxs)(`span`,{className:d,children:[f,C]}),t[26]=C,t[27]=d,t[28]=f,t[29]=w):w=t[29];let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm text-text-2 group-hover:text-foreground`,children:[`Cockpit `,(0,A.jsx)(qa,{className:`size-4 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[30]=T):T=t[30];let E;t[31]!==c||t[32]!==w||t[33]!==p||t[34]!==m?(E=(0,A.jsxs)(c,{to:p,className:m,children:[w,T]}),t[31]=c,t[32]=w,t[33]=p,t[34]=m,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=(0,A.jsx)(`div`,{className:`flex flex-col gap-5 px-5 pt-1 pb-5 sm:px-6`,children:s}),t[36]=s,t[37]=D);let O;return t[38]!==E||t[39]!==D||t[40]!==h||t[41]!==g?(O=(0,A.jsxs)(`section`,{"aria-label":h,className:g,children:[E,D]}),t[38]=E,t[39]=D,t[40]=h,t[41]=g,t[42]=O):O=t[42],O}function bd(e){let t=(0,z.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,A.jsx)(`h3`,{className:`schild text-sm tracking-[0.2em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function xd(e){let t=(0,z.c)(13),{zeilen:n,ziel:r,laedt:i,alleAktuell:o}=e,s;t[0]===n?s=t[1]:(s=n.filter(Sd),t[0]=n,t[1]=s);let c=s.length,l;t[2]!==c||t[3]!==n.length?(l=(0,A.jsx)(bd,{titel:`Updates`,rechts:c>0?(0,A.jsxs)(Vu,{art:`cyan`,children:[c,` bereit`]}):n.length>0?(0,A.jsx)(Vu,{children:`wartet`}):(0,A.jsx)(Vu,{art:`gruen`,children:`aktuell`})}),t[2]=c,t[3]=n.length,t[4]=l):l=t[4];let u;t[5]!==o||t[6]!==i||t[7]!==n||t[8]!==r?(u=i?(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):n.length===0?(0,A.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-gruen-text`,children:[(0,A.jsx)(Za,{className:`size-4`,"aria-hidden":!0}),o]}):(0,A.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:n.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ta,{to:r,className:`group -mx-2 grid grid-cols-[minmax(0,9rem)_minmax(0,1fr)_auto] items-baseline gap-3 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{className:`truncate text-[15px] font-medium`,children:e.name}),(0,A.jsx)(`span`,{className:a(`min-w-0 text-sm`,e.knopf?`text-cyan`:`text-text-3`),children:e.teile.join(` · `)}),(0,A.jsx)(qa,{className:`size-3.5 self-center text-text-3 opacity-0 group-hover:opacity-100`,"aria-hidden":!0})]})},e.id))}),t[5]=o,t[6]=i,t[7]=n,t[8]=r,t[9]=u):u=t[9];let d;return t[10]!==l||t[11]!==u?(d=(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function Sd(e){return e.knopf}function Cd(e){let t=(0,z.c)(18),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,o,s,c;if(t[0]!==n||t[1]!==r){let e=[...n].sort(Td);s=`flex flex-col gap-2`;let l=n.some(wd)?`rot`:`bernstein`;t[6]!==n.length||t[7]!==l?(c=(0,A.jsx)(bd,{titel:`Hinweise`,rechts:(0,A.jsx)(Vu,{art:l,children:n.length})}),t[6]=n.length,t[7]=l,t[8]=c):c=t[8],i=`m-0 flex list-none flex-col gap-1 p-0`;let u;t[9]===r?u=t[10]:(u=e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ta,{to:r,className:`-mx-2 flex items-start gap-2 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`mt-1.5 size-2 shrink-0 rounded-full`,e.stufe===`rot`?`bg-rot`:`bg-bernstein`)}),(0,A.jsx)(`span`,{className:a(`text-sm`,e.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:e.titel})]})},e.id),t[9]=r,t[10]=u),o=e.slice(0,3).map(u),t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c}else i=t[2],o=t[3],s=t[4],c=t[5];let l;t[11]!==i||t[12]!==o?(l=(0,A.jsx)(`ul`,{className:i,children:o}),t[11]=i,t[12]=o,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,A.jsxs)(`div`,{className:s,children:[c,l]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function wd(e){return e.stufe===`rot`}function Td(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}function Ed(e){let t=(0,z.c)(4),{werte:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Dd),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,A.jsx)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4 xl:grid-cols-2 2xl:grid-cols-4`,children:r}),t[2]=r,t[3]=i),i}function Dd(e){return(0,A.jsx)(ld,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,max:(e.einheit,100),zustand:K(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`},e.label)}function Od(e){let t=(0,z.c)(33),{verbindung:n}=e,r=Ts(),i=ec(),a=pc(`1h`),o=as(),s=a.data?.reihen,c=r.data?.box,l=o?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u=o?.cpu??a.data?.aktuell.cpu,d=s?.cpu,f;t[0]!==u||t[1]!==d?(f={label:`CPU`,wert:u,einheit:`prozent`,punkte:d,gelb:85,rot:95},t[0]=u,t[1]=d,t[2]=f):f=t[2];let p=s?.ram,m;t[3]!==l||t[4]!==p?(m={label:`Speicher`,wert:l,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[3]=l,t[4]=p,t[5]=m):m=t[5];let h=o?.temp_cpu??c?.temp_cpu,g=s?.temp_cpu,_;t[6]!==h||t[7]!==g?(_={label:`Temperatur`,wert:h,einheit:`grad`,punkte:g,gelb:80,rot:90},t[6]=h,t[7]=g,t[8]=_):_=t[8];let v=o?.disk??c?.platte?.percent,y=s?.platte,b;t[9]!==y||t[10]!==v?(b={label:`Platte`,wert:v,einheit:`prozent`,punkte:y,gelb:80,rot:90},t[9]=y,t[10]=v,t[11]=b):b=t[11];let x;t[12]!==b||t[13]!==f||t[14]!==m||t[15]!==_?(x=(0,A.jsx)(Ed,{werte:[f,m,_,b]}),t[12]=b,t[13]=f,t[14]=m,t[15]=_,t[16]=x):x=t[16];let S;t[17]===i.data?.ziele?S=t[18]:(S=i.data?.ziele??[],t[17]=i.data?.ziele,t[18]=S);let C;t[19]===S?C=t[20]:(C=pd(S),t[19]=S,t[20]=C);let w;t[21]!==C||t[22]!==i.isPending?(w=(0,A.jsx)(xd,{zeilen:C,ziel:`/box/updates`,laedt:i.isPending,alleAktuell:`Betriebssystem, Motor, llama-swap und Hermes sind aktuell.`}),t[21]=C,t[22]=i.isPending,t[23]=w):w=t[23];let T;t[24]===r.data?.hinweise?T=t[25]:(T=r.data?.hinweise??[],t[24]=r.data?.hinweise,t[25]=T);let E;t[26]===T?E=t[27]:(E=(0,A.jsx)(Cd,{hinweise:T,ziel:`/box`}),t[26]=T,t[27]=E);let D;return t[28]!==x||t[29]!==w||t[30]!==E||t[31]!==n?(D=(0,A.jsxs)(yd,{bereich:`box`,name:`KI-Box`,verbindung:n,cockpit:`/box`,children:[x,w,E]}),t[28]=x,t[29]=w,t[30]=E,t[31]=n,t[32]=D):D=t[32],D}function kd(e){let t=(0,z.c)(14),{verbindung:n}=e,r=n===`online`,i=tc(r),a=ic(r),o=mc(`1h`,r),s;t[0]===o.data?.geraete?s=t[1]:(s=o.data?.geraete.find(Ad),t[0]=o.data?.geraete,t[1]=s);let c=s,l;t[2]===i.data?.ziele?l=t[3]:(l=i.data?.ziele??[],t[2]=i.data?.ziele,t[3]=l);let u=l,d;t[4]!==r||t[5]!==a||t[6]!==i.isPending||t[7]!==c?.aktuell||t[8]!==c?.reihen||t[9]!==u?(d=r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(bd,{titel:`Proxmox-Host`}),(0,A.jsx)(Ed,{werte:[{label:`CPU`,wert:c?.aktuell.cpu,einheit:`prozent`,punkte:c?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:c?.aktuell.ram,einheit:`prozent`,punkte:c?.reihen.ram,gelb:90,rot:95},{label:`Temperatur`,wert:c?.aktuell.temp_cpu,einheit:`grad`,punkte:c?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:c?.aktuell.platte,einheit:`prozent`,punkte:c?.reihen.platte,gelb:80,rot:90}]})]}),(0,A.jsx)(xd,{zeilen:pd(u),ziel:`/homelab/updates`,laedt:i.isPending,alleAktuell:`Alle Geräte sind aktuell.`}),(0,A.jsx)(Cd,{hinweise:a.data?.hinweise??[],ziel:`/homelab`})]}):(0,A.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[4]=r,t[5]=a,t[6]=i.isPending,t[7]=c?.aktuell,t[8]=c?.reihen,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==d||t[12]!==n?(f=(0,A.jsx)(yd,{bereich:`homelab`,name:`Homelab`,verbindung:n,cockpit:`/homelab`,children:d}),t[11]=d,t[12]=n,t[13]=f):f=t[13],f}function Ad(e){return e.art===`proxmox-host`}var jd={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`};function Md(e){let t=(0,z.c)(9),{homelabAktiv:n}=e,r=Ms(),i=nc(n),a,o,s;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=[...(r.data?.laeufe??[]).slice(0,6).map(Ld),...(i.data?.laeufe??[]).filter(Id).slice(0,6).map(Fd)].sort(Pd).slice(0,6);if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}),t[5]=e):e=t[5],s=e;break bb0}a=`@container m-0 flex list-none flex-col p-0`,o=e.map(Nd)}t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a,t[3]=o,t[4]=s}else a=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,A.jsx)(`ol`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Nd(e){return(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 first:border-t-0 @md:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:gs(new Date(e.zeit).toISOString())}),(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] @md:col-span-1 @md:col-start-2 @md:row-start-1`,children:[(0,A.jsx)(`span`,{className:a(`schild mr-2 text-[11px]`,e.bereich===`KI-Box`?`text-box-text`:`text-lab-text`),children:e.bereich}),e.titel]}),(0,A.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @md:col-start-3`,children:(0,A.jsx)(Vu,{art:e.art,children:e.chip})})]},`${e.bereich}-${e.zeit}-${e.titel}`)}function Pd(e,t){return t.zeit-e.zeit}function Fd(e){return{zeit:e.start*1e3,bereich:`Homelab`,titel:e.name,chip:e.ergebnis??`unterbrochen`,art:(e.ergebnis?jd[e.ergebnis]:`grau`)??`grau`}}function Id(e){return e.status!==`laeuft`}function Ld(e){return{zeit:new Date(e.start).getTime(),bereich:`KI-Box`,titel:e.anlass,chip:e.titel,art:jd[e.stufe]??`grau`}}function Rd(){let e=(0,z.c)(92),t=mu(),n=Ts(),r=t.homelab.verbindung===`online`,i=tc(r),o=ic(r);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(Hu,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let s,c,l;if(e[1]!==i.data?.ziele||e[2]!==o.data?.hinweise||e[3]!==t.box.updates||e[4]!==t.box.verbindung||e[5]!==t.homelab.updates||e[6]!==t.homelab.verbindung||e[7]!==n.data?.hinweise||e[8]!==n.isError){let r=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],a=(i.data?.ziele??[]).filter(Ud).map(Hd),u;e[12]===n.data?.hinweise?u=e[13]:(u=n.data?.hinweise??[],e[12]=n.data?.hinweise,e[13]=u);let d;e[14]===o.data?.hinweise?d=e[15]:(d=o.data?.hinweise??[],e[14]=o.data?.hinweise,e[15]=d);let f;e[16]!==u||e[17]!==d?(f=[...u,...d],e[16]=u,e[17]=d,e[18]=f):f=e[18],s=f,l=t.box.updates+t.homelab.updates;let p;e[19]===s?p=e[20]:(p=s.filter(Vd),e[19]=s,e[20]=p),c=md({getrennt:r,stumm:a,hinweiseRot:p.length,hinweise:s.length,updates:l}),e[1]=i.data?.ziele,e[2]=o.data?.hinweise,e[3]=t.box.updates,e[4]=t.box.verbindung,e[5]=t.homelab.updates,e[6]=t.homelab.verbindung,e[7]=n.data?.hinweise,e[8]=n.isError,e[9]=s,e[10]=c,e[11]=l}else s=e[9],c=e[10],l=e[11];let u=c,d=hd[u.stufe],f;e[21]===i.data?.ziele?f=e[22]:(f=i.data?.ziele??[],e[21]=i.data?.ziele,e[22]=f);let p=f,m;e[23]===p?m=e[24]:(m=p.filter(Bd),e[23]=p,e[24]=m);let h=m.length+ +(t.box.verbindung===`online`),g=p.length+1,_=n.data?.flugplan.geplant[0],v;e[25]===d.rahmen?v=e[26]:(v=a(`grid gap-4 rounded-2xl border p-4 sm:p-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)] lg:items-center`,d.rahmen),e[25]=d.rahmen,e[26]=v);let y=d.Symbol,b;e[27]===d.titel?b=e[28]:(b=a(`size-10 shrink-0`,d.titel),e[27]=d.titel,e[28]=b);let x;e[29]!==d.Symbol||e[30]!==b?(x=(0,A.jsx)(y,{className:b,"aria-hidden":!0}),e[29]=d.Symbol,e[30]=b,e[31]=x):x=e[31];let S;e[32]===d.titel?S=e[33]:(S=a(`font-anzeige text-[34px] leading-none font-bold tracking-[0.02em]`,d.titel),e[32]=d.titel,e[33]=S);let C;e[34]!==u.titel||e[35]!==S?(C=(0,A.jsx)(`span`,{className:S,children:u.titel}),e[34]=u.titel,e[35]=S,e[36]=C):C=e[36];let w;e[37]===u.text?w=e[38]:(w=(0,A.jsx)(`span`,{className:`text-[15px] text-text-2`,children:u.text}),e[37]=u.text,e[38]=w);let T;e[39]!==C||e[40]!==w?(T=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[C,w]}),e[39]=C,e[40]=w,e[41]=T):T=e[41];let E;e[42]!==x||e[43]!==T?(E=(0,A.jsxs)(`div`,{className:`flex items-center gap-4 px-1`,children:[x,T]}),e[42]=x,e[43]=T,e[44]=E):E=e[44];let D=String(l),O=l?`cyan`:`gruen`,ee=`KI-Box ${t.box.updates} · Homelab ${t.homelab.updates}`,te;e[45]!==D||e[46]!==O||e[47]!==ee?(te=(0,A.jsx)(gd,{label:`Updates bereit`,wert:D,art:O,zusatz:ee}),e[45]=D,e[46]=O,e[47]=ee,e[48]=te):te=e[48];let ne=String(s.length),re=s.some(zd)?`rot`:s.length?`bernstein`:`gruen`,ie;e[49]!==ne||e[50]!==re?(ie=(0,A.jsx)(gd,{label:`Hinweise`,wert:ne,art:re}),e[49]=ne,e[50]=re,e[51]=ie):ie=e[51];let ae=`${h}/${g}`,k=h(0,A.jsx)(Ri,{to:`/`})}),Gd=ia({getParentRoute:()=>Wd,path:`/`,component:Rd}),Kd=ia({getParentRoute:()=>Wd,path:`/box`,component:L(()=>G(()=>import(`./Start-C6yRlVBM.js`),__vite__mapDeps([5,1,3,6])),`StartSeite`)}),qd=ia({getParentRoute:()=>Wd,path:`/box/updates`,component:L(()=>G(()=>import(`./Updates-Bg-ptea6.js`),__vite__mapDeps([7,1,8,3,9,4,10])),`UpdatesSeite`)}),Jd=ia({getParentRoute:()=>Wd,path:`/box/modelle`,component:L(()=>G(()=>import(`./Modelle-BECWM9pK.js`),__vite__mapDeps([11,1,12,13,8,14,3,2,4,9,10,15])),`ModelleSeite`)}),Yd=ia({getParentRoute:()=>Wd,path:`/box/monitoring`,component:L(()=>G(()=>import(`./Monitoring-DWYmWbUq.js`),__vite__mapDeps([16,1,15])),`BoxMonitoringSeite`)}),Xd=ia({getParentRoute:()=>Wd,path:`/box/dienste`,component:L(()=>G(()=>import(`./Dienste-B2tq2N01.js`),__vite__mapDeps([17,1,3,9,4])),`DiensteSeite`)}),Zd=ia({getParentRoute:()=>Wd,path:`/homelab`,component:L(()=>G(()=>import(`./Homelab-CMoMrvE9.js`),__vite__mapDeps([18,1,8,14,3,9,4,6])),`HomelabSeite`)}),Qd=ia({getParentRoute:()=>Wd,path:`/homelab/updates`,component:L(()=>G(()=>import(`./Homelab-CMoMrvE9.js`),__vite__mapDeps([18,1,8,14,3,9,4,6])),`HomelabUpdatesSeite`)}),$d=ia({getParentRoute:()=>Wd,path:`/homelab/monitoring`,component:L(()=>G(()=>import(`./Monitoring-DWYmWbUq.js`),__vite__mapDeps([16,1,15])),`HomelabMonitoringSeite`)}),ef=ia({getParentRoute:()=>Wd,path:`/homelab/protokoll`,component:L(()=>G(()=>import(`./HomelabProtokoll-CuswONY1.js`),__vite__mapDeps([19,1,8,14])),`HomelabProtokollSeite`)}),tf=ia({getParentRoute:()=>Wd,path:`/einstellungen`,component:L(()=>G(()=>import(`./Einstellungen-DU7spr-x.js`),__vite__mapDeps([20,1,3,9,4])),`EinstellungenSeite`)}),nf=ia({getParentRoute:()=>Wd,path:`/updates`,beforeLoad:()=>{throw un({to:`/box/updates`})}}),rf=ia({getParentRoute:()=>Wd,path:`/modelle`,beforeLoad:({location:e})=>{throw un({to:`/box/modelle`,hash:e.hash||void 0})}}),af=Sa({routeTree:Wd.addChildren([Gd,Kd,qd,Jd,Yd,Xd,Zd,Qd,$d,ef,tf,nf,rf]),defaultPreload:`intent`,defaultErrorComponent:Oa}),of=`mc_neuladen_wegen_version`;function sf(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(of)||(e.preventDefault(),sessionStorage.setItem(of,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(of),5e3)})}sf();var cf=new pt({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Da.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(k.StrictMode,{children:(0,A.jsx)(ce,{client:cf,children:(0,A.jsx)(Ta,{router:af})})}));export{Bs as $,Ea as $t,ru as A,vs as At,ac as B,Ro as Bt,W as C,rc as Ct,eu as D,xs as Dt,au as E,bs as Et,Sc as F,Bo as Ft,ic as G,B as Gt,Ls as H,zo as Ht,Us as I,Mo as It,yc as J,lo as Jt,nc as K,To as Kt,Ws as L,Lo as Lt,dc as M,as as Mt,uc as N,Wo as Nt,Zl as O,ys as Ot,Cc as P,Po as Pt,Ks as Q,Ua as Qt,pc as R,Fo as Rt,su as S,Ms as St,Ql as T,gs as Tt,tc as U,No as Ut,Gs as V,Vo as Vt,xc as W,So as Wt,Hs as X,Za as Xt,bc as Y,to as Yt,Qs as Z,qa as Zt,G as _,Ts as _t,ad as a,$s as at,Xl as b,oc as bt,Qu as c,Ys as ct,Y as d,Xs as dt,ta as en,Vs as et,K as f,hc as ft,Hu as g,lc as gt,Vu as h,As as ht,id as i,re as in,Ds as it,_c as j,Ss as jt,$l as k,_s as kt,$u as l,sc as lt,Gu as m,vc as mt,td as n,F as nn,Js as nt,nd as o,Ns as ot,qu as p,gc as pt,mc as q,go as qt,ed as r,se as rn,Es as rt,X as s,Os as st,ld as t,Li as tn,ks as tt,Zu as u,Zs as ut,Tu as v,cc as vt,cu as w,qs as wt,Kl as x,zs as xt,Du as y,js as yt,Ps as z,Io as zt}; \ No newline at end of file +`+e.stack}}var ze=Object.prototype.hasOwnProperty,Be=n.unstable_scheduleCallback,Ve=n.unstable_cancelCallback,He=n.unstable_shouldYield,Ue=n.unstable_requestPaint,We=n.unstable_now,Ge=n.unstable_getCurrentPriorityLevel,Ke=n.unstable_ImmediatePriority,qe=n.unstable_UserBlockingPriority,Je=n.unstable_NormalPriority,Ye=n.unstable_LowPriority,Xe=n.unstable_IdlePriority,Ze=n.log,Qe=n.unstable_setDisableYieldValue,$e=null,et=null;function tt(e){if(typeof Ze==`function`&&Qe(e),et&&typeof et.setStrictMode==`function`)try{et.setStrictMode($e,e)}catch{}}var nt=Math.clz32?Math.clz32:at,rt=Math.log,it=Math.LN2;function at(e){return e>>>=0,e===0?32:31-(rt(e)/it|0)|0}var ot=256,st=262144,ct=4194304;function lt(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ut(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=lt(n))):i=lt(o):i=lt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=lt(n))):i=lt(o)):i=lt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function dt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ft(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function gt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function _t(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=hr),vr=` `,yr=!1;function br(e,t){switch(e){case`keyup`:return pr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function xr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Sr=!1;function Cr(e,t){switch(e){case`compositionend`:return xr(t);case`keypress`:return t.which===32?(yr=!0,vr):null;case`textInput`:return e=t.data,e===vr&&yr?null:e;default:return null}}function wr(e,t){if(Sr)return e===`compositionend`||!mr&&br(e,t)?(e=In(),Fn=Pn=Nn=null,Sr=!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=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=qr(n)}}function Yr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Yr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Kr(e.document)}return t}function Zr(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`)}var Qr=An&&`documentMode`in document&&11>=document.documentMode,$r=null,ei=null,ti=null,ni=!1;function ri(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ni||$r==null||$r!==Kr(r)||(r=$r,`selectionStart`in r&&Zr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ti&&Gr(ti,r)||(ti=r,r=Jf(ei,`onSelect`),0>=o,i-=o,$i=1<<32-nt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),R&&ta(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),R&&ta(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return R&&ta(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),R&&ta(i,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ee&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ee){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),lo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===le&&no(l)===r.type){n(e,r.sibling),c=i(r,o.props),lo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ee?(c=Bi(o.props.children,e.mode,c,o.key),lo(c,o),c.return=e,e=c):(c=zi(o.type,o.key,o.props,null,e.mode,c),lo(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Ui(o,e.mode,c),c.return=e,e=c}return s(e);case le:return o=no(o),_(e,r,o,c)}if(ve(o))return h(e,r,o,c);if(ge(o)){if(l=ge(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,co(o),c);if(o.$$typeof===k)return _(e,r,z(e,o),c);uo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{so=0;var i=_(e,t,n,r);return oo=null,i}catch(t){if(t===Xa||t===Qa)throw t;var a=Fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var po=fo(!0),mo=fo(!1),ho=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _o(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Mi(e),ji(e,null,n),t}return Oi(e,r,t,n),Mi(e)}function bo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yt(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var So=!1;function Co(){if(So){var e=Va;if(e!==null)throw e}}function wo(e,t,n,r){So=!1;var i=e.updateQueue;ho=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===Ba&&(So=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=T({},d,f);break a;case 2:ho=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),sd|=o,e.lanes=o,e.memoizedState=d}}function To(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function B(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=M.T,s={};s.types=o===null?null:o.types,M.T=s,dc(e,!1,t,n);try{var c=i(),l=M.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?uc(e,t,Wa(c,r),jd(e)):uc(e,t,r,jd(e))}catch(n){uc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{N.p=a,o!==null&&s.types!==null&&(o.types=s.types),M.T=o}}function ec(){}function tc(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=nc(e).queue;$s(e,i,t,ye,n===null?ec:function(){return rc(e),n(r)})}function nc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ye,baseState:ye,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:ye},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function rc(e){var t=nc(e);t.next===null&&(t=e.alternate.memoizedState),uc(e,t.next.queue,{},jd())}function ic(){return Da(sh)}function ac(){return ss().memoizedState}function oc(){return ss().memoizedState}function sc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=vo(n);var r=yo(t,e,n);r!==null&&(Pd(r,t,n),bo(r,t,n)),t={cache:Na()},e.payload=t;return}t=t.return}}function cc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},fc(e)?pc(t,n):(n=ki(e,t,n,r),n!==null&&(Pd(n,e,r),mc(n,t,r)))}function lc(e,t,n){uc(e,t,n,jd())}function uc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(fc(e))pc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Wr(s,o))return Oi(e,t,i,0),K===null&&Di(),!1}catch{}if(n=ki(e,t,i,r),n!==null)return Pd(n,e,r),mc(n,t,r),!0}return!1}function dc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},fc(e)){if(t)throw Error(a(479))}else t=ki(e,n,r,2),t!==null&&Pd(t,e,2)}function fc(e){var t=e.alternate;return e===V||t!==null&&t===V}function pc(e,t){Go=Wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function mc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yt(e,n)}}var hc={readContext:Da,use:us,useCallback:Zo,useContext:Zo,useEffect:Zo,useImperativeHandle:Zo,useLayoutEffect:Zo,useInsertionEffect:Zo,useMemo:Zo,useReducer:Zo,useRef:Zo,useState:Zo,useDebugValue:Zo,useDeferredValue:Zo,useTransition:Zo,useSyncExternalStore:Zo,useId:Zo,useHostTransitionStatus:Zo,useFormState:Zo,useActionState:Zo,useOptimistic:Zo,useMemoCache:Zo,useCacheRefresh:Zo,useEffectEvent:Zo},gc={readContext:Da,use:us,useCallback:function(e,t){return os().memoizedState=[e,t===void 0?null:t],e},useContext:Da,useEffect:Bs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Rs(4194308,4,Ks.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rs(4194308,4,e,t)},useInsertionEffect:function(e,t){Rs(4,2,e,t)},useMemo:function(e,t){var n=os();t=t===void 0?null:t;var r=e();if(Ko){tt(!0);try{e()}finally{tt(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=os();if(n!==void 0){var i=n(t);if(Ko){tt(!0);try{n(t)}finally{tt(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=cc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=os();return e={current:e},t.memoizedState=e},useState:function(e){e=Ss(e);var t=e.queue,n=lc.bind(null,V,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Js,useDeferredValue:function(e,t){return Zs(os(),e,t)},useTransition:function(){var e=Ss(!1);return e=$s.bind(null,V,e.queue,!0,!1),os().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=V,i=os();if(R){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),K===null)throw Error(a(349));J&127||_s(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Bs(ys.bind(null,r,o,e),[e]),r.flags|=2048,Is(9,{destroy:void 0},vs.bind(null,r,o,n,t),null),n},useId:function(){var e=os(),t=K.identifierPrefix;if(R){var n=ea,r=$i;n=(r&~(1<<32-nt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=qo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Et]=t,o[F]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&ml(t)}}return U(t),t.subtreeFlags&=-33554433,hl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ml(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=Ee.current,pa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=oa,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Et]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||ua(t,!0)}else e=lp(e).createTextNode(r),e[Et]=t,t.stateNode=e}return U(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=pa(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[Et]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),e=!1}else n=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lo(t),t):(Lo(t),null);if(t.flags&128)throw Error(a(558))}return U(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=pa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[Et]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),i=!1}else i=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Lo(t),t):(Lo(t),null)}return Lo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),_l(t,t.updateQueue),U(t),null);case 4:return ke(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,U(t),null;case 10:return xa(t.type),U(t),null;case 19:if(Bo(t),r=t.memoizedState,r===null)return U(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)vl(r,!1);else{if(od!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vo(e),o!==null){for(t.flags|=128,vl(r,!1),e=o.updateQueue,t.updateQueue=e,_l(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ri(n,e),n=n.sibling;return zo(t,Ro.current&1|2),R&&ta(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&We()>gd&&(t.flags|=128,i=!0,vl(r,!1),t.lanes=4194304)}}else{if(!i){if(e=Vo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,_l(t,e),vl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!R)return U(t),null}else 2*We()-r.renderingStartTime>gd&&n!==536870912&&(t.flags|=128,i=!0,vl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=We(),e.sibling=null,o=Ro.current,o=i?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||R?zo(t,o):(n=o,P(jo,t),P(Ro,n),Mo===null&&(Mo=t)),R&&ta(t,r.treeForkCount),e}return U(t),null;case 22:case 23:return Lo(t),Ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(U(t),t.subtreeFlags&6&&(t.flags|=8192)):U(t),n=t.updateQueue,n!==null&&_l(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Ce(Ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(Ma),U(t),null;case 25:return null;case 30:return t.flags|=33554432,U(t),null}throw Error(a(156,t.tag))}function bl(e,t){switch(ia(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xa(Ma),ke(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return je(t),null;case 31:if(t.memoizedState!==null){if(Lo(t),t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return ke(),null;case 10:return xa(t.type),null;case 22:case 23:return Lo(t),Ao(),e!==null&&Ce(Ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return xa(Ma),null;case 25:return null;default:return null}}function xl(e,t){switch(ia(t),t.tag){case 3:xa(Ma),ke();break;case 26:case 27:case 5:je(t);break;case 4:ke();break;case 31:t.memoizedState!==null&&Lo(t);break;case 13:Lo(t);break;case 19:Bo(t);break;case 10:xa(t.type);break;case 22:case 23:Lo(t),Ao(),e!==null&&Ce(Ka);break;case 24:xa(Ma)}}function Sl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Cl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function wl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{B(t,n)}catch(t){Z(e,e.return,t)}}}function Tl(e,t,n){n.props=Cc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function El(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=bi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);p(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Dl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Ol(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Et]=e,zt(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,i).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=Jr(s,h),v=Jr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,M.T=null,n=wd,wd=null;var o=bd,s=Sd;if(yd=0,xd=bd=null,Sd=0,G&6)throw Error(a(331));var c=G;if(G|=4,Xu(o.current),Hu(o,o.current,s,n),G=c,Df(0,!1),et&&typeof et.onPostCommitFiberRoot==`function`)try{et.onPostCommitFiberRoot($e,o)}catch{}return!0}finally{N.p=i,M.T=r,uf(e,t)}}function pf(e,t,n){t=Gi(n,t),t=kc(e.stateNode,t,2),e=yo(e,t,2),e!==null&&(gt(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vd===null||!vd.has(r))){e=Gi(n,e),n=Ac(2),r=yo(t,n,2),r!==null&&(jc(n,r,t,e),gt(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ed;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(id=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,K===e&&(J&n)===n&&(od===4||od===3&&(J&62914560)===J&&300>We()-md?G&2?ld|=n:Vd(e,0):ld|=n,dd===J&&(dd=0)),Ef(e)}function gf(e,t){t===0&&(t=mt()),e=Ai(e,t),e!==null&&(gt(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Be(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-nt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=J,a=ut(r,r===K?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||dt(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=We(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}yd!==0&&yd!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=on(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),zt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+on(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+on(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+on(n.imageSizes)+`"]`)):i+=`[href="`+on(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=T({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Nt]=!0,o.onload=o.onerror=function(){Bt(o)}),zt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+on(r)+`"][href="`+on(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=T({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),zt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Rt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=T({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);zt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Rt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),zt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Rt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),zt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var i=(i=Ee.current)?bm(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Rt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Rt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(i,e,o,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Rt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Pm(e){return`href="`+on(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Nt]){r.loading=1;return}}else t=e.createElement(`link`),t[Nt]=!0,t.onload=t.onerror=Bt.bind(null,t),np(t,`link`,n),zt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+on(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+on(n.href)+`"]`);if(r)return t.instance=r,zt(r),r;var i=T({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),zt(r),np(r,`style`,i),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Pm(n.href);var o=e.querySelector(Fm(i));if(o)return t.state.loading|=4,t.instance=o,zt(o),o;r=Im(n),(i=vm.get(i))&&Hm(r,i),o=(e.ownerDocument||e).createElement(`link`),zt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(i=e.querySelector(zm(o)))?(t.instance=i,zt(i),i):(r=n,(i=vm.get(o))&&(r=T({},n),Um(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),zt(i),np(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,zt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),zt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ie()})),k=i(t(),1),A=r(),oe=k.createContext(void 0),se=e=>{let t=k.useContext(oe);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},ce=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,A.jsx)(oe.Provider,{value:e,children:t})),le={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},ue=new class{#e=le;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function de(e){setTimeout(e,0)}var fe=typeof window>`u`||`Deno`in globalThis;function pe(){}function me(e,t){return typeof e==`function`?e(t):e}function he(e){return typeof e==`number`&&e>=0&&e!==1/0}function ge(e,t){return Math.max(e+(t||0)-Date.now(),0)}function j(e,t){return typeof e==`function`?e(t):e}function _e(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==M(o,t.options))return!1}else if(!ye(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function ve(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(N(t.options.mutationKey)!==N(a))return!1}else if(!ye(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function M(e,t){return(t?.queryKeyHashFn||N)(e)}function N(e){return JSON.stringify(e,(e,t)=>P(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ye(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n500)return t;let r=Ce(e)&&Ce(t);if(!r&&!(P(e)&&P(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{ue.setTimeout(t,e)})}function Ee(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:xe(e,t)}function De(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Oe(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ke=Symbol();function Ae(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ke?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function je(e,t){return typeof e==`function`?e(...t):!!e}function Me(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Ne=()=>fe,Pe=()=>Ne(),Fe=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ie=new class extends Fe{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},Le=de;function Re(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Le,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var ze=Re(),Be=new class extends Fe{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Ve(e){return Math.min(1e3*2**e,3e4)}function He(e){return(e??`online`)!==`online`||Be.isOnline()}var Ue=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function We(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(pe);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new Ue(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Ie.isFocused()&&(e.networkMode===`always`||Be.isOnline())&&e.canRun(),p=()=>He(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(Pe()?0:3),a=e.retryDelay??Ve,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&nf()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var Ge=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),he(this.gcTime)&&(this.#e=ue.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Pe()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(ue.clearTimeout(this.#e),this.#e=void 0)}};function Ke(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Me(e,()=>t.signal,()=>n=!0)},u=Ae(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?Oe:De;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?Je:qe,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:qe(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function qe(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Je(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Ye=class extends Ge{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Qe(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Qe(this.options);e.data!==void 0&&(this.setState(Ze(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Ee(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(pe).catch(pe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>j(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ke||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>j(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!ge(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=Ae(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Ke(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=We({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ue&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ue){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Xe(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ze(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),ze.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Xe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:He(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ze(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Qe(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var $e=class extends Fe{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),tt(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return nt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return nt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof j(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!Se(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&rt(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||j(this.options.enabled,this.#t)!==j(t.enabled,this.#t)||j(this.options.staleTime,this.#t)!==j(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||j(this.options.enabled,this.#t)!==j(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Se(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(pe)),t}#h(e){return!Pe()&&j(this.options.enabled,this.#t)!==!1&&he(e)}#g(){this.#b();let e=j(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=ge(this.#r.dataUpdatedAt,e)+1;this.#u=ue.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return j(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=ue.setInterval(()=>{(this.options.refetchIntervalInBackground||Ie.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(ue.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(ue.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&tt(e,t),o=i&&rt(e,n,t,r);(a||o)&&(l={...l,...Xe(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=Ee(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=Ee(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:it(e,t),refetch:this.refetch,isEnabled:j(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),Se(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();ze.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function et(e,t){return j(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||j(t.retryOnMount,e)!==!1)}function tt(e,t){return et(e,t)||e.state.data!==void 0&&nt(e,t,t.refetchOnMount)}function nt(e,t,n){if(j(t.enabled,e)!==!1&&j(t.staleTime,e)!==`static`){let r=j(n,e);return r===`always`||r!==!1&&it(e,t)}return!1}function rt(e,t,n,r){return(e!==t||j(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&it(e,n)}function it(e,t){return j(t.enabled,e)!==!1&&e.isStaleByTime(j(t.staleTime,e))}var at=class extends Ge{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||ot(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=We({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),ze.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function ot(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var st=class extends Fe{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new at({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=ct(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){ze.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ve(t,e))}findAll(e={}){return this.getAll().filter(t=>ve(e,t))}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ze.batch(()=>Promise.all(e.map(e=>e.continue().catch(pe))))}};function ct(e){return e.options.scope?.id}var lt=class extends Fe{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),Se(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&N(t.mutationKey)!==N(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??ot();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){ze.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function ut(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var dt=class extends Fe{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,ze.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!Se(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(ut(e,n).forEach(e=>{e.destroy()}),ut(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=xe(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new $e(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&ze.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},ft=class extends Fe{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??M(r,t),a=this.get(i);return a||(a=new Ye({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){ze.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_e(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>_e(e,t)):t}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ze.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ze.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},pt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new ft,this.#t=e.mutationCache||new st,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ie.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Be.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(j(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=me(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return ze.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;ze.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return ze.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=ze.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(pe).catch(pe)}invalidateQueries(e,t={}){return ze.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=ze.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(pe)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(pe)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(j(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(j(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(pe).catch(pe)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(pe).catch(pe)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Be.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(N(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ye(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(N(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ye(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=M(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ke&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},mt=k.createContext(!1),ht=()=>k.useContext(mt);mt.Provider;function gt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var _t=k.createContext(gt()),vt=()=>k.useContext(_t),yt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?je(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},bt=e=>{k.useEffect(()=>{e.clearReset()},[e])},xt=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||je(n,[e.error,r])),St=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ct=(e,t)=>e?.suspense&&t.isPending,wt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Tt({queries:e,...t},n){let r=se(n),i=ht(),a=vt(),o=t.subscribed!==!1,s=k.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{St(e);let t=r.getQueryCache().get(e.queryHash);yt(e,a,t)}),bt(a);let[c]=k.useState(()=>new dt(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;k.useSyncExternalStore(k.useCallback(e=>f?c.subscribe(ze.batchCalls(e)):pe,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),k.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>Ct(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&Ct(n,e)?wt(n,new $e(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&xt({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Et(e,t,n){let r=ht(),i=vt(),a=se(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,St(o),yt(o,i,s),bt(i);let[l]=k.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(k.useSyncExternalStore(k.useCallback(e=>{let t=d?l.subscribe(ze.batchCalls(e)):pe;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),k.useEffect(()=>{l.setOptions(o)},[o,l]),Ct(o,u))throw wt(o,l,i);if(xt({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function F(e,t){return Et(e,$e,t)}function Dt(e,t){let n=se(t),[r]=k.useState(()=>new lt(n,e));k.useEffect(()=>{r.setOptions(e)},[r,e]);let i=k.useSyncExternalStore(k.useCallback(e=>r.subscribe(ze.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=k.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(pe)},[r]);if(i.error&&je(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var Ot=k.use,kt=k.useLayoutEffect;function At(e){return e.replace(/\/{2,}/g,`/`)}function jt(e){return e===`/`?e:e.replace(/^\/+/,``)}function Mt(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/+$/,``):e}function Nt(e){return Mt(jt(e))}function Pt(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Ft(e,t,n=`never`,r){if(t.includes(`//`)&&(t=At(t)),t.startsWith(`/`))return t.length===1||n===`preserve`?t:n===`always`?t.endsWith(`/`)?t:`${t}/`:t.endsWith(`/`)?t.slice(0,-1):t;let i=t===`.`,a;if(r){a=i?e:e+`\0`+t;let n=r.get(a);if(n)return n}let o;if(i)o=e.split(`/`);else{for(e.includes(`//`)&&(e=At(e)),o=e.split(`/`);o.length>1&&d(o)===``;)o.pop();let n=t.split(`/`);for(let e=0,t=n.length;e1?o.pop():o=[``]:r===`.`||o.push(r)}}o.length>1&&(d(o)===``?n===`never`&&o.pop():n===`always`&&o.push(``));let s=o.join(`/`),c=(i?At(s):s)||`/`;return a&&r&&r.set(a,c),c}function It(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=new RegExp([...t.keys()].join(`|`).replace(/[.*()]/g,`\\$&`),`g`);return e=>e.replace(n,e=>t.get(e)??e)}function Lt(e){return e==null||e===``}function Rt(e,t,n){if(typeof t!=`string`)return``+(t??void 0);let r=e===`_splat`;if(r&&(!t||/^[a-zA-Z0-9\-._~!/]*$/.test(t)))return t;let i=encodeURIComponent(t);return r&&(i=i.replaceAll(`%2F`,`/`)),n?n(i):i}function zt(e,t,n,r,i){let a=e.endsWith(`/`)?`/`:``,o=``;for(let e of t){if(typeof e==`string`){o+=e;continue}let[t,s,c,l]=e,u=t===2,d=u&&l!==void 0?l+a:l,f=n[s];if(t!==3||f!=null){if(i&&(i[s]=f,u&&(i[`*`]=f)),u&&Lt(f)){if(c===`/`&&!d)continue;f=``}o+=c+Rt(s,f,r)+(d||``)}}return o+a||`/`}function Bt(e){return e?.isNotFound===!0}function Vt(){try{return sessionStorage}catch{return}}var Ht=`tsr-scroll-restoration-v1_3`,Ut=Vt();function Wt(){try{return JSON.parse(Ut?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Gt(){try{Ut?.setItem(Ht,JSON.stringify(Kt))}catch{}}var Kt=Wt(),qt=`data-scroll-restoration-id`,Jt=e=>e.state.__TSR_key||e.href;function I(e){let t=e.getAttribute(qt);if(t)return`[${qt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Yt=!1,Xt=`window`;function Zt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Qt(e){let t=new Set;for(let n of e){if(n===Xt)continue;let e=Zt(n);e&&t.add(e)}return t}function $t(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Jt,a=new Set,o=e=>{let t=Kt[e]||={};for(let e of a)e===document?t[Xt]={scrollX,scrollY}:e.isConnected&&(t[I(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Yt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Yt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Gt()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Kt[d];if(e){let t=Kt[u];for(let n in e){if(n===Xt){if(s)continue}else{let e=Zt(n);if(!e||s&&o&&(l??=Qt(o),l.has(e)))continue}t||=Kt[u]={},t[n]??=e[n]}}}Yt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Qt(o));let t=e&&i&&c,s=r.restoring?Kt[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Xt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Zt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Yt=!1}}))}function en(e,t=String){let n;for(let r in e){let i=e[r];i!==void 0&&(n||=new URLSearchParams).set(r,t(i))}return n?n.toString():``}function tn(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function nn(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=tn(r):Array.isArray(t)?t.push(tn(r)):n[e]=[t,tn(r)]}return n}var rn=/^(?:\s|["[{\d-]|fa|nu|tr)/,an=sn(JSON.parse),on=cn(JSON.stringify,JSON.parse);function sn(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=nn(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!rn.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function cn(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!rn.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=en(e,r);return t?`?${t}`:``}}var ln=`__root__`;function un(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function dn(e){return e instanceof Response&&!!e.options}function fn(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var pn=4,mn=5;function hn(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function gn(e,t,n){let r=e.substring(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.substring(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s!e.parse&&e.caseSensitive===_&&e.prefix===d&&e.suffix===g);if(y)c=y;else{let e=yn(r,t,_,d,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}m&&h=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!r||!_&&(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)){if(a){if(_)continue;let e=t.slice(u).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length=0;t--){let n=i.optional[t];s.push({node:n,index:u,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.pathless[e];s.push({node:t,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;ee.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===pn)>(e.node.kind===pn)||t.node.kind===pn==(e.node.kind===pn)&&t.node.depth>e.node.depth)))}function Pn(e,t,n){let r=Nt(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=At(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>Fn(n,s.input({url:e})),output:({url:e})=>s.output({url:In(n,e)})}:s}function Fn(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function In(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Ln(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),c=n(e),l=n(void 0),u=n([]),d=r(()=>u.get().map(e=>a.get(e).get())),f=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:d.get(),location:c.get(),resolvedLocation:l.get()}));function p(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let m={status:o,location:c,resolvedLocation:l,ids:u,matches:d,byRoute:a,__store:f,getMatchStore:p,setMatches:h};function h(e){let t=u.get(),n=e.map(e=>e.routeId);i(()=>{s(t,n)||u.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=p(t.routeId);e.get()!==t&&e.set(t)}})}return m}var Rn=`__TSR_index`,zn=`popstate`,Bn=`beforeunload`,Vn=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function Hn(e){let t=Vn.exec(e);return t?`/`+e.slice(t[0].length):e}function Un(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>` +\r`.includes(e)?``:encodeURIComponent(e))),Hn(e)}function Wn(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=qn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Rn];i=Gn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Rn];i=Gn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Rn]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Gn(e,t){let n=Jn();return{...t,key:n,__TSR_key:n,[Rn]:e}}function Kn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Un(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>qn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Jn();t.history.replaceState({[Rn]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=qn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Rn]-l.state[Rn],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Wn({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Bn,x,{capture:!0}),t.removeEventListener(zn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Bn,x,{capture:!0}),t.addEventListener(zn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function qn(e,t){let n=Un(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=Jn();t={[Rn]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function Jn(){return(Math.random()+1).toString(36).substring(7)}function Yn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Xn(e){return e.pathname+e.search+e.hash}function Zn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Qn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function $n({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function er(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function tr(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var nr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Kn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Nt(n)?Pn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Ln(this.latestLocation,e),$t(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=wn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&bn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:fn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),s=this.options.stringifySearch(i);return{href:e+s+r,publicHref:e+s+r,pathname:b(e),external:!1,searchStr:s,search:o(t?.search,i),hash:b(r.slice(1)),state:w(t?.state,a)}}let s=Fn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:b(Hn(s.pathname)),external:!!this.rewrite&&Yn(s,this.origin),searchStr:l,search:o(t?.search,c),hash:b(s.hash.slice(1)),state:w(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Cn(Mt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=qn(n.href,{});n={...n,to:Fn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Ft(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[Mt(c)],d=c.includes(`$`),f;if(l)f=l._branch??=Dn(l);else if(d)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=d?l?._interpolation??_n(!1,{fullPath:c},0):void 0,h;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(h??=sr(n.params,e),!u(h))break;h===e&&(h=Object.assign(_(),h));try{Object.assign(h,t(h))}catch{}}}h??=sr(n.params,cr(n.params,p)?o()[3]:lr);let g=e.leaveParams?c:Hn(b(p?zt(c,p,h,this.pathParamsDecoder):c)),v=ur(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,or(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},x=v.length?dr(v,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||lr,S=this.options.stringifySearch(x),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:lr,E=`${g}${S}${w}`,D,O,ee=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=In(this.rewrite,e);D=Xn(e),Yn(n,t)?(O=n.href,ee=!0):O=Hn(Xn(n))}else D=m(E),O=D;return{publicHref:O,href:D,pathname:g,search:x,searchStr:S,state:T,hash:C??``,external:ee,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=xn(r.pathname,this.processedTree);if(t){let i=Object.assign(_(),t.rawParams),{from:a,params:o,...s}=t.route,c=sr(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return rr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=Mt(this.latestLocation.href)===Mt(n.href)&&c($n(n.state),$n(this.latestLocation.state)),o=this._commitPromise,s,l=new Promise(e=>{s=e});if(l.resolve=()=>{s(),o?.resolve()},this._commitPromise=l,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?l(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return rr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ri(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Qn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Zn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(C.test(n)||(r=l(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Yn(e,this.origin)||(n=Xn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=gr,this.preloadRoute=e=>ii(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Ft(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=Sn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!c(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?c(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=It(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??on,parseSearch:e.parseSearch??an,protocolAllowlist:e.protocolAllowlist??p}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=_n(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,s=!1;(i?i.path!==`/`&&r[`**`]:Mt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:s=!0);let c=s?fr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!v.call(e,t[1]))}var lr=Object.freeze({});function ur(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=or(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function dr(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=S(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function fr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return ln}function pr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function mr(e,t){return e.options[t]?.preload?.()}function hr(e,t){let n=mr(e,`component`),r=mr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function gr(e,t,n){let r=()=>t===!1?void 0:t?mr(e,t):hr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function _r(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function Tr(e,t){return e.routesById[t.routeId]}function Er(e,t,n){return dn(e)?[xr,e]:Bt(e)?(e.routeId||=n,[br,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[yr,e]):[vr,e]}function Dr(e,t){let n=Er(t,!0,e.id);if(n[0]!==yr)return n;try{e.options.onError?.(n[1])}catch(t){n=Er(t,!0,e.id)}return n}function Or(e,t,n,r,i){return i[0].signal.aborted?Sr:Wr(e,t,n,Dr(n,r),i)}async function kr(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}if(c.aborted)return[i,Sr];let p=r.paramsError??r.searchError;if(p!==void 0)return jr(e,r),[i,Or(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Pr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?wr(a,c):a);if(c.aborted)return[i,Sr];let s=Wr(e,t,u,Er(o,!1,u.id),n);if(s[0]!==vr)return jr(e,r),[i,s];r.context={...r.context,...o}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}finally{r.status=h,Pr(e,r,!1,n[0])}}i()}function Ar(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function jr(e,t){let n=t._flight;t._flight=void 0,Ar(e,t,n)?.abort()}function Mr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ar(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Nr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Pr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Fr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ir(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return Sr;if(!i)return[vr,void 0];let l=n._flight;Pr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Fr(e,t,n,r,s,a,!!o[3]))).then(e=>Er(e,!1,r.id),e=>Er(e,!0,r.id)).then(t=>(t[0]!==vr&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===yr&&l[2]?Dr(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Wr(e,t,r,await wr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return jr(e,n),Sr}finally{Pr(e,n,!1,s)}}function Lr(e,t,n){t[0]!==xr&&(e.status=`success`,e.error=void 0,t[0]===vr?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Rr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&jr(e,r)}function zr(e,t){return t[0]===yr||t[0]===br?{...e,status:t[0]===yr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Br(e,t,n,r,i,a,o){let s=t[1][n],c=Tr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Fr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=Sr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,jr(e,s),p=Or(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Ar(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Ir(e,t,s,c,g,i,a).then(t=>(Lr(s,t,l),t[0]===vr&&(m&&!a[0].signal.aborted&&Rr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[vr,s.loaderData]),T=(async()=>{try{let e=gr(c,void 0,C);e&&await wr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Or(e,t,c,r,a)]}let r=await w;x&&r[0]===vr&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>zr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Ir(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Lr(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>zr(E,e))}async function Vr(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Tr(e,t[n]);try{let e=gr(i,!1);e&&await wr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Hr(e,t){t[2]&&=(Mr(e,t[2].map(e=>e[3])),void 0)}async function Ur(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=xr)throw[a,t];!i&&t[0]!==vr&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===xr)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Wr(e,t,n,r,i,a){for(;r[0]===xr;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[xr,t]:[xr,t,a]}return[xr,o,n]}catch(e){r=a?[yr,e]:Dr(n,e),a=!0}}return r}async function Gr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===br?Vr(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=xr)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==vr&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=xr){let n=s[1];if(n[0]!==xr||n[1].options.reloadDocument||n[2])return Hr(e,t),n;c=!0,s=[0,[yr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===yr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=Tr(e,u);try{await wr(i?Promise.resolve().then(()=>gr(m,l===yr?`errorComponent`:`notFoundComponent`)):Promise.all([gr(m),gr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Hr(e,t),Sr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Hr(e,t),Mr(e,o),p()):u.status=`success`}return t}async function Kr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Vr(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=xr&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Gr(e,i,u,r[0],Ur(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Ur(i[2],void 0,void 0,h.then(e=>Cr(e)?0:_r(n).length,()=>0))),o=await h}catch(t){if(Hr(e,i),t===a&&a.aborted)return Sr;throw t}return Cr(o)?o:Kr(e,o,a,r[6]===n.length?r[6]:0)}function Jr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>Jr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Yr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Xr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!_r(t[3]).some(e=>e.id===n[1]))return;let i;try{await wr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Zr(e,t){e._committed=t,e.stores.setMatches(t)}function Qr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=_r(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=er(n);Zr(e,n),Mr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),tr(e,i,n,a,l,t)}async function $r(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function ei(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ti(e,t,n,r,i){let a=n.map(e=>({...e}));Nr(a);for(let t of r)jr(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Gr(e,o,r,t[0],i)}catch(t){throw Mr(e,a),t}if(Cr(s)){Mr(e,a),s[0]===xr&&e._tx===t&&e._committed===n&&await ei(e,t,s);return}if(await Kr(e,s,t[0].signal),e._tx!==t||e._committed!==n){Mr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),jr(e,n))}Zr(e,a),Mr(e,n,a)}async function ni(e,t,n,r,i,a){let o=await qr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Cr(o)){let n=o[0]===xr&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Yr(e,t),Mr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Yr(e,t);return}await ei(e,t,o);return}let s=o[1];if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let c=t[2],l=Qn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let n=await e.startTransition(()=>{Yr(e,t),Qr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Hr(e,o);return}u?.length&&ti(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ri(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Qn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await $r(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Nr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){Mr(e,m),await $r(e,n);return}e._preflight=void 0;let g,_=()=>ni(e,y,f,()=>Jr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>$r(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Pr(e,t,!1)}n[0].abort(),Mr(e,n[3],y[3],!0)}if(e._tx!==y){Mr(e,y[3]),y[3]=[],g?.(),await $r(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&Jr(e,y),g?.(_()),await y[5]}async function ii(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Nr(a),o=(e._preloads??=new Map).set(i,a),s=await qr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),Mr(e,a)),i.abort()}if(!Cr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){Bt(e)||console.error(e);return}}}var ai=`Error preloading route! ☝️`,oi=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=ln:this.parentRoute||T();let r=n?ln:t?.path;r&&r!==`/`&&(r=jt(r));let i=t?.id||r,a=n?ln:At((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:At(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=Mt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>un({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},si=class extends oi{constructor(e){super(e)}},ci=class extends k.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?k.createElement(this.props.errorComponent??li,{error:e[0],reset:this.reset}):this.props.children}};function li({error:e}){let[t,n]=k.useState(!1);return(0,A.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,A.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,A.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,A.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,A.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,A.jsx)(`div`,{children:(0,A.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,A.jsx)(`code`,{children:e.message}):null})}):null]})}var ui=()=>!0,di=()=>!1;function fi({children:e,fallback:t=null}){return(0,A.jsx)(k.Fragment,{children:pi()?e:t})}function pi(e=!0){return k.useSyncExternalStore(mi,ui,e?di:ui)}function mi(){return()=>{}}function hi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function gi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var _i=[],vi=0,{link:yi,unlink:bi,propagate:xi,checkDirty:Si,shallowPropagate:Ci}=hi({update(e){return e._update()},notify(e){_i[Ti++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ki(e))}}),wi=0,Ti=0,Ei,Di=0;function Oi(e){try{++Di,e()}finally{--Di||Ai()}}function ki(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=bi(n,e)}function Ai(){if(!(Di>0)){for(;wi{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ei,o=t?.compare??Object.is;if(n)Ei=i,++vi,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ei=a,n&&(i.flags&=-5),ki(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Si(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ci(e)}}else e&32&&(i.flags=e&-33);return Ei!==void 0&&yi(i,Ei,vi),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(xi(e),Ci(e),Ai())}},i}function Mi(e){let t=()=>{let t=Ei;Ei=n,++vi,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ei=t,n.flags&=-5,ki(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Si(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,ki(this)}};return t(),n}function Ni(e){return O({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Pi(e){let{select:t,...n}=e;return O({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Fi(e){return O({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Ii(e){return O({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Li(e){let t=g();return k.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Ri(e){let t=g(),n=Li(),r=k.useRef(null);return kt(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function zi(e){return O({...e,select:t=>e.select?e.select(t.context):t.context})}function Bi(...e){let t=k.useRef(e),n=t.current;return e.forEach((e,t)=>{c(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Vi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ai)})}var Hi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Ui(e,t){let n=typeof e==`string`&&l(e);if(n)return t.has(n)?e:null}function Wi(e,t,n,r,i){let a=Pt(e.pathname,r),o=Pt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!c(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Gi(e,t,n){let r=g(),i=k.useRef(null),a=k.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:_,disabled:v,target:y,onClick:b,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=pi(!!o?.includeHash),[O,ee,te]=Bi(e.search,e.params,o),[ne,re]=k.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,ee,e.state,e.mask,e.unsafeRelative]),ie=k.useCallback(e=>{let t=Ui(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];ne._fromLocation||(re._fromLocation=e);let n=r.buildLocation(re),i=ea(n,r,v);return[i,!v&&(!i||l(i))?void 0:Wi(e,n,te,r.basepath,D)]},[te,v,D,ne,re,r,s]),[ae,A]=x(r.stores.location,ie,Hi),oe=A===void 0?ae:void 0,se=v||ae===void 0,ce=k.useRef(!1),le=e.reloadDocument||oe||se?!1:c??r.options.defaultPreload,ue=u??r.options.defaultPreloadDelay??0,de=k.useCallback(e=>{let t=e?.isIntersecting;if(!(t??le===`intent`)){t===!1&&Qi(i);return}if(!ue){Vi(r,ne);return}Zi.has(i)||Zi.set(i,setTimeout(()=>{Zi.delete(i),Vi(r,ne)},ue))},[r,ne,i,le,ue]);k.useEffect(()=>{le===`render`&&!ce.current&&(ce.current=!0,Vi(r,ne));let e;return le===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>de(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Qi(i)}},[r,ne,le,de,i]);let fe=Yi(e,n);if(fe.ref=t?a:i,oe)return fe.href=oe,fe;let pe=e=>{let t=y??e.currentTarget.getAttribute(`target`);!se&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...ne,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:_}))},me=()=>{le===`intent`&&Vi(r,ne)},he=()=>{le===`intent`&&Qi(i)};return fe.onClick=$i(b,pe),fe.onBlur=$i(S,he),fe.onFocus=$i(C,de),fe.onMouseEnter=$i(w,de),fe.onMouseLeave=$i(T,he),fe.onTouchStart=$i(E,me),Xi(fe,e,A,ae,se,n)}var Ki={},qi={className:`active`},Ji=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Yi(e,t){let n={};for(let r in e)Ji.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Xi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=S(n?o:s,{})??(n?qi:Ki);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Zi=new WeakMap,Qi=e=>{clearTimeout(Zi.get(e)),Zi.delete(e)},$i=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function ea(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!h(i,t.protocolAllowlist))return i}var ta=k.memo(k.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Gi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return k.createElement(n,r,i)}),na);function na(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!Ji.has(r)||!c(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var ra=class extends oi{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function ia(e){return new ra(e)}var aa=class extends si{constructor(e){super(e),this.useMatch=e=>O({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=k.forwardRef((e,t)=>(0,A.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function oa(e){return new aa(e)}function L(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(f(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Ot)Ot(a());else throw a()}return k.createElement(r,e)};return o.preload=a,o}function R(e){let t=g(),n=`not-found-${x(t.stores.location,e=>e.pathname)}-${x(t.stores.status)}`;return(0,A.jsx)(ci,{getResetKey:()=>n,onCatch:(t,n)=>{if(Bt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Bt(t))return e.fallback?.(t);throw t},children:e.children})}function sa(){return(0,A.jsx)(`p`,{children:`Not Found`})}function ca(e){return(0,A.jsx)(A.Fragment,{children:e.children})}function la(e,t,n){return t.options.notFoundComponent?(0,A.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,A.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,A.jsx)(sa,{})}function ua(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}var da=(e,t)=>e[0]===t[0]&&e[1]===t[1],fa=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,pa=k.memo(function({routeId:e}){let t=g();return(0,A.jsx)(ma,{router:t,match:x(t.stores.getMatchStore(e))})});function ma({router:e,match:t}){let n=e.routesById[t.routeId],r=ua(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=fa(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?k.Suspense:ca,l=i?ci:ca,u=o?R:ca;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??ca:ca,{children:[(0,A.jsx)(D.Provider,{value:t.routeId,children:(0,A.jsx)(c,{fallback:r,children:(0,A.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(Bt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,A.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return k.createElement(o,e)},children:s?(0,A.jsx)(fi,{fallback:r,children:(0,A.jsx)(ha,{match:t})}):(0,A.jsx)(ha,{match:t})})})})}),null]})}var ha=k.memo(function({match:e}){let t=g(),n=e.routeId,r=t.routesById[n],i=k.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=k.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,A.jsx)(e,{},i):(0,A.jsx)(ga,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!fa(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return ua(t,r)}if(e.status===`notFound`)return la(t,r,e.error);if(e.status===`error`)throw e.error;return a}),ga=k.memo(function(){let e=g(),t=k.useContext(D),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=x(a,e=>[!!e._notFound,e.error],{compare:da}),i=x(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return la(e,e.routesById[t],r);if(!i)return null;let a=(0,A.jsx)(pa,{routeId:i});return t===`__root__`?(0,A.jsx)(k.Suspense,{fallback:ua(e),children:a}):a});function _a(e,t){let n=e[1];e.length=0,n?.(t)}function va({t:e}){let t=g(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{_a(n,!1),n.push(i,a),e(t),k.startTransition(r)}),kt(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(Mt(r.publicHref)!==Mt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Qn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function ya(){let e=g(),t=e.routesById[ln],n=ua(e,t),r=e.ssr?ca:k.Suspense,i=(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(va,{t:k.useState()[1]}),(0,A.jsx)(r,{fallback:n,children:(0,A.jsx)(ba,{})})]});return e.options.InnerWrap?(0,A.jsx)(e.options.InnerWrap,{children:i}):i}function ba(){let e=g(),t=e._rendered,n=x(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;kt(()=>{t[0]===n&&_a(t,!0)},[t,n]);let a=i?(0,A.jsx)(pa,{routeId:i}):null;return(0,A.jsx)(D.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,A.jsx)(ci,{getResetKey:()=>r,onCatch:void 0,children:a})})}var xa=e=>({createMutableStore:ji,createReadonlyStore:ji,batch:Oi}),Sa=e=>new Ca(e),Ca=class extends nr{constructor(e){super(e,xa)}};function wa({router:e,children:t,...n}){u(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,A.jsx)(y.Provider,{value:e,children:t});return e.options.Wrap?(0,A.jsx)(e.options.Wrap,{children:r}):r}function Ta({router:e,...t}){return(0,A.jsx)(wa,{router:e,...t,children:(0,A.jsx)(ya,{})})}function Ea(e){let t=g({warn:e?.router===void 0}),n=e?.router||t;return x(n.stores.__store,E(e,n))}var Da=ae(),z=n();function Oa(e){let t=(0,z.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(`p`,{className:`schild text-lg text-rot`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,A.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,A.jsx)(`button`,{type:`button`,onClick:ka,className:`schild h-11 rounded-lg border border-rot-rand px-5 text-sm text-foreground hover:bg-[#3a1512]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,A.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function ka(){return window.location.reload()}var Aa=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function ja(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:Aa(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var Ma=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Na=e=>{let t=Ma(e);return t.charAt(0).toUpperCase()+t.slice(1)},Pa=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Fa={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Ia(e){return e!=null}function La(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Fa.width,a=e.size??e.height??Fa.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Pa(...c):Pa(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Fa[`stroke-width`])*Number(e.size??e.width??Fa.width)/Number(t.size??t.width??Fa.width):t.strokeWidth??Fa[`stroke-width`];return[`svg`,{...Object.entries(Fa).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Ia(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Ia(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Ia(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function Ra(e,t={}){return La(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var za=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Ba=(0,k.createContext)({}),Va=()=>(0,k.useContext)(Ba),Ha=(0,k.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Va()??{},y=!!c||za(d),[b,x,S=[]]=Ra(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Pa(v,s),hasA11yProp:y,attributes:d});return(0,k.createElement)(b,{ref:f,...x},[...S.map(([e,t])=>(0,k.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Ua(e,t=[],n=[]){let r=typeof e==`string`?ja(e,t,n):e,i=(0,k.forwardRef)(({className:e,...t},n)=>(0,k.createElement)(Ha,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Na(r.name)),i}var Wa={name:`activity`,size:24,node:[[`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`}]]};Wa.node;var Ga=Ua(Wa),Ka={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Ka.node;var qa=Ua(Ka),Ja={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};Ja.node;var Ya=Ua(Ja),Xa={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Xa.node;var Za=Ua(Xa),Qa={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};Qa.node;var $a=Ua(Qa),eo={name:`external-link`,size:24,node:[[`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`}]]};eo.node;var to=Ua(eo),no={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};no.node;var ro=Ua(no),io={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};io.node;var ao=Ua(io),oo={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};oo.node;var so=Ua(oo),co={name:`refresh-cw`,size:24,node:[[`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`}]]};co.node;var lo=Ua(co),uo={name:`rotate-ccw-clock`,size:24,node:[[`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`}]],aliases:[`history`]};uo.node;var fo=Ua(uo),po={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};po.node;var mo=Ua(po),ho={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};ho.node;var go=Ua(ho),_o={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};_o.node;var vo=Ua(_o),yo=[`/api/instanz`,`/api/partner`,`/api/health`],bo=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function xo(e,t){return!e.startsWith(`/api/`)||yo.some(t=>bo(e,t))||(bo(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var So=null;function Co(){return So??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(So=null,`box`)),So}var wo=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function To(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function B(e,t={}){let n=xo(e,await Co()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new wo(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?Eo(i):null;if(!r.ok)throw new wo(r.status,To(a,r.status));if(typeof a==`string`)throw new wo(r.status,`Die Box antwortet nicht mit Daten.`);return a}function Eo(e){try{return JSON.parse(e)}catch{return e}}var Do=(e,t)=>B(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),Oo=100,ko=95,Ao=210,jo=240;function Mo(e,t){let n=e*Math.PI/180;return[Oo+t*Math.cos(n),ko-t*Math.sin(n)]}var No=e=>Math.round(e*100)/100;function Po(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=Mo(Ao-jo*r,n),[s,c]=Mo(Ao-jo*i,n),l=+((i-r)*jo>180);return`M ${No(a)} ${No(o)} A ${n} ${n} 0 ${l} 1 ${No(s)} ${No(c)}`}function Fo(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--gruen)`}var Io={ok:`border-gruen-rand bg-gruen-grund text-gruen`,info:`border-cyan-rand bg-cyan-grund text-cyan`,stumm:`border-aus-rand bg-aus-grund text-aus-text`,gelb:`border-2 border-bernstein bg-bernstein-grund text-bernstein-hell lampe-atmet`,rot:`border-2 border-rot bg-rot-grund text-rot shadow-[0_0_32px_rgba(255,90,79,0.3)]`};function Lo(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`SCHWEIGT`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`IN ORDNUNG`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} HINWEIS${e.anzahl===1?``:`E`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function Ro(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function zo(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var Bo=e=>e.state===`running`||e.state===`queued`;function Vo(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var Ho={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function V(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var H=[],Uo=1,Wo=new Set,Go=()=>Wo.forEach(e=>e());function Ko(e,t){let n=Uo++;H=[...H,{id:n,art:e,text:t}].slice(-4),Go(),e!==`fehler`&&window.setTimeout(()=>qo(n),6e3)}function qo(e){H=H.filter(t=>t.id!==e),Go()}var Jo=()=>(0,k.useSyncExternalStore)(Yo,Xo);function Yo(e){return Wo.add(e),()=>{Wo.delete(e)}}function Xo(){return H}var Zo=2e3,Qo=3e4,$o=2e4,es=`verbinde`,ts=null,ns=new Set,rs=()=>ns.forEach(e=>e());function is(e){return ns.add(e),()=>{ns.delete(e)}}var as=()=>es===`live`,os=()=>(0,k.useSyncExternalStore)(is,us),ss=()=>(0,k.useSyncExternalStore)(is,ds);function cs(e){e!==es&&(es=e,rs())}function ls(){let e=se();(0,k.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Zo,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Qo))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),cs(`getrennt`),s()},$o)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Zo,cs(`live`),c(),e.invalidateQueries()},i.onerror=()=>{cs(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{ts=JSON.parse(e.data),rs()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Zo,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),cs(`getrennt`)}},[e])}function us(){return es}function ds(){return ts}var fs=`Europe/Berlin`,ps=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:fs}),ms=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:fs}),hs=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:fs}),gs=new Intl.DateTimeFormat(`en-CA`,{timeZone:fs});function _s(e){return gs.format(e)}function vs(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=_s(t),i=_s(new Date(t.getTime()-864e5)),a=_s(new Date(t.getTime()+864e5)),o=_s(n),s=ps.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${ms.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${hs.format(n)} ${s}`}function ys(e,t=new Date){let n=new Date(e*1e3);return _s(n)===_s(t)?`seit heute ${ps.format(n)}`:`seit ${hs.format(n)}, ${ps.format(n)}`}function bs(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function xs(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var Ss=e=>e==null?null:e/1024**3;function Cs(e,t=0){let n=Ss(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var ws=e=>e.toLocaleString(`de-DE`),Ts=e=>()=>as()?e*5:e;function Es(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!Bo(e)&&n.some(t=>t.id===e.id&&Bo(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var Ds=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:Oc,refetchInterval:kc},e[0]=t):t=e[0],F(t)},Os=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:Ac,refetchInterval:Ts(3e4)},e[1]=n):n=e[1],F(n)},ks=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:jc,refetchInterval:6e5},e[0]=t):t=e[0],F(t)},As=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:Mc,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],F(t)},js=()=>{let e=(0,z.c)(3),t=se(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await B(`/api/jobs`);return Es(t,e.jobs),e},refetchInterval:Nc},e[1]=t,e[2]=r),F(r)},Ms=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:Pc},e[0]=t):t=e[0],F(t)},Ns=e=>{let t=(0,z.c)(4),n;t[0]===e?n=t[1]:(n=e.map(Fc),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),Tt(r)},Ps=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:Ic},e[0]=t):t=e[0],F(t)},Fs=e=>{let t=(0,z.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>B(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],F(a)},Is=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:Lc,refetchInterval:1e4},e[0]=t):t=e[0],F(t)};function Ls(e,t){let n=(0,z.c)(6),r=se(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Ko(`fehler`,t.fehler?.(n,i)??zo(i)):t.erfolg(n,e)&&Ko(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:Rs},n[3]=e,n[4]=i,n[5]=a):a=n[5],Dt(a)}function Rs(e){return Ko(`fehler`,e.message)}var zs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:zc,neuLaden:[`start`]},e[0]=t):t=e[0],Ls(Rc,t)},Bs={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},Vs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vc,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],Ls(Bc,t)},Hs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Uc,fehler:Wc,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ls(Hc,t)},Us=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Kc,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ls(Gc,t)},Ws=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Jc,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],Ls(qc,t)},Gs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:Yc,staleTime:6e4},e[0]=t):t=e[0],F(t)},Ks=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Zc,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],Ls(Xc,t)},qs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:$c,neuLaden:[`start`]},e[0]=t):t=e[0],Ls(Qc,t)},Js=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:tl,fehler:nl,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],Ls(el,t)},Ys=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:il,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],Ls(rl,t)},Xs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ol,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],Ls(al,t)},Zs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:cl,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],Ls(sl,t)},Qs=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ul,neuLaden:[`radar`,`jobs`]},e[0]=t):t=e[0],Ls(ll,t)},$s=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:fl,neuLaden:[`jobs`]},e[0]=t):t=e[0],Ls(dl,t)},ec=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:pl,staleTime:1/0},e[0]=t):t=e[0],F(t)},tc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:ml,refetchInterval:3e4},e[0]=t):t=e[0],F(t)},nc=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:hl,refetchInterval:Ts(3e4)},e[1]=n):n=e[1],F(n)},rc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:gl,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),F(r)},ic=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:_l,enabled:e,refetchInterval:U},t[1]=e,t[2]=r),F(r)},ac=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:bl,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],Ls(yl,t)},oc=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ts(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:xl,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),F(i)},sc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Sl,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:wl,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],Ls(Cl,t)},lc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:El,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],Ls(Tl,t)},uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ol,neuLaden:[]},e[0]=t):t=e[0],Ls(Dl,t)},dc=(e,t)=>{let n=(0,z.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:kl,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:Al,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],Tt(c)},fc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:jl,staleTime:6e4},e[0]=t):t=e[0],F(t)},pc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Nl,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],Ls(Ml,t)},mc={"1h":6e4,"24h":3e5,"7d":9e5},hc=(e,t)=>{let n=(0,z.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>B(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=mc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:Pl,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],F(s)},gc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>B(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=mc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:Fl,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],F(o)},_c=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Il,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},vc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Ll,enabled:e,refetchInterval:Rl,retry:!1},t[1]=e,t[2]=r),F(r)},yc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Bl,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],Ls(zl,t)},bc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Hl,neuLaden:[`homelab-sammellauf`]},e[0]=t):t=e[0],Ls(Vl,t)},xc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>B(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=Ts(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],F(o)},Sc=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Ts(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Ul,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),F(i)},Cc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`,`snapshots`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Wl,enabled:e,refetchInterval:Kl,retry:!1},t[1]=e,t[2]=r),F(r)},wc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Jl,neuLaden:[`homelab`,`homelab-laeufe`]},e[0]=t):t=e[0],Ls(ql,t)},Tc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Yl,enabled:e,retry:!1},t[1]=e,t[2]=r),F(r)},Ec=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Zl,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ls(Xl,t)},Dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:$l,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],Ls(Ql,t)};function Oc(){return B(`/api/start`)}function kc(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:Ts(2e4)()}function Ac(){return B(`/api/models`)}function jc(){return B(`/api/modelle/nutzung`)}function Mc(){return B(`/api/radar`)}function Nc(e){return e.state.data?.jobs.some(Bo)?2e3:Ts(3e4)()}function Pc(){return B(`/api/zeitmaschine`)}function Fc(e){return{queryKey:[`update-details`,e],queryFn:()=>B(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function Ic(){return B(`/api/updates/verlauf`)}function Lc(){return B(`/api/system/services`)}function Rc(e){let{hinweis:t,aktion:n}=e;return Do(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function zc(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Bc(e){return Do(Bs[e])}function Vc(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Hc(e){let{id:t}=e;return Do(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function Uc(e){return`${e.titel}: wird abgebrochen.`}function Wc(e){return`${e.titel} lief schon nicht mehr.`}function Gc(e){return Do(`/api/jobs/${encodeURIComponent(e)}/quittieren`)}function Kc(){return``}function qc(e){let{repo:t,quant:n,rolle:r}=e;return Do(`/api/models/install`,{repo:t,quant:n,role:r})}function Jc(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${Cs(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function Yc(){return B(`/api/modelle/aufraeumen`)}function Xc(e){return Do(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function Zc(e,t){return t.text??`Gelöscht.`}function Qc(e){return Do(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function $c(e,t){return t.text??`Freigegeben.`}function el(){return Do(`/api/system/backup`)}function tl(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function nl(e,t){return`Die Sicherung ging nicht: ${zo(t)}`}function rl(e){return Do(`/api/zeitmaschine/restore`,{file:e})}function il(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function al(e){return Do(`/api/models/${encodeURIComponent(e)}/load`)}function ol(e){return`${e} wird geladen.`}function sl(e){let{id:t,aktion:n}=e;return Do(`/api/radar/${encodeURIComponent(t)}/${n}`)}function cl(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function ll(e){let{id:t}=e;return Do(`/api/radar/${encodeURIComponent(t)}/testen`)}function ul(e,t){return t.text??`Der Test von ${e.name} läuft.`}function dl(){return Do(`/api/radar/suche`)}function fl(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function pl(){return B(`/api/instanz`)}function ml(){return B(`/api/partner`)}function hl(){return B(`/api/ziele`)}function gl(){return B(`/api/homelab/ziele`)}function _l(){return B(`/api/homelab/laeufe`)}function vl(e){return e.status===`laeuft`}function U(e){return e.state.data?.laeufe.some(vl)?3e3:3e4}function yl(e){return B(e.pfad,{method:e.methode})}function bl(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function xl(){return B(`/api/homelab/hinweise`)}function Sl(){return B(`/api/einstellungen`)}function Cl(e){return Do(`/api/einstellungen/update-fenster`,e)}function wl(e,t){return t.text??`Gespeichert.`}function Tl(e){return Do(`/api/einstellungen/radar`,{an:e})}function El(e,t){return t.text??`Geschaltet.`}function Dl(e){return Do(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function Ol(e,t){return t.text??`Die Testmeldung ist raus.`}function kl(){return B(`/api/instanz`)}function Al(){return B(`/api/partner/instanz`)}function jl(){return B(`/api/aufraeumen/altreste`)}function Ml(e){return Do(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function Nl(e,t){return t.text??`Gelöscht.`}function Pl(e){return e}function Fl(e){return e}function Il(){return B(`/api/homelab/alle/plan`)}function Ll(){return B(`/api/homelab/sammellauf`)}function Rl(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function zl(){return Do(`/api/homelab/alle`)}function Bl(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function Vl(e){return Do(`/api/homelab/sammellauf/${encodeURIComponent(e)}/quittieren`)}function Hl(){return``}function Ul(){return B(`/api/homelab/speicher`)}function Wl(){return B(`/api/homelab/snapshots`)}function Gl(e){return e.laeuft}function Kl(e){return e.state.data?.geraete.some(Gl)?3e3:3e4}function ql(e){return B(e.pfad,{method:e.methode})}function Jl(e){return`${e.label}: gestartet. Das Ergebnis steht gleich beim Gerät.`}function Yl(){return B(`/api/homelab/einstellungen`)}function Xl(e){return e===null?B(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):Do(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function Zl(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function Ql(e){return Do(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function $l(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}var eu={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function tu(e){let t=e.id.match(/-(\d+)$/)?.[1],n=eu[e.art]??e.art;return t?`${n} ${t}`:n}var nu={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},ru=e=>nu[e.name]??e.name,iu=new Set([`app`,`arcane`]),au=e=>e.bausteine.find(e=>iu.has(e.id))??null,W=e=>e.bausteine.find(e=>!iu.has(e.id))??null;function ou(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function su(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function cu(e){let t=e.rueckweg_art??lu(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function lu(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var uu=e=>iu.has(e.id),du=e=>e.replace(/^Image vom /,``);function fu(e){return uu(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function pu(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function mu(e,t){let n=ru(e),r=pu(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>iu.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:iu.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:fu(t)}}let a=au(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?du(a.installiert):`aktuell`}}var hu=e=>`${e} HINWEIS${e===1?``:`E`}`;function gu(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 GERÄT STUMM`:`${i.length} GERÄTE STUMM`,unten:i.map(ru).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:hu(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`AUSFÜHRER STUMM`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:hu(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`UPDATE LÄUFT`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=ou(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} UPDATE${a===1?``:`S`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`ALLES AKTUELL`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function _u(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var vu=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],yu=[{to:`/`,label:`Übersicht`,Icon:ao,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:ro,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:lo,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:$a,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Ga,ort:`box`},{to:`/box/dienste`,label:`Dienste und Protokolle`,Icon:mo,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:ro,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:lo,ort:`homelab`,zaehlt:!0},{to:`/homelab/snapshots`,label:`Snapshots`,Icon:fo,ort:`homelab`},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Ga,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:mo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:go,ort:`system`}],bu={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function xu(){let e=(0,z.c)(2),t=Ea({select:Su}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=yu.find(e=>e.to===t)??yu[0],e[0]=t,e[1]=n),n}function Su(e){return e.location.pathname}function Cu(){let e=(0,z.c)(19),t=ec(),n=tc(),r=os(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=nc(),d=rc(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(Tu,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=ou(d.data?.ziele??[]).filter(wu),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function wu(e){return e.baustein.aktion}function Tu(e,t){return e+t.bausteine.filter(Eu).length}function Eu(e){return e.zustand===`neu`&&e.aktion}var Du={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function Ou(){let e=(0,z.c)(4),t=Jo(),n;e[0]===t?n=e[1]:(n=t.map(ku),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,A.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function ku(e){return(0,A.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:a(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,Du[e.art]),children:[(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>qo(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,A.jsx)(vo,{className:`size-4`})})]},e.id)}var Au={online:{punkt:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},ju={uebersicht:{aktiv:`!border-bernstein bg-bernstein-grund`,symbol:`group-data-[status=active]:text-bernstein`},box:{aktiv:`!border-box bg-box-grund`,symbol:`group-data-[status=active]:text-box`},homelab:{aktiv:`!border-lab bg-lab-grund`,symbol:`group-data-[status=active]:text-lab`},system:{aktiv:`!border-text-2 bg-erhaben`,symbol:`group-data-[status=active]:text-foreground`}},Mu={box:{text:`text-box-text`,balken:`bg-box`},homelab:{text:`text-lab-text`,balken:`bg-lab`}},Nu=`group flex h-11 items-center gap-3 rounded-lg border-l-2 border-transparent pr-3 pl-3 text-[15px] text-text-2 hover:bg-erhaben hover:text-foreground`;function Pu(){let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:36,height:36,className:`size-9 shrink-0`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,A.jsxs)(`div`,{className:`flex items-center gap-3 px-1`,children:[t,(0,A.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,A.jsx)(`span`,{className:`font-anzeige text-[22px] font-bold tracking-[0.06em]`,children:`Homelab`}),(0,A.jsx)(`span`,{className:`schild text-[13px] tracking-[0.22em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function Fu(e){let t=(0,z.c)(21),{s:n,zahl:r,onGewaehlt:i}=e,o=ju[n.ort],s=n.to,c;t[0]===o.aktiv?c=t[1]:(c=a(o.aktiv,`!text-foreground`),t[0]=o.aktiv,t[1]=c);let l;t[2]===c?l=t[3]:(l={className:c},t[2]=c,t[3]=l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u={exact:!0},t[4]=u):u=t[4];let d=n.Icon,f;t[5]===o.symbol?f=t[6]:(f=a(`size-[18px] shrink-0 text-text-3 group-hover:text-text-2`,o.symbol),t[5]=o.symbol,t[6]=f);let p;t[7]!==n.Icon||t[8]!==f?(p=(0,A.jsx)(d,{className:f,"aria-hidden":!0}),t[7]=n.Icon,t[8]=f,t[9]=p):p=t[9];let m;t[10]===n.label?m=t[11]:(m=(0,A.jsx)(`span`,{className:`flex-1`,children:n.label}),t[10]=n.label,t[11]=m);let h;t[12]===r?h=t[13]:(h=!!r&&(0,A.jsxs)(`span`,{className:`ziffern rounded-full border border-cyan-rand bg-cyan-grund px-2 text-xs leading-5 text-cyan`,children:[r,(0,A.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[12]=r,t[13]=h);let g;return t[14]!==i||t[15]!==n.to||t[16]!==l||t[17]!==p||t[18]!==m||t[19]!==h?(g=(0,A.jsxs)(ta,{to:s,onClick:i,className:Nu,activeProps:l,activeOptions:u,children:[p,m,h]}),t[14]=i,t[15]=n.to,t[16]=l,t[17]=p,t[18]=m,t[19]=h,t[20]=g):g=t[20],g}function Iu(e){let t=(0,z.c)(14),{onGewaehlt:n}=e,r=Cu(),i=ec().data?.rolle!==`homelab`,o=Lu,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=o(`/`),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,A.jsx)(Fu,{s,onGewaehlt:n}),t[1]=n,t[2]=c);let l;t[3]!==i||t[4]!==n||t[5]!==r?(l=vu.map(e=>{let t=Au[r[e.id].verbindung],o=Mu[e.id];return(0,A.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-3 pb-1.5`,children:[(0,A.jsxs)(`h2`,{className:a(`schild flex items-center gap-2.5 text-sm font-bold tracking-[0.24em]`,o.text),children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-4 w-1 rounded-full`,o.balken)}),e.name]}),(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`size-2 rounded-full`,t.punkt)}),t.text]})]}),yu.filter(t=>t.ort===e.id).map(t=>(0,A.jsx)(Fu,{s:t,zahl:t.zaehlt?r[e.id].updates:0,onGewaehlt:n},t.to)),e.id===`box`&&i&&(0,A.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:Nu,children:[(0,A.jsx)(to,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]},e.id)}),t[3]=i,t[4]=n,t[5]=r,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=o(`/einstellungen`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,A.jsx)(`div`,{className:`mt-auto border-t border-linie pt-4`,children:(0,A.jsx)(Fu,{s:u,onGewaehlt:n})}),t[8]=n,t[9]=d);let f;return t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,A.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-6`,children:[c,l,d]}),t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function Lu(e){return yu.find(t=>t.to===e)}var Ru=`modulepreload`,zu=function(e){return`/`+e},Bu={},Vu=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=zu(t,n),t=s(t),t in Bu)return;Bu[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ru,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Hu=(0,k.lazy)(()=>Vu(()=>import(`./MenueSchublade-0T5uliTD.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([0,1,2,3,4]))),Uu=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Wu=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Gu(){let e=(0,z.c)(13),[t,n]=(0,k.useState)(Ku),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,k.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Uu.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,A.jsx)(`span`,{className:`ziffern text-2xl font-medium`,children:a}),e[4]=a,e[5]=o);let s;e[6]===t?s=e[7]:(s=Wu.format(t).replace(`,`,``),e[6]=t,e[7]=s);let c;e[8]===s?c=e[9]:(c=(0,A.jsx)(`span`,{className:`schild text-[13px] text-text-3`,children:s}),e[8]=s,e[9]=c);let l;return e[10]!==o||e[11]!==c?(l=(0,A.jsxs)(`div`,{className:`flex flex-col items-end leading-tight`,children:[o,c]}),e[10]=o,e[11]=c,e[12]=l):l=e[12],l}function Ku(){return new Date}function qu(){let e=(0,z.c)(14),t=os(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,o;e[0]===i?o=e[1]:(o=a(`schild flex items-center gap-1.5 text-[13px]`,i),e[0]=i,e[1]=o);let s=n?`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=a(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,A.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,A.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==o||e[11]!==l||e[12]!==f?(p=(0,A.jsxs)(`span`,{role:`status`,title:r,className:o,children:[l,f]}),e[9]=r,e[10]=o,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Ju={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function Yu(){let e=(0,z.c)(27);ls();let[t,n]=(0,k.useState)(!1),r=xu(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,A.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-8 overflow-y-auto border-r border-linie bg-[#0c0f12] px-4 py-7 lg:flex`,children:[(0,A.jsx)(Pu,{}),(0,A.jsx)(Iu,{})]}),e[0]=i):i=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>n(!0),e[1]=o):o=e[1];let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,A.jsx)(`button`,{type:`button`,onClick:o,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-erhaben hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,A.jsx)(so,{className:`size-6`})}),e[2]=s):s=e[2];let c=Ju[r.ort],l;e[3]===c?l=e[4]:(l=a(`schild text-[13px] tracking-[0.24em]`,c),e[3]=c,e[4]=l);let u=bu[r.ort],d;e[5]!==l||e[6]!==u?(d=(0,A.jsx)(`span`,{className:l,children:u}),e[5]=l,e[6]=u,e[7]=d):d=e[7];let f;e[8]===r.label?f=e[9]:(f=(0,A.jsx)(`h1`,{className:`font-anzeige text-[26px] leading-none font-bold tracking-[0.04em]`,children:r.label}),e[8]=r.label,e[9]=f);let p;e[10]!==d||e[11]!==f?(p=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[s,(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col leading-tight`,children:[d,f]})]}),e[10]=d,e[11]=f,e[12]=p):p=e[12];let m;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,A.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,A.jsx)(`span`,{className:`lg:hidden`,children:(0,A.jsx)(qu,{})}),(0,A.jsx)(Gu,{})]}),e[13]=m):m=e[13];let h;e[14]===p?h=e[15]:(h=(0,A.jsxs)(`header`,{className:`flex items-center justify-between gap-4`,children:[p,m]}),e[14]=p,e[15]=h);let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,A.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,A.jsx)(ga,{})}),e[16]=g):g=e[16];let _;e[17]===h?_=e[18]:(_=(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1320px] min-w-0 flex-col gap-5 px-4 pt-4 pb-10 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[h,g]}),e[17]=h,e[18]=_);let v;e[19]===t?v=e[20]:(v=t&&(0,A.jsx)(Hu,{onSchliessen:()=>n(!1)}),e[19]=t,e[20]=v);let y;e[21]===v?y=e[22]:(y=(0,A.jsx)(k.Suspense,{fallback:null,children:v}),e[21]=v,e[22]=y);let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,A.jsx)(Ou,{}),e[23]=b):b=e[23];let x;return e[24]!==_||e[25]!==y?(x=(0,A.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[i,_,y,b]}),e[24]=_,e[25]=y,e[26]=x):x=e[26],x}var Xu={gruen:`border-gruen-rand bg-gruen-grund text-gruen`,bernstein:`border-bernstein/60 bg-bernstein-grund text-bernstein`,cyan:`border-cyan-rand bg-cyan-grund text-cyan`,rot:`border-rot-rand bg-rot-grund text-rot-text`,grau:`border-linie bg-erhaben text-text-2`};function Zu(e){let t=(0,z.c)(5),{art:n,children:r}=e,i=Xu[n===void 0?`grau`:n],o;t[0]===i?o=t[1]:(o=a(`schild inline-flex h-7 items-center rounded-full border px-2.5 text-xs whitespace-nowrap`,i),t[0]=i,t[1]=o);let s;return t[2]!==r||t[3]!==o?(s=(0,A.jsx)(`span`,{className:o,children:r}),t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function Qu(e){let t=(0,z.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,o=n?`border-rot-rand bg-rot-grund text-rot-text`:`border-linie bg-panel text-text-2`,s;t[0]===o?s=t[1]:(s=a(`rounded-2xl border px-5 py-8 text-center text-[15px]`,o),t[0]=o,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,A.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var $u={erledigt:{text:`Erledigt`,farbe:`text-gruen`},fehler:{text:`Fehler`,farbe:`text-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`}};function ed(e){let t=(0,z.c)(18),{e:n}=e,r=$u[n.status]??$u.geplant,i=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan`:r.farbe,o;t[0]===n.zeit?o=t[1]:(o=vs(n.zeit),t[0]=n.zeit,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.text?c=t[5]:(c=n.text&&(0,A.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=c);let l;t[6]!==n.titel||t[7]!==c?(l=(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,c]}),t[6]=n.titel,t[7]=c,t[8]=l):l=t[8];let u;t[9]===i?u=t[10]:(u=a(`schild col-start-2 row-start-1 justify-self-end text-[13px] @sm:col-start-3`,i),t[9]=i,t[10]=u);let d;t[11]!==r.text||t[12]!==u?(d=(0,A.jsx)(`span`,{className:u,children:r.text}),t[11]=r.text,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[s,l,d]}),t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17],f}function G(e){let t=(0,z.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,A.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(K)}),t[4]=a,t[5]=o),o}function K(e){return(0,A.jsx)(ed,{e},`${e.titel}-${e.zeit}`)}function q(e){let t=(0,z.c)(11),{titel:n,rechts:r,children:i,className:o,id:s}=e,c;t[0]===o?c=t[1]:(c=a(`flex min-w-0 flex-col gap-4 rounded-2xl border border-linie bg-panel p-5 sm:p-6`,o),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n?(l=(n||r)&&(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n&&(0,A.jsx)(`h2`,{className:`schild text-lg font-bold tracking-[0.22em] text-foreground`,children:n}),r]}),t[2]=r,t[3]=n,t[4]=l):l=t[4];let u;return t[5]!==i||t[6]!==s||t[7]!==c||t[8]!==l||t[9]!==n?(u=(0,A.jsxs)(`section`,{id:s,"aria-label":n,className:c,children:[l,i]}),t[5]=i,t[6]=s,t[7]=c,t[8]=l,t[9]=n,t[10]=u):u=t[10],u}var J=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Y=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function td(e){return e<1e3?`${Y.format(e)} B/s`:e<1e6?`${J.format(e/1e3)} KB/s`:e<1e9?`${J.format(e/1e6)} MB/s`:`${J.format(e/1e9)} GB/s`}function nd(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${Y.format(e)} %`:t===`grad`?`${Y.format(e)} °C`:t===`bytes_s`?td(e):Y.format(e)}function rd(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function id(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function ad(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var od=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),sd=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function cd(e,t){let n=new Date(e*1e3);return(t?sd:od).format(n).replace(`,`,``)}function ld(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function ud(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function dd(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function fd(e){if(!Number.isFinite(e)||e<=0)return[0,1];for(let t=0;;t++)for(let n of[1,2,2.5,5]){let r=n*10**t;if(!Number.isInteger(r))continue;let i=Math.ceil(e/r);if(i<=4)return Array.from({length:i+1},(e,t)=>t*r)}}var X=e=>Number(e.toFixed(1));function pd(e,t,n,r,i=4){let a=Math.max(0,Math.min(i,n/2,r));return`M${X(e)},${X(t+r)}V${X(t+a)}Q${X(e)},${X(t)} ${X(e+a)},${X(t)}H${X(e+n-a)}Q${X(e+n)},${X(t)} ${X(e+n)},${X(t+a)}V${X(t+r)}Z`}function md(e,t,n=2){let r=[],i=0;e.forEach((e,a)=>{if(!(e>0))return;let o=t(i);i+=e;let s=t(i);r.push({index:a,y:s,hoehe:Math.max(0,o-s-(r.length?n:0)),oben:!1})});let a=r.filter(e=>e.hoehe>=1).at(-1);return a&&(a.oben=!0),r}function hd(e){let t=(0,z.c)(22),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(gd),t[6]=n,t[7]=h);let g=h,_=`0 0 100 ${c}`,v;t[8]===c?v=t[9]:(v={height:c},t[8]=c,t[9]=v);let y;t[10]!==s||t[11]!==g||t[12]!==c||t[13]!==n||t[14]!==f||t[15]!==m?(y=g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`path`,{d:dd(n,f,m,c),fill:s,opacity:.12}),(0,A.jsx)(`path`,{d:ud(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[10]=s,t[11]=g,t[12]=c,t[13]=n,t[14]=f,t[15]=m,t[16]=y):y=t[16];let b;return t[17]!==o||t[18]!==_||t[19]!==v||t[20]!==y?(b=(0,A.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:_,preserveAspectRatio:`none`,className:`block w-full`,style:v,children:y}),t[17]=o,t[18]=_,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function gd(e){let[,t]=e;return t!==null}var _d={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function vd(e){let t=(0,z.c)(29),{label:n,wert:r,einheit:i,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=_d[c===void 0?`ruhig`:c],f;t[0]===n?f=t[1]:(f=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[0]=n,t[1]=f);let p;t[2]===d.wert?p=t[3]:(p=a(`font-anzeige text-[28px] leading-none font-bold`,d.wert),t[2]=d.wert,t[3]=p);let m;t[4]!==i||t[5]!==r?(m=nd(r,i),t[4]=i,t[5]=r,t[6]=m):m=t[6];let h;t[7]!==p||t[8]!==m?(h=(0,A.jsx)(`span`,{className:p,children:m}),t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==d.marke||t[11]!==d.wert?(g=d.marke&&(0,A.jsx)(`span`,{className:a(`schild text-[11px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=g):g=t[12];let _;t[13]!==h||t[14]!==g?(_=(0,A.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[h,g]}),t[13]=h,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(v=o&&o.length>1&&(0,A.jsx)(hd,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=v):v=t[21];let y;t[22]===o?y=t[23]:(y=o&&o.length<=1&&(0,A.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=y);let b;return t[24]!==f||t[25]!==_||t[26]!==v||t[27]!==y?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 rounded-xl border border-linie bg-erhaben/50 px-3.5 pt-3 pb-2`,children:[f,_,v,y]}),t[24]=f,t[25]=_,t[26]=v,t[27]=y,t[28]=b):b=t[28],b}var yd=new Set([`snapshot-anlegen`,`snapshot-loeschen`,`snapshot-zurueck`,`sicherung-loeschen`]),bd=e=>yd.has(e.baustein),xd={update:{chip:`vor Update`,text:`Rückweg vor einem Update`},knopf:{chip:`per Knopf`,text:`Hier per Knopf angelegt`},proxmox:{chip:`von Hand`,text:`Von Hand in Proxmox angelegt`}};function Sd(e,t){return e===null?`Zeitpunkt unbekannt`:vs(new Date(e*1e3).toISOString(),new Date(t*1e3))}function Cd(e,t){return e===null?``:bs(e,t*1e3)}function wd(e){return e===null||e<=0?null:e<1e9?`${Math.round(e/1e6)} MB`:`${(e/1e9).toFixed(1).replace(`.`,`,`)} GB`}function Td(e,t){let n=e.startsWith(`${t}: `)?e.slice(t.length+2):e;return n.charAt(0).toUpperCase()+n.slice(1)}function Ed(e){let t=[`${e.snapshots} ${e.snapshots===1?`Snapshot`:`Snapshots`}`];return e.sicherungen>0&&t.push(`${e.sicherungen} ${e.sicherungen===1?`Sicherung`:`Sicherungen`}`),t.join(` · `)}function Dd(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function Od(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=au(e);if(r?.zustand===`neu`){let e=Dd(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=W(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function kd(e){return e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({id:`${e.id}-${t.id}`,name:t.name,teile:[t.kurz||t.verfuegbar||`neu`],knopf:!!t.aktion}))}function Ad(e){let t=e.flatMap(e=>e.art===`ki-box`?kd(e):[Od(e)]).filter(e=>e!==null);return[...t.filter(e=>e.knopf),...t.filter(e=>!e.knopf)]}function jd(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var Md={ok:{rahmen:`border-gruen-rand bg-gruen-grund`,titel:`text-gruen`,Symbol:Za},info:{rahmen:`border-cyan-rand bg-cyan-grund`,titel:`text-cyan`,Symbol:lo},gelb:{rahmen:`border-bernstein/70 bg-bernstein-grund`,titel:`text-bernstein`,Symbol:Ya},rot:{rahmen:`border-rot bg-rot-grund`,titel:`text-rot`,Symbol:Ya}};function Nd(e){let t=(0,z.c)(17),{label:n,wert:r,zusatz:i,art:o}=e,s,c,l;t[0]!==o||t[1]!==n?(c=`flex min-w-0 flex-col gap-1 rounded-xl border border-linie bg-panel/70 px-4 py-3`,t[5]===n?l=t[6]:(l=(0,A.jsx)(`span`,{className:`schild text-xs tracking-[0.18em] text-text-3`,children:n}),t[5]=n,t[6]=l),s=a(`font-anzeige text-[32px] leading-none font-bold`,{gruen:`text-gruen`,bernstein:`text-bernstein`,cyan:`text-cyan`,rot:`text-rot-text`,grau:`text-foreground`}[o]),t[0]=o,t[1]=n,t[2]=s,t[3]=c,t[4]=l):(s=t[2],c=t[3],l=t[4]);let u;t[7]!==s||t[8]!==r?(u=(0,A.jsx)(`span`,{className:s,children:r}),t[7]=s,t[8]=r,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=i&&(0,A.jsx)(`span`,{className:`truncate text-xs text-text-3`,children:i}),t[10]=i,t[11]=d);let f;return t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==d?(f=(0,A.jsxs)(`div`,{className:c,children:[l,u,d]}),t[12]=c,t[13]=l,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}var Pd={online:`bg-gruen shadow-[0_0_8px_rgba(61,220,138,0.7)]`,verbinde:`bg-bernstein`,getrennt:`bg-rot`,fehlt:`bg-text-3`},Fd={online:`online`,verbinde:`verbinde`,getrennt:`getrennt`,fehlt:`nicht eingerichtet`};function Id(e){let t=(0,z.c)(43),{bereich:n,name:r,verbindung:i,cockpit:o,children:s}=e,c,l,u,d,f,p,m,h,g;if(t[0]!==n||t[1]!==o||t[2]!==r){let e=n===`box`?{rand:`border-box-rand`,kopf:`from-box-grund`,text:`text-box-text`,balken:`bg-box`}:{rand:`border-lab-rand`,kopf:`from-lab-grund`,text:`text-lab-text`,balken:`bg-lab`};h=r,g=a(`flex min-w-0 flex-col overflow-hidden rounded-2xl border bg-panel`,e.rand),c=ta,p=o,m=a(`group flex items-center justify-between gap-3 bg-gradient-to-r to-transparent px-5 py-4 sm:px-6`,e.kopf),d=`flex items-center gap-3`,f=(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`h-7 w-1.5 rounded-full`,e.balken)}),u=`flex flex-col leading-tight`,l=a(`schild text-lg font-bold tracking-[0.22em]`,e.text),t[0]=n,t[1]=o,t[2]=r,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=g}else c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9],h=t[10],g=t[11];let _;t[12]!==r||t[13]!==l?(_=(0,A.jsx)(`span`,{className:l,children:r}),t[12]=r,t[13]=l,t[14]=_):_=t[14];let v=Pd[i],y;t[15]===v?y=t[16]:(y=a(`size-2 rounded-full`,v),t[15]=v,t[16]=y);let b;t[17]===y?b=t[18]:(b=(0,A.jsx)(`span`,{"aria-hidden":!0,className:y}),t[17]=y,t[18]=b);let x=Fd[i],S;t[19]!==b||t[20]!==x?(S=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-text-3`,children:[b,x]}),t[19]=b,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==u||t[24]!==_?(C=(0,A.jsxs)(`span`,{className:u,children:[_,S]}),t[22]=S,t[23]=u,t[24]=_,t[25]=C):C=t[25];let w;t[26]!==C||t[27]!==d||t[28]!==f?(w=(0,A.jsxs)(`span`,{className:d,children:[f,C]}),t[26]=C,t[27]=d,t[28]=f,t[29]=w):w=t[29];let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm text-text-2 group-hover:text-foreground`,children:[`Cockpit `,(0,A.jsx)(qa,{className:`size-4 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[30]=T):T=t[30];let E;t[31]!==c||t[32]!==w||t[33]!==p||t[34]!==m?(E=(0,A.jsxs)(c,{to:p,className:m,children:[w,T]}),t[31]=c,t[32]=w,t[33]=p,t[34]=m,t[35]=E):E=t[35];let D;t[36]===s?D=t[37]:(D=(0,A.jsx)(`div`,{className:`flex flex-col gap-5 px-5 pt-1 pb-5 sm:px-6`,children:s}),t[36]=s,t[37]=D);let O;return t[38]!==E||t[39]!==D||t[40]!==h||t[41]!==g?(O=(0,A.jsxs)(`section`,{"aria-label":h,className:g,children:[E,D]}),t[38]=E,t[39]=D,t[40]=h,t[41]=g,t[42]=O):O=t[42],O}function Ld(e){let t=(0,z.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,A.jsx)(`h3`,{className:`schild text-sm tracking-[0.2em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Rd(e){let t=(0,z.c)(13),{zeilen:n,ziel:r,laedt:i,alleAktuell:o}=e,s;t[0]===n?s=t[1]:(s=n.filter(zd),t[0]=n,t[1]=s);let c=s.length,l;t[2]!==c||t[3]!==n.length?(l=(0,A.jsx)(Ld,{titel:`Updates`,rechts:c>0?(0,A.jsxs)(Zu,{art:`cyan`,children:[c,` bereit`]}):n.length>0?(0,A.jsx)(Zu,{children:`wartet`}):(0,A.jsx)(Zu,{art:`gruen`,children:`aktuell`})}),t[2]=c,t[3]=n.length,t[4]=l):l=t[4];let u;t[5]!==o||t[6]!==i||t[7]!==n||t[8]!==r?(u=i?(0,A.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):n.length===0?(0,A.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-gruen-text`,children:[(0,A.jsx)(Za,{className:`size-4`,"aria-hidden":!0}),o]}):(0,A.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:n.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ta,{to:r,className:`group -mx-2 grid grid-cols-[minmax(0,9rem)_minmax(0,1fr)_auto] items-baseline gap-3 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{className:`truncate text-[15px] font-medium`,children:e.name}),(0,A.jsx)(`span`,{className:a(`min-w-0 text-sm`,e.knopf?`text-cyan`:`text-text-3`),children:e.teile.join(` · `)}),(0,A.jsx)(qa,{className:`size-3.5 self-center text-text-3 opacity-0 group-hover:opacity-100`,"aria-hidden":!0})]})},e.id))}),t[5]=o,t[6]=i,t[7]=n,t[8]=r,t[9]=u):u=t[9];let d;return t[10]!==l||t[11]!==u?(d=(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function zd(e){return e.knopf}function Bd(e){let t=(0,z.c)(18),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,o,s,c;if(t[0]!==n||t[1]!==r){let e=[...n].sort(Hd);s=`flex flex-col gap-2`;let l=n.some(Vd)?`rot`:`bernstein`;t[6]!==n.length||t[7]!==l?(c=(0,A.jsx)(Ld,{titel:`Hinweise`,rechts:(0,A.jsx)(Zu,{art:l,children:n.length})}),t[6]=n.length,t[7]=l,t[8]=c):c=t[8],i=`m-0 flex list-none flex-col gap-1 p-0`;let u;t[9]===r?u=t[10]:(u=e=>(0,A.jsx)(`li`,{children:(0,A.jsxs)(ta,{to:r,className:`-mx-2 flex items-start gap-2 rounded-lg px-2 py-1.5 hover:bg-erhaben`,children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:a(`mt-1.5 size-2 shrink-0 rounded-full`,e.stufe===`rot`?`bg-rot`:`bg-bernstein`)}),(0,A.jsx)(`span`,{className:a(`text-sm`,e.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:e.titel})]})},e.id),t[9]=r,t[10]=u),o=e.slice(0,3).map(u),t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c}else i=t[2],o=t[3],s=t[4],c=t[5];let l;t[11]!==i||t[12]!==o?(l=(0,A.jsx)(`ul`,{className:i,children:o}),t[11]=i,t[12]=o,t[13]=l):l=t[13];let u;return t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,A.jsxs)(`div`,{className:s,children:[c,l]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17],u}function Vd(e){return e.stufe===`rot`}function Hd(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}function Ud(e){let t=(0,z.c)(4),{werte:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Wd),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,A.jsx)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4 xl:grid-cols-2 2xl:grid-cols-4`,children:r}),t[2]=r,t[3]=i),i}function Wd(e){return(0,A.jsx)(vd,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,max:(e.einheit,100),zustand:ad(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`},e.label)}function Gd(e){let t=(0,z.c)(33),{verbindung:n}=e,r=Ds(),i=nc(),a=hc(`1h`),o=ss(),s=a.data?.reihen,c=r.data?.box,l=o?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u=o?.cpu??a.data?.aktuell.cpu,d=s?.cpu,f;t[0]!==u||t[1]!==d?(f={label:`CPU`,wert:u,einheit:`prozent`,punkte:d,gelb:85,rot:95},t[0]=u,t[1]=d,t[2]=f):f=t[2];let p=s?.ram,m;t[3]!==l||t[4]!==p?(m={label:`Speicher`,wert:l,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[3]=l,t[4]=p,t[5]=m):m=t[5];let h=o?.temp_cpu??c?.temp_cpu,g=s?.temp_cpu,_;t[6]!==h||t[7]!==g?(_={label:`Temperatur`,wert:h,einheit:`grad`,punkte:g,gelb:80,rot:90},t[6]=h,t[7]=g,t[8]=_):_=t[8];let v=o?.disk??c?.platte?.percent,y=s?.platte,b;t[9]!==y||t[10]!==v?(b={label:`Platte`,wert:v,einheit:`prozent`,punkte:y,gelb:80,rot:90},t[9]=y,t[10]=v,t[11]=b):b=t[11];let x;t[12]!==b||t[13]!==f||t[14]!==m||t[15]!==_?(x=(0,A.jsx)(Ud,{werte:[f,m,_,b]}),t[12]=b,t[13]=f,t[14]=m,t[15]=_,t[16]=x):x=t[16];let S;t[17]===i.data?.ziele?S=t[18]:(S=i.data?.ziele??[],t[17]=i.data?.ziele,t[18]=S);let C;t[19]===S?C=t[20]:(C=Ad(S),t[19]=S,t[20]=C);let w;t[21]!==C||t[22]!==i.isPending?(w=(0,A.jsx)(Rd,{zeilen:C,ziel:`/box/updates`,laedt:i.isPending,alleAktuell:`Betriebssystem, Motor, llama-swap und Hermes sind aktuell.`}),t[21]=C,t[22]=i.isPending,t[23]=w):w=t[23];let T;t[24]===r.data?.hinweise?T=t[25]:(T=r.data?.hinweise??[],t[24]=r.data?.hinweise,t[25]=T);let E;t[26]===T?E=t[27]:(E=(0,A.jsx)(Bd,{hinweise:T,ziel:`/box`}),t[26]=T,t[27]=E);let D;return t[28]!==x||t[29]!==w||t[30]!==E||t[31]!==n?(D=(0,A.jsxs)(Id,{bereich:`box`,name:`KI-Box`,verbindung:n,cockpit:`/box`,children:[x,w,E]}),t[28]=x,t[29]=w,t[30]=E,t[31]=n,t[32]=D):D=t[32],D}function Kd(e){let t=(0,z.c)(14),{verbindung:n}=e,r=n===`online`,i=rc(r),a=oc(r),o=gc(`1h`,r),s;t[0]===o.data?.geraete?s=t[1]:(s=o.data?.geraete.find(qd),t[0]=o.data?.geraete,t[1]=s);let c=s,l;t[2]===i.data?.ziele?l=t[3]:(l=i.data?.ziele??[],t[2]=i.data?.ziele,t[3]=l);let u=l,d;t[4]!==r||t[5]!==a||t[6]!==i.isPending||t[7]!==c?.aktuell||t[8]!==c?.reihen||t[9]!==u?(d=r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(Ld,{titel:`Proxmox-Host`}),(0,A.jsx)(Ud,{werte:[{label:`CPU`,wert:c?.aktuell.cpu,einheit:`prozent`,punkte:c?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:c?.aktuell.ram,einheit:`prozent`,punkte:c?.reihen.ram,gelb:90,rot:95},{label:`Temperatur`,wert:c?.aktuell.temp_cpu,einheit:`grad`,punkte:c?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:c?.aktuell.platte,einheit:`prozent`,punkte:c?.reihen.platte,gelb:80,rot:90}]})]}),(0,A.jsx)(Rd,{zeilen:Ad(u),ziel:`/homelab/updates`,laedt:i.isPending,alleAktuell:`Alle Geräte sind aktuell.`}),(0,A.jsx)(Bd,{hinweise:a.data?.hinweise??[],ziel:`/homelab`})]}):(0,A.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[4]=r,t[5]=a,t[6]=i.isPending,t[7]=c?.aktuell,t[8]=c?.reihen,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==d||t[12]!==n?(f=(0,A.jsx)(Id,{bereich:`homelab`,name:`Homelab`,verbindung:n,cockpit:`/homelab`,children:d}),t[11]=d,t[12]=n,t[13]=f):f=t[13],f}function qd(e){return e.art===`proxmox-host`}var Jd={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`};function Yd(e){let t=(0,z.c)(9),{homelabAktiv:n}=e,r=Ps(),i=ic(n),a,o,s;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=[...(r.data?.laeufe??[]).slice(0,6).map(ef),...(i.data?.laeufe??[]).filter($d).slice(0,6).map(Qd)].sort(Zd).slice(0,6);if(e.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,A.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}),t[5]=e):e=t[5],s=e;break bb0}a=`@container m-0 flex list-none flex-col p-0`,o=e.map(Xd)}t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a,t[3]=o,t[4]=s}else a=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,A.jsx)(`ol`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Xd(e){return(0,A.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-linie py-2.5 first:border-t-0 @md:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,A.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:vs(new Date(e.zeit).toISOString())}),(0,A.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] @md:col-span-1 @md:col-start-2 @md:row-start-1`,children:[(0,A.jsx)(`span`,{className:a(`schild mr-2 text-[11px]`,e.bereich===`KI-Box`?`text-box-text`:`text-lab-text`),children:e.bereich}),e.titel]}),(0,A.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @md:col-start-3`,children:(0,A.jsx)(Zu,{art:e.art,children:e.chip})})]},`${e.bereich}-${e.zeit}-${e.titel}`)}function Zd(e,t){return t.zeit-e.zeit}function Qd(e){return{zeit:e.start*1e3,bereich:`Homelab`,titel:e.name,chip:e.ergebnis??`unterbrochen`,art:(e.ergebnis?Jd[e.ergebnis]:`grau`)??`grau`}}function $d(e){return e.status!==`laeuft`&&!bd(e)}function ef(e){return{zeit:new Date(e.start).getTime(),bereich:`KI-Box`,titel:e.anlass,chip:e.titel,art:Jd[e.stufe]??`grau`}}function tf(){let e=(0,z.c)(92),t=Cu(),n=Ds(),r=t.homelab.verbindung===`online`,i=rc(r),o=oc(r);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,A.jsx)(Qu,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let s,c,l;if(e[1]!==i.data?.ziele||e[2]!==o.data?.hinweise||e[3]!==t.box.updates||e[4]!==t.box.verbindung||e[5]!==t.homelab.updates||e[6]!==t.homelab.verbindung||e[7]!==n.data?.hinweise||e[8]!==n.isError){let r=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],a=(i.data?.ziele??[]).filter(sf).map(of),u;e[12]===n.data?.hinweise?u=e[13]:(u=n.data?.hinweise??[],e[12]=n.data?.hinweise,e[13]=u);let d;e[14]===o.data?.hinweise?d=e[15]:(d=o.data?.hinweise??[],e[14]=o.data?.hinweise,e[15]=d);let f;e[16]!==u||e[17]!==d?(f=[...u,...d],e[16]=u,e[17]=d,e[18]=f):f=e[18],s=f,l=t.box.updates+t.homelab.updates;let p;e[19]===s?p=e[20]:(p=s.filter(af),e[19]=s,e[20]=p),c=jd({getrennt:r,stumm:a,hinweiseRot:p.length,hinweise:s.length,updates:l}),e[1]=i.data?.ziele,e[2]=o.data?.hinweise,e[3]=t.box.updates,e[4]=t.box.verbindung,e[5]=t.homelab.updates,e[6]=t.homelab.verbindung,e[7]=n.data?.hinweise,e[8]=n.isError,e[9]=s,e[10]=c,e[11]=l}else s=e[9],c=e[10],l=e[11];let u=c,d=Md[u.stufe],f;e[21]===i.data?.ziele?f=e[22]:(f=i.data?.ziele??[],e[21]=i.data?.ziele,e[22]=f);let p=f,m;e[23]===p?m=e[24]:(m=p.filter(rf),e[23]=p,e[24]=m);let h=m.length+ +(t.box.verbindung===`online`),g=p.length+1,_=n.data?.flugplan.geplant[0],v;e[25]===d.rahmen?v=e[26]:(v=a(`grid gap-4 rounded-2xl border p-4 sm:p-5 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)] lg:items-center`,d.rahmen),e[25]=d.rahmen,e[26]=v);let y=d.Symbol,b;e[27]===d.titel?b=e[28]:(b=a(`size-10 shrink-0`,d.titel),e[27]=d.titel,e[28]=b);let x;e[29]!==d.Symbol||e[30]!==b?(x=(0,A.jsx)(y,{className:b,"aria-hidden":!0}),e[29]=d.Symbol,e[30]=b,e[31]=x):x=e[31];let S;e[32]===d.titel?S=e[33]:(S=a(`font-anzeige text-[34px] leading-none font-bold tracking-[0.02em]`,d.titel),e[32]=d.titel,e[33]=S);let C;e[34]!==u.titel||e[35]!==S?(C=(0,A.jsx)(`span`,{className:S,children:u.titel}),e[34]=u.titel,e[35]=S,e[36]=C):C=e[36];let w;e[37]===u.text?w=e[38]:(w=(0,A.jsx)(`span`,{className:`text-[15px] text-text-2`,children:u.text}),e[37]=u.text,e[38]=w);let T;e[39]!==C||e[40]!==w?(T=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[C,w]}),e[39]=C,e[40]=w,e[41]=T):T=e[41];let E;e[42]!==x||e[43]!==T?(E=(0,A.jsxs)(`div`,{className:`flex items-center gap-4 px-1`,children:[x,T]}),e[42]=x,e[43]=T,e[44]=E):E=e[44];let D=String(l),O=l?`cyan`:`gruen`,ee=`KI-Box ${t.box.updates} · Homelab ${t.homelab.updates}`,te;e[45]!==D||e[46]!==O||e[47]!==ee?(te=(0,A.jsx)(Nd,{label:`Updates bereit`,wert:D,art:O,zusatz:ee}),e[45]=D,e[46]=O,e[47]=ee,e[48]=te):te=e[48];let ne=String(s.length),re=s.some(nf)?`rot`:s.length?`bernstein`:`gruen`,ie;e[49]!==ne||e[50]!==re?(ie=(0,A.jsx)(Nd,{label:`Hinweise`,wert:ne,art:re}),e[49]=ne,e[50]=re,e[51]=ie):ie=e[51];let ae=`${h}/${g}`,k=h(0,A.jsx)(Ri,{to:`/`})}),lf=ia({getParentRoute:()=>cf,path:`/`,component:tf}),uf=ia({getParentRoute:()=>cf,path:`/box`,component:L(()=>Vu(()=>import(`./Start-BicB1Gxf.js`),__vite__mapDeps([5,1,3,6])),`StartSeite`)}),df=ia({getParentRoute:()=>cf,path:`/box/updates`,component:L(()=>Vu(()=>import(`./Updates-D5yJY-fn.js`),__vite__mapDeps([7,1,8,3,9,4,10])),`UpdatesSeite`)}),ff=ia({getParentRoute:()=>cf,path:`/box/modelle`,component:L(()=>Vu(()=>import(`./Modelle-Bh5l5QHZ.js`),__vite__mapDeps([11,1,12,13,8,14,3,2,4,9,10,15])),`ModelleSeite`)}),pf=ia({getParentRoute:()=>cf,path:`/box/monitoring`,component:L(()=>Vu(()=>import(`./Monitoring-D7SndtTk.js`),__vite__mapDeps([16,1,15])),`BoxMonitoringSeite`)}),Z=ia({getParentRoute:()=>cf,path:`/box/dienste`,component:L(()=>Vu(()=>import(`./Dienste-atjWw704.js`),__vite__mapDeps([17,1,3,9,4])),`DiensteSeite`)}),mf=ia({getParentRoute:()=>cf,path:`/homelab`,component:L(()=>Vu(()=>import(`./Homelab-Cf4eLYlp.js`),__vite__mapDeps([18,1,8,19,14,3,9,4,6])),`HomelabSeite`)}),hf=ia({getParentRoute:()=>cf,path:`/homelab/updates`,component:L(()=>Vu(()=>import(`./Homelab-Cf4eLYlp.js`),__vite__mapDeps([18,1,8,19,14,3,9,4,6])),`HomelabUpdatesSeite`)}),gf=ia({getParentRoute:()=>cf,path:`/homelab/snapshots`,component:L(()=>Vu(()=>import(`./HomelabSnapshots-BHJkSmwO.js`),__vite__mapDeps([20,1,19,3,9,4])),`HomelabSnapshotsSeite`)}),_f=ia({getParentRoute:()=>cf,path:`/homelab/monitoring`,component:L(()=>Vu(()=>import(`./Monitoring-D7SndtTk.js`),__vite__mapDeps([16,1,15])),`HomelabMonitoringSeite`)}),vf=ia({getParentRoute:()=>cf,path:`/homelab/protokoll`,component:L(()=>Vu(()=>import(`./HomelabProtokoll-CwVh3SKG.js`),__vite__mapDeps([21,1,8,14])),`HomelabProtokollSeite`)}),yf=ia({getParentRoute:()=>cf,path:`/einstellungen`,component:L(()=>Vu(()=>import(`./Einstellungen-BUM2VQDj.js`),__vite__mapDeps([22,1,3,9,4])),`EinstellungenSeite`)}),bf=ia({getParentRoute:()=>cf,path:`/updates`,beforeLoad:()=>{throw un({to:`/box/updates`})}}),xf=ia({getParentRoute:()=>cf,path:`/modelle`,beforeLoad:({location:e})=>{throw un({to:`/box/modelle`,hash:e.hash||void 0})}}),Sf=Sa({routeTree:cf.addChildren([lf,uf,df,ff,pf,Z,mf,hf,_f,vf,yf,bf,xf,gf]),defaultPreload:`intent`,defaultErrorComponent:Oa}),Cf=`mc_neuladen_wegen_version`;function wf(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(Cf)||(e.preventDefault(),sessionStorage.setItem(Cf,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(Cf),5e3)})}wf();var Tf=new pt({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Da.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(k.StrictMode,{children:(0,A.jsx)(ce,{client:Tf,children:(0,A.jsx)(Ta,{router:Sf})})}));export{ic as $,wo as $t,mu as A,Vs as At,fc as B,ws as Bt,Qu as C,Ms as Ct,au as D,uc as Dt,Iu as E,Ds as Et,W as F,Ss as Ft,hc as G,Po as Gt,Ec as H,Ko as Ht,su as I,Cs as It,qs as J,Ro as Jt,Is as K,zo as Kt,du as L,xs as Lt,ou as M,ac as Mt,pu as N,Ys as Nt,tu as O,Ns as Ot,cu as P,vs as Pt,oc as Q,Fo as Qt,yc as R,ys as Rt,Zu as S,bc as St,Pu as T,dc as Tt,Gs as U,Io as Ut,Dc as V,ss as Vt,Ks as W,Ho as Wt,rc as X,V as Xt,zs as Y,Bo as Yt,Tc as Z,Vo as Zt,nd as _,lc as _t,Ed as a,to as an,ec as at,q as b,_c as bt,vd as c,Ua as cn,Us as ct,pd as d,Li as dn,Os as dt,B as en,gc as et,md as f,F as fn,ks as ft,id as g,Zs as gt,rd as h,As as ht,bd as i,lo as in,Ws as it,_u as j,Ps as jt,gu as k,cc as kt,dd as l,Ea as ln,js as lt,ld as m,re as mn,Fs as mt,Cd as n,vo as nn,Cc as nt,Sd as o,Za as on,Js as ot,fd as p,se as pn,tc as pt,sc as q,Lo as qt,wd as r,fo as rn,Sc as rt,Td as s,qa as sn,Hs as st,xd as t,Do as tn,xc as tt,ud as u,ta as un,Xs as ut,cd as v,$s as vt,Vu as w,wc as wt,G as x,vc as xt,ad as y,Qs as yt,pc as z,bs as zt}; \ No newline at end of file diff --git a/frontend/dist/assets/index-Cl9oYOwv.css b/frontend/dist/assets/index-Cl9oYOwv.css deleted file mode 100644 index 8636694..0000000 --- a/frontend/dist/assets/index-Cl9oYOwv.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.3.3 | 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)))){:root,:host{--shimmer-angle:20deg}*,: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-border-style:solid;--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-duration:initial;--tw-ease: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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--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:calc(1.5 / 1);--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Barlow", "Segoe UI", system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-anzeige:"Barlow Condensed", "Barlow", "Segoe UI", sans-serif}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{-webkit-font-smoothing:antialiased;font-family:Barlow,Segoe UI,system-ui,sans-serif}body{background-color:var(--background);color:var(--foreground);margin:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}}@layer components;@layer utilities{.\@container{container-type:inline-size}.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{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-1\.5{bottom:calc(var(--spacing) * -1.5)}.bottom-0{bottom:0}.bottom-24{bottom:calc(var(--spacing) * 24)}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[80\%\]{left:80%}.left-\[90\%\]{left:90%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing) * -2)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.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-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[0\.444em\]{margin-right:.444em}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-\[0\.111em\]{margin-left:.111em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-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}.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}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-\[18px\]{width:18px;height:18px}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.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-16{height:calc(var(--spacing) * 16)}.h-\[1\.75em\]{height:1.75em}.h-\[min\(75cqw\,150px\)\]{height:min(75cqw,150px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[58px\]{min-height:58px}.min-h-\[130px\]{min-height:130px}.min-h-dvh{min-height:100dvh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-60{width:calc(var(--spacing) * 60)}.w-\[1\.1875em\]{width:1.1875em}.w-full{width:100%}.w-px{width:1px}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[200px\]{max-width:200px}.max-w-\[1320px\]{max-width:1320px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.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))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.5rem_minmax\(0\,1fr\)_auto\]{grid-template-columns:1.5rem minmax(0,1fr) auto}.grid-cols-\[64px_18px_minmax\(0\,1fr\)\]{grid-template-columns:64px 18px minmax(0,1fr)}.grid-cols-\[170px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:170px 100px 170px minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.grid-cols-\[minmax\(0\,9rem\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[0\.1875em\]{gap:.1875em}.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)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.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)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.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}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.\!border-bernstein{border-color:var(--bernstein)!important}.\!border-box{border-color:var(--box)!important}.\!border-lab{border-color:var(--lab)!important}.\!border-text-2{border-color:var(--text-2)!important}.border-\[\#2a3036\]{border-color:#2a3036}.border-aus-rand{border-color:var(--aus-rand)}.border-bernstein,.border-bernstein\/60{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/60{border-color:color-mix(in oklab, var(--bernstein) 60%, transparent)}}.border-bernstein\/70{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/70{border-color:color-mix(in oklab, var(--bernstein) 70%, transparent)}}.border-box-rand{border-color:var(--box-rand)}.border-cyan-rand,.border-cyan-rand\/60{border-color:var(--cyan-rand)}@supports (color:color-mix(in lab, red, red)){.border-cyan-rand\/60{border-color:color-mix(in oklab, var(--cyan-rand) 60%, transparent)}}.border-gruen-rand{border-color:var(--gruen-rand)}.border-lab-rand{border-color:var(--lab-rand)}.border-linie{border-color:var(--linie)}.border-linie-stark{border-color:var(--linie-stark)}.border-rot{border-color:var(--rot)}.border-rot-rand{border-color:var(--rot-rand)}.border-transparent{border-color:#0000}.bg-\[\#0b0d0f\]{background-color:#0b0d0f}.bg-\[\#0c0f12\]{background-color:#0c0f12}.bg-aus-grund{background-color:var(--aus-grund)}.bg-bernstein{background-color:var(--bernstein)}.bg-bernstein-grund{background-color:var(--bernstein-grund)}.bg-bernstein-lampe{background-color:var(--bernstein-lampe)}.bg-bernstein\/70{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/70{background-color:color-mix(in oklab, var(--bernstein) 70%, 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-box{background-color:var(--box)}.bg-box-grund{background-color:var(--box-grund)}.bg-cyan{background-color:var(--cyan)}.bg-cyan-grund,.bg-cyan-grund\/40{background-color:var(--cyan-grund)}@supports (color:color-mix(in lab, red, red)){.bg-cyan-grund\/40{background-color:color-mix(in oklab, var(--cyan-grund) 40%, transparent)}}.bg-cyan\/35{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/35{background-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.bg-erhaben,.bg-erhaben\/40{background-color:var(--erhaben)}@supports (color:color-mix(in lab, red, red)){.bg-erhaben\/40{background-color:color-mix(in oklab, var(--erhaben) 40%, transparent)}}.bg-erhaben\/50{background-color:var(--erhaben)}@supports (color:color-mix(in lab, red, red)){.bg-erhaben\/50{background-color:color-mix(in oklab, var(--erhaben) 50%, transparent)}}.bg-gruen{background-color:var(--gruen)}.bg-gruen-grund{background-color:var(--gruen-grund)}.bg-lab{background-color:var(--lab)}.bg-lab-grund{background-color:var(--lab-grund)}.bg-linie{background-color:var(--linie)}.bg-linie-stark{background-color:var(--linie-stark)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-panel,.bg-panel\/70{background-color:var(--panel)}@supports (color:color-mix(in lab, red, red)){.bg-panel\/70{background-color:color-mix(in oklab, var(--panel) 70%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-rot{background-color:var(--rot)}.bg-rot-grund{background-color:var(--rot-grund)}.bg-rot\/80{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/80{background-color:color-mix(in oklab, var(--rot) 80%, transparent)}}.bg-text-3{background-color:var(--text-3)}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-box-grund{--tw-gradient-from:var(--box-grund);--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))}.from-lab-grund{--tw-gradient-from:var(--lab-grund);--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))}.to-transparent{--tw-gradient-to:transparent;--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-padding{background-clip:padding-box}.fill-text-2{fill:var(--text-2)}.fill-text-3{fill:var(--text-3)}.p-0{padding:0}.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)}.px-0{padding-inline:0}.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-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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-\[calc\(1\.25rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.pb-\[min\(10cqw\,20px\)\]{padding-bottom:min(10cqw,20px)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-anzeige,.font-heading{font-family:Barlow Condensed,Barlow,Segoe UI,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace}.font-sans{font-family:Barlow,Segoe UI,system-ui,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-\[0\.5625em\]{font-size:.5625em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[40px\]{font-size:40px}.text-\[length\:clamp\(14px\,14\.5cqw\,32px\)\]{font-size:clamp(14px,14.5cqw,32px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.26em\]{--tw-tracking:.26em;letter-spacing:.26em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-foreground{color:var(--foreground)!important}.text-\[\#f2c46b\]{color:#f2c46b}.text-aus-text{color:var(--aus-text)}.text-bernstein{color:var(--bernstein)}.text-bernstein-hell{color:var(--bernstein-hell)}.text-box-text{color:var(--box-text)}.text-cyan{color:var(--cyan)}.text-cyan-text{color:var(--cyan-text)}.text-foreground{color:var(--foreground)}.text-gruen{color:var(--gruen)}.text-gruen-text{color:var(--gruen-text)}.text-lab-text{color:var(--lab-text)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-rot{color:var(--rot)}.text-rot-text{color:var(--rot-text)}.text-text-2{color:var(--text-2)}.text-text-3{color:var(--text-3)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.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,)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--lab\)\]{accent-color:var(--lab)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-\[0_0_8px_rgba\(61\,220\,138\,0\.7\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#3ddc8ab3);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_18px_rgba\(255\,90\,79\,0\.35\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ff5a4f59);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_32px_rgba\(255\,90\,79\,0\.3\)\]{--tw-shadow:0 0 32px var(--tw-shadow-color,#ff5a4f4d);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)}.ring-1{--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-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, 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,)}.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,)!important}.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-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-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-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.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:var(--foreground)}.group-hover\:text-text-2:is(:where(.group):hover *){color:var(--text-2)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[status\=active\]\:text-bernstein:is(:where(.group)[data-status=active] *){color:var(--bernstein)}.group-data-\[status\=active\]\:text-box:is(:where(.group)[data-status=active] *){color:var(--box)}.group-data-\[status\=active\]\:text-foreground:is(:where(.group)[data-status=active] *){color:var(--foreground)}.group-data-\[status\=active\]\:text-lab:is(:where(.group)[data-status=active] *){color:var(--lab)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pt-1:first-child{padding-top:var(--spacing)}.open\:pb-2:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 2)}.open\:pb-3:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 3)}@media (hover:hover){.hover\:border-linie-stark:hover{border-color:var(--linie-stark)}.hover\:border-text-3:hover{border-color:var(--text-3)}.hover\:bg-\[\#3a1512\]:hover{background-color:#3a1512}.hover\:bg-\[\#232931\]:hover{background-color:#232931}.hover\:bg-bernstein-hell:hover{background-color:var(--bernstein-hell)}.hover\:bg-cyan-grund:hover{background-color:var(--cyan-grund)}.hover\:bg-erhaben:hover{background-color:var(--erhaben)}.hover\:bg-rot-grund:hover{background-color:var(--rot-grund)}.hover\:text-cyan:hover{color:var(--cyan)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-lab-text:hover{color:var(--lab-text)}.hover\:text-rot-text:hover{color:var(--rot-text)}.hover\:text-text-2:hover{color:var(--text-2)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-cyan:focus{border-color:var(--cyan)}.focus\:border-lab:focus{border-color:var(--lab)}.focus-visible\:rounded-md:focus-visible{border-radius:calc(var(--radius) * .8)}.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-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-cyan\/60:focus-visible{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:w-\[300px\][data-side=left]{width:300px}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:w-full[data-side=right]{width:100%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (width>=40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-start-3{grid-column-start:3}.sm\:row-start-1{grid-row-start:1}.sm\:block{display:block}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1\.5fr\)_70px_130px_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1.5fr) 70px 130px minmax(0,1.5fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_120px_160px\]{grid-template-columns:minmax(0,1fr) 120px 160px}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:self-start{align-self:flex-start}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-left{text-align:left}.sm\:text-\[38px\]{font-size:38px}.sm\:text-\[44px\]{font-size:44px}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-2xl[data-side=right]{max-width:var(--container-2xl)}.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-xl[data-side=right]{max-width:var(--container-xl)}}@media (width>=48rem){.md\:left-auto{left:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-\[420px\]{width:420px}.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_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:170px 100px 170px minmax(0,1fr) auto}.md\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_11\.5rem\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 11.5rem}.md\:grid-cols-\[minmax\(0\,1\.3fr\)_110px_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,1fr\)_90px\]{grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 90px}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}}@media (width>=64rem){.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[272px_minmax\(0\,1fr\)\]{grid-template-columns:272px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr)}.lg\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.6fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-start-auto{grid-column-start:auto}.xl\:row-start-auto{grid-row-start:auto}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_9\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 9.5rem}.xl\:flex-col{flex-direction:column}.xl\:items-center{align-items:center}.xl\:items-stretch{align-items:stretch}.xl\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.xl\:self-center{align-self:center}}@media (width>=87.5rem){.min-\[87\.5rem\]\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_17\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 17.5rem}.min-\[87\.5rem\]\:flex-row{flex-direction:row}.min-\[87\.5rem\]\:justify-end{justify-content:flex-end}}@media (width>=96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=24rem){.\@sm\:col-span-1{grid-column:span 1/span 1}.\@sm\:col-start-2{grid-column-start:2}.\@sm\:col-start-3{grid-column-start:3}.\@sm\:row-start-1{grid-row-start:1}.\@sm\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}.\@sm\:pl-\[124px\]{padding-left:124px}}@container (width>=28rem){.\@md\:col-span-1{grid-column:span 1/span 1}.\@md\:col-start-2{grid-column-start:2}.\@md\:col-start-3{grid-column-start:3}.\@md\:row-start-1{grid-row-start:1}.\@md\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.schild{font-family:var(--font-anzeige);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.ziffern{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:.625rem;--background:#0e1012;--foreground:#e6eaee;--card:#15181b;--card-foreground:#e6eaee;--popover:#15181b;--popover-foreground:#e6eaee;--primary:#ffb020;--primary-foreground:#1a1300;--secondary:#1c2126;--secondary-foreground:#e6eaee;--muted:#1c2126;--muted-foreground:#8b949e;--accent:#1c2126;--accent-foreground:#e6eaee;--destructive:#ff5a4f;--border:#262b30;--input:#3a4148;--ring:#5cc8ff;--panel:#15181b;--erhaben:#1c2126;--linie:#262b30;--linie-stark:#3a4148;--text-2:#aeb6bf;--text-3:#8b949e;--bernstein:#ffb020;--bernstein-hell:#ffc24d;--bernstein-grund:#2a1e05;--bernstein-lampe:#3a2a08;--gruen:#3ddc8a;--gruen-text:#7cc9a0;--gruen-grund:#0f2319;--gruen-rand:#1f5a3b;--cyan:#5cc8ff;--cyan-text:#93d5f8;--cyan-grund:#0c2230;--cyan-rand:#2f7fb0;--rot:#ff5a4f;--rot-text:#ff9a92;--rot-grund:#2e0f0d;--rot-rand:#a33a33;--box:#8b95ff;--box-text:#b4bbff;--box-grund:#151a36;--box-rand:#3f4aa8;--lab:#c98bff;--lab-text:#deb8ff;--lab-grund:#22163a;--lab-rand:#6d44a6;--reihe-1:#3987e5;--reihe-2:#d55181;--reihe-3:#c98500;--reihe-weitere:#9aa3ad;--aus-grund:#171b1f;--aus-rand:#2e343a;--aus-text:#9aa3ad}@keyframes lampe-atmen{0%,to{box-shadow:0 0 10px color-mix(in srgb, var(--bernstein) 25%, transparent)}50%{box-shadow:0 0 22px color-mix(in srgb, var(--bernstein) 45%, transparent)}}@media (prefers-reduced-motion:no-preference){.lampe-atmet{animation:3.2s ease-in-out infinite lampe-atmen}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-duration{syntax:"*";inherits:false}@property --tw-ease{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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/frontend/dist/assets/index-h0yYjQNz.css b/frontend/dist/assets/index-h0yYjQNz.css new file mode 100644 index 0000000..267e3a2 --- /dev/null +++ b/frontend/dist/assets/index-h0yYjQNz.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.3.3 | 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)))){:root,:host{--shimmer-angle:20deg}*,: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-border-style:solid;--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-duration:initial;--tw-ease: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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--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:calc(1.5 / 1);--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Barlow", "Segoe UI", system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-anzeige:"Barlow Condensed", "Barlow", "Segoe UI", sans-serif}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{-webkit-font-smoothing:antialiased;font-family:Barlow,Segoe UI,system-ui,sans-serif}body{background-color:var(--background);color:var(--foreground);margin:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}}@layer components;@layer utilities{.\@container{container-type:inline-size}.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{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-1\.5{bottom:calc(var(--spacing) * -1.5)}.bottom-0{bottom:0}.bottom-24{bottom:calc(var(--spacing) * 24)}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[80\%\]{left:80%}.left-\[90\%\]{left:90%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing) * -2)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.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-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[0\.444em\]{margin-right:.444em}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-\[0\.111em\]{margin-left:.111em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-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}.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}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-\[18px\]{width:18px;height:18px}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.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-\[1\.75em\]{height:1.75em}.h-\[min\(75cqw\,150px\)\]{height:min(75cqw,150px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[58px\]{min-height:58px}.min-h-\[130px\]{min-height:130px}.min-h-dvh{min-height:100dvh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-60{width:calc(var(--spacing) * 60)}.w-\[1\.1875em\]{width:1.1875em}.w-full{width:100%}.w-px{width:1px}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[200px\]{max-width:200px}.max-w-\[1320px\]{max-width:1320px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.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))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.5rem_minmax\(0\,1fr\)_auto\]{grid-template-columns:1.5rem minmax(0,1fr) auto}.grid-cols-\[64px_18px_minmax\(0\,1fr\)\]{grid-template-columns:64px 18px minmax(0,1fr)}.grid-cols-\[170px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:170px 100px 170px minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.grid-cols-\[minmax\(0\,9rem\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[0\.1875em\]{gap:.1875em}.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)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.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)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.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}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.\!border-bernstein{border-color:var(--bernstein)!important}.\!border-box{border-color:var(--box)!important}.\!border-lab{border-color:var(--lab)!important}.\!border-text-2{border-color:var(--text-2)!important}.border-\[\#2a3036\]{border-color:#2a3036}.border-aus-rand{border-color:var(--aus-rand)}.border-bernstein,.border-bernstein\/60{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/60{border-color:color-mix(in oklab, var(--bernstein) 60%, transparent)}}.border-bernstein\/70{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/70{border-color:color-mix(in oklab, var(--bernstein) 70%, transparent)}}.border-box-rand{border-color:var(--box-rand)}.border-cyan-rand,.border-cyan-rand\/60{border-color:var(--cyan-rand)}@supports (color:color-mix(in lab, red, red)){.border-cyan-rand\/60{border-color:color-mix(in oklab, var(--cyan-rand) 60%, transparent)}}.border-gruen-rand{border-color:var(--gruen-rand)}.border-lab-rand{border-color:var(--lab-rand)}.border-linie{border-color:var(--linie)}.border-linie-stark{border-color:var(--linie-stark)}.border-rot{border-color:var(--rot)}.border-rot-rand{border-color:var(--rot-rand)}.border-transparent{border-color:#0000}.bg-\[\#0b0d0f\]{background-color:#0b0d0f}.bg-\[\#0c0f12\]{background-color:#0c0f12}.bg-aus-grund{background-color:var(--aus-grund)}.bg-bernstein{background-color:var(--bernstein)}.bg-bernstein-grund{background-color:var(--bernstein-grund)}.bg-bernstein-lampe{background-color:var(--bernstein-lampe)}.bg-bernstein\/70{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/70{background-color:color-mix(in oklab, var(--bernstein) 70%, 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-box{background-color:var(--box)}.bg-box-grund{background-color:var(--box-grund)}.bg-cyan{background-color:var(--cyan)}.bg-cyan-grund,.bg-cyan-grund\/40{background-color:var(--cyan-grund)}@supports (color:color-mix(in lab, red, red)){.bg-cyan-grund\/40{background-color:color-mix(in oklab, var(--cyan-grund) 40%, transparent)}}.bg-cyan\/35{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/35{background-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.bg-erhaben,.bg-erhaben\/40{background-color:var(--erhaben)}@supports (color:color-mix(in lab, red, red)){.bg-erhaben\/40{background-color:color-mix(in oklab, var(--erhaben) 40%, transparent)}}.bg-erhaben\/50{background-color:var(--erhaben)}@supports (color:color-mix(in lab, red, red)){.bg-erhaben\/50{background-color:color-mix(in oklab, var(--erhaben) 50%, transparent)}}.bg-gruen{background-color:var(--gruen)}.bg-gruen-grund{background-color:var(--gruen-grund)}.bg-lab{background-color:var(--lab)}.bg-lab-grund{background-color:var(--lab-grund)}.bg-linie{background-color:var(--linie)}.bg-linie-stark{background-color:var(--linie-stark)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-panel,.bg-panel\/70{background-color:var(--panel)}@supports (color:color-mix(in lab, red, red)){.bg-panel\/70{background-color:color-mix(in oklab, var(--panel) 70%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-rot{background-color:var(--rot)}.bg-rot-grund{background-color:var(--rot-grund)}.bg-rot\/80{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/80{background-color:color-mix(in oklab, var(--rot) 80%, transparent)}}.bg-text-3{background-color:var(--text-3)}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-box-grund{--tw-gradient-from:var(--box-grund);--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))}.from-lab-grund{--tw-gradient-from:var(--lab-grund);--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))}.to-transparent{--tw-gradient-to:transparent;--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-padding{background-clip:padding-box}.fill-text-2{fill:var(--text-2)}.fill-text-3{fill:var(--text-3)}.p-0{padding:0}.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)}.px-0{padding-inline:0}.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-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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-\[calc\(1\.25rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.pb-\[min\(10cqw\,20px\)\]{padding-bottom:min(10cqw,20px)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-anzeige,.font-heading{font-family:Barlow Condensed,Barlow,Segoe UI,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace}.font-sans{font-family:Barlow,Segoe UI,system-ui,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-\[0\.5625em\]{font-size:.5625em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[40px\]{font-size:40px}.text-\[length\:clamp\(14px\,14\.5cqw\,32px\)\]{font-size:clamp(14px,14.5cqw,32px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.26em\]{--tw-tracking:.26em;letter-spacing:.26em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-foreground{color:var(--foreground)!important}.text-\[\#f2c46b\]{color:#f2c46b}.text-aus-text{color:var(--aus-text)}.text-bernstein{color:var(--bernstein)}.text-bernstein-hell{color:var(--bernstein-hell)}.text-box-text{color:var(--box-text)}.text-cyan{color:var(--cyan)}.text-cyan-text{color:var(--cyan-text)}.text-foreground{color:var(--foreground)}.text-gruen{color:var(--gruen)}.text-gruen-text{color:var(--gruen-text)}.text-lab-text{color:var(--lab-text)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-rot{color:var(--rot)}.text-rot-text{color:var(--rot-text)}.text-text-2{color:var(--text-2)}.text-text-3{color:var(--text-3)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.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,)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--lab\)\]{accent-color:var(--lab)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-\[0_0_8px_rgba\(61\,220\,138\,0\.7\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#3ddc8ab3);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_18px_rgba\(255\,90\,79\,0\.35\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ff5a4f59);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_32px_rgba\(255\,90\,79\,0\.3\)\]{--tw-shadow:0 0 32px var(--tw-shadow-color,#ff5a4f4d);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)}.ring-1{--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-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, 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,)}.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,)!important}.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-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-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-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}.\[grid-area\:herkunft\]{grid-area:herkunft}.\[grid-area\:knoepfe\]{grid-area:knoepfe}.\[grid-area\:name\]{grid-area:name}.\[grid-area\:text\]{grid-area:text}.\[grid-area\:zeit\]{grid-area:zeit}.\[grid-template-areas\:\'name_herkunft\'_\'zeit_zeit\'_\'text_text\'_\'knoepfe_knoepfe\'\]{grid-template-areas:"name herkunft""zeit zeit""text text""knoepfe knoepfe"}.paused{animation-play-state:paused}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.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:var(--foreground)}.group-hover\:text-text-2:is(:where(.group):hover *){color:var(--text-2)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[status\=active\]\:text-bernstein:is(:where(.group)[data-status=active] *){color:var(--bernstein)}.group-data-\[status\=active\]\:text-box:is(:where(.group)[data-status=active] *){color:var(--box)}.group-data-\[status\=active\]\:text-foreground:is(:where(.group)[data-status=active] *){color:var(--foreground)}.group-data-\[status\=active\]\:text-lab:is(:where(.group)[data-status=active] *){color:var(--lab)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pt-1:first-child{padding-top:var(--spacing)}.open\:pb-2:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 2)}.open\:pb-3:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 3)}@media (hover:hover){.hover\:border-linie-stark:hover{border-color:var(--linie-stark)}.hover\:border-text-3:hover{border-color:var(--text-3)}.hover\:bg-\[\#3a1512\]:hover{background-color:#3a1512}.hover\:bg-\[\#232931\]:hover{background-color:#232931}.hover\:bg-bernstein-hell:hover{background-color:var(--bernstein-hell)}.hover\:bg-cyan-grund:hover{background-color:var(--cyan-grund)}.hover\:bg-erhaben:hover{background-color:var(--erhaben)}.hover\:bg-rot-grund:hover{background-color:var(--rot-grund)}.hover\:text-cyan:hover{color:var(--cyan)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-lab-text:hover{color:var(--lab-text)}.hover\:text-rot-text:hover{color:var(--rot-text)}.hover\:text-text-2:hover{color:var(--text-2)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-cyan:focus{border-color:var(--cyan)}.focus\:border-lab:focus{border-color:var(--lab)}.focus-visible\:rounded-md:focus-visible{border-radius:calc(var(--radius) * .8)}.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-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-cyan\/60:focus-visible{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:w-\[300px\][data-side=left]{width:300px}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:w-full[data-side=right]{width:100%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (width>=40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-start-3{grid-column-start:3}.sm\:row-start-1{grid-row-start:1}.sm\:block{display:block}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1\.5fr\)_70px_130px_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1.5fr) 70px 130px minmax(0,1.5fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_120px_160px\]{grid-template-columns:minmax(0,1fr) 120px 160px}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:self-start{align-self:flex-start}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-left{text-align:left}.sm\:text-\[38px\]{font-size:38px}.sm\:text-\[44px\]{font-size:44px}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-2xl[data-side=right]{max-width:var(--container-2xl)}.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-xl[data-side=right]{max-width:var(--container-xl)}}@media (width>=48rem){.md\:left-auto{left:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-\[420px\]{width:420px}.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_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:170px 100px 170px minmax(0,1fr) auto}.md\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_11\.5rem\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 11.5rem}.md\:grid-cols-\[minmax\(0\,1\.3fr\)_110px_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,1fr\)_90px\]{grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 90px}.md\:grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-x-4{column-gap:calc(var(--spacing) * 4)}.md\:justify-self-end{justify-self:flex-end}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:\[grid-template-areas\:\'name_herkunft\'_\'zeit_knoepfe\'_\'text_knoepfe\'\]{grid-template-areas:"name herkunft""zeit knoepfe""text knoepfe"}}@media (width>=64rem){.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[272px_minmax\(0\,1fr\)\]{grid-template-columns:272px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr)}.lg\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.6fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-start-auto{grid-column-start:auto}.xl\:row-start-auto{grid-row-start:auto}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_9\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 9.5rem}.xl\:grid-cols-\[minmax\(10\.5rem\,1\.1fr\)_7\.5rem_minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)_11rem\]{grid-template-columns:minmax(10.5rem,1.1fr) 7.5rem minmax(0,1fr) minmax(0,1.4fr) 11rem}.xl\:grid-rows-none{grid-template-rows:none}.xl\:flex-col{flex-direction:column}.xl\:items-center{align-items:center}.xl\:items-stretch{align-items:stretch}.xl\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.xl\:self-center{align-self:center}.xl\:justify-self-start{justify-self:flex-start}.xl\:justify-self-stretch{justify-self:stretch}.xl\:pt-0{padding-top:0}.xl\:\[grid-template-areas\:\'name_herkunft_zeit_text_knoepfe\'\]{grid-template-areas:"name herkunft zeit text knoepfe"}}@media (width>=87.5rem){.min-\[87\.5rem\]\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_17\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 17.5rem}.min-\[87\.5rem\]\:flex-row{flex-direction:row}.min-\[87\.5rem\]\:justify-end{justify-content:flex-end}}@media (width>=96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=24rem){.\@sm\:col-span-1{grid-column:span 1/span 1}.\@sm\:col-start-2{grid-column-start:2}.\@sm\:col-start-3{grid-column-start:3}.\@sm\:row-start-1{grid-row-start:1}.\@sm\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}.\@sm\:pl-\[124px\]{padding-left:124px}}@container (width>=28rem){.\@md\:col-span-1{grid-column:span 1/span 1}.\@md\:col-start-2{grid-column-start:2}.\@md\:col-start-3{grid-column-start:3}.\@md\:row-start-1{grid-row-start:1}.\@md\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.schild{font-family:var(--font-anzeige);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.ziffern{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:.625rem;--background:#0e1012;--foreground:#e6eaee;--card:#15181b;--card-foreground:#e6eaee;--popover:#15181b;--popover-foreground:#e6eaee;--primary:#ffb020;--primary-foreground:#1a1300;--secondary:#1c2126;--secondary-foreground:#e6eaee;--muted:#1c2126;--muted-foreground:#8b949e;--accent:#1c2126;--accent-foreground:#e6eaee;--destructive:#ff5a4f;--border:#262b30;--input:#3a4148;--ring:#5cc8ff;--panel:#15181b;--erhaben:#1c2126;--linie:#262b30;--linie-stark:#3a4148;--text-2:#aeb6bf;--text-3:#8b949e;--bernstein:#ffb020;--bernstein-hell:#ffc24d;--bernstein-grund:#2a1e05;--bernstein-lampe:#3a2a08;--gruen:#3ddc8a;--gruen-text:#7cc9a0;--gruen-grund:#0f2319;--gruen-rand:#1f5a3b;--cyan:#5cc8ff;--cyan-text:#93d5f8;--cyan-grund:#0c2230;--cyan-rand:#2f7fb0;--rot:#ff5a4f;--rot-text:#ff9a92;--rot-grund:#2e0f0d;--rot-rand:#a33a33;--box:#8b95ff;--box-text:#b4bbff;--box-grund:#151a36;--box-rand:#3f4aa8;--lab:#c98bff;--lab-text:#deb8ff;--lab-grund:#22163a;--lab-rand:#6d44a6;--reihe-1:#3987e5;--reihe-2:#d55181;--reihe-3:#c98500;--reihe-weitere:#9aa3ad;--aus-grund:#171b1f;--aus-rand:#2e343a;--aus-text:#9aa3ad}@keyframes lampe-atmen{0%,to{box-shadow:0 0 10px color-mix(in srgb, var(--bernstein) 25%, transparent)}50%{box-shadow:0 0 22px color-mix(in srgb, var(--bernstein) 45%, transparent)}}@media (prefers-reduced-motion:no-preference){.lampe-atmet{animation:3.2s ease-in-out infinite lampe-atmen}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-duration{syntax:"*";inherits:false}@property --tw-ease{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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/frontend/dist/assets/search-BlW0aIMN.js b/frontend/dist/assets/search-hyFAofkN.js similarity index 68% rename from frontend/dist/assets/search-BlW0aIMN.js rename to frontend/dist/assets/search-hyFAofkN.js index dd6cf57..5b3474a 100644 --- a/frontend/dist/assets/search-BlW0aIMN.js +++ b/frontend/dist/assets/search-hyFAofkN.js @@ -1 +1 @@ -import{Qt as e}from"./index-BwBSJspl.js";var t={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file +import{cn as e}from"./index-CIOHqG23.js";var t={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};t.node;var n=e(t);export{n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/sheet-qFYCDrLr.js b/frontend/dist/assets/sheet-DU78qfp_.js similarity index 96% rename from frontend/dist/assets/sheet-qFYCDrLr.js rename to frontend/dist/assets/sheet-DU78qfp_.js index 3e8815c..59abc0d 100644 --- a/frontend/dist/assets/sheet-qFYCDrLr.js +++ b/frontend/dist/assets/sheet-DU78qfp_.js @@ -1 +1 @@ -import{i as e,n as t,r as n,t as r}from"./dist-D4CVSex9.js";import{qt as i}from"./index-BwBSJspl.js";import{t as a}from"./button-D8rvET0Z.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-_946vtHa.js";var p=t();e();var m=n();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file +import{i as e,n as t,r as n,t as r}from"./dist-D4CVSex9.js";import{nn as i}from"./index-CIOHqG23.js";import{t as a}from"./button-D8rvET0Z.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-B2n2wafq.js";var p=t();e();var m=n();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file diff --git a/frontend/dist/assets/undo-2-DvQmwdhu.js b/frontend/dist/assets/undo-2-DvQmwdhu.js new file mode 100644 index 0000000..8cd62fe --- /dev/null +++ b/frontend/dist/assets/undo-2-DvQmwdhu.js @@ -0,0 +1 @@ +import{cn as e}from"./index-CIOHqG23.js";var t={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};t.node;var n=e(t),r={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};r.node;var i=e(r);export{n,i as t}; \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html index ccdb381..8656fa7 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -9,11 +9,11 @@ Homelab Orchestrator - + - +