@straiffi/archon 1.2.6 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ import{a as e}from"./rolldown-runtime-BYbx6iT9.js";import{At as t,Bt as n,Dt as r,Ft as i,It as a,a as o,d as s,ht as c,i as l,kt as u,n as d,o as f,r as p,t as m,u as h}from"./badge-RYXMXLW8.js";import{_ as g,a as _,c as v,d as y,f as ee,g as b,h as x,i as S,l as C,m as w,n as T,o as E,p as D,r as te,s as O,t as k,u as ne,v as re,y as ie}from"./index-BAYGY5L6.js";var A=e(n(),1),ae=(e,n)=>a(t(`/projects/${e}/test-sessions`),{method:`POST`,body:n,fallbackErrorMessage:`Unable to open the test runner right now.`}),oe=(e,n)=>a(t(`/tickets/${e}/test-sessions${n?`?project_id=${encodeURIComponent(n)}`:``}`),{method:`POST`,fallbackErrorMessage:`Unable to open the test runner right now.`}),se=(e,n={})=>a(t(`/test-sessions/${e}/discovery${n.commandId?`?command_id=${encodeURIComponent(n.commandId)}`:``}`),{signal:n.signal,fallbackErrorMessage:`Unable to discover tests right now.`}),ce=(e,n)=>a(t(`/test-sessions/${e}/run`),{method:`POST`,body:n,fallbackErrorMessage:`Unable to start the selected tests right now.`}),le=e=>a(t(`/test-sessions/${e}/stop`),{method:`POST`,fallbackErrorMessage:`Unable to stop the test run right now.`}),ue=e=>i(t(`/test-sessions/${e}`),{method:`DELETE`,fallbackErrorMessage:`Unable to close the test runner right now.`}),j=r(),M=256*1024,N=24,P=RegExp(`\x1B\\[[0-9;?]*[ -/]*[@-~]`,`g`),F=(e,t)=>d.t(`common:testsDialog.${e}`,t),de=(e,t)=>{let n=`${e}${t}`;return n.length<=M?n:n.slice(-M)},I=e=>e.replace(P,``),fe=e=>e.scrollHeight-e.scrollTop-e.clientHeight<=N,L=e=>{e.scrollTop=e.scrollHeight},pe=(e,t=!1)=>{L(e);let n=0,r=0;return n=window.requestAnimationFrame(()=>{L(e),t&&(r=window.requestAnimationFrame(()=>{L(e)}))}),()=>{window.cancelAnimationFrame(n),r!==0&&window.cancelAnimationFrame(r)}},me=e=>{if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e;if(typeof t.id!=`string`||typeof t.name!=`string`||typeof t.command!=`string`)return[];let n=t.runner===`vitest`||t.runner===`jest`||t.runner===`unknown`?t.runner:`auto`;return[{id:t.id,name:t.name,command:t.command,runner:n,...typeof t.cwd==`string`&&t.cwd.trim()!==``?{cwd:t.cwd}:{}}]}):[]}catch{return[]}},R=e=>e===`running`?`border-sky-400/40 bg-sky-500/10 text-sky-200`:e===`passed`?`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`:e===`failed`||e===`error`?`border-rose-400/40 bg-rose-500/10 text-rose-200`:e===`stopped`?`border-amber-400/40 bg-amber-500/10 text-amber-200`:`border-border/70 bg-background/60 text-muted-foreground`,he=e=>e==null?null:e<1e3?`${e} ms`:`${(e/1e3).toFixed(e>=1e4?0:1)} s`,z=e=>{let t=e.split(`/`);return t[t.length-1]||e},B=e=>e.toLowerCase().trim().split(/\s+/).filter(Boolean),V=(e,t)=>e.length===0?!0:e.every(e=>t.some(t=>t.includes(e))),H=(e,t)=>{let n=B(t);return n.length===0?e:e.flatMap(e=>{let t=z(e.path);if(V(n,[t.toLowerCase(),e.path.toLowerCase()]))return[e];let r=e.cases.filter(r=>V(n,[t.toLowerCase(),e.path.toLowerCase(),r.name.toLowerCase()]));return r.length===0?[]:[{...e,cases:r}]})},U=e=>F(e===`passed`?`status.passed`:e===`failed`?`status.failed`:e===`running`?`status.running`:e===`error`?`status.error`:e===`stopped`?`status.stopped`:`status.idle`),ge=e=>e?.selection?e.selection.kind===`all`?F(`selection.allTests`):e.selection.kind===`case`?e.selection.name:z(e.selection.path):F(`selection.noRunYet`),W=e=>/(^|\s)(?:FAIL|✗)(\s|$)|\b(?:failed|error|stderr|Expected:|Received:)\b/i.test(e)?`failure`:/(^|\s)(?:PASS|✓)(\s|$)|\bpassed\b/i.test(e)?`success`:/\b(?:WARN|warning|skipped|todo|pending)\b/i.test(e)?`warning`:`default`,G=e=>e===`failure`?`text-rose-200`:e===`success`?`text-emerald-200`:e===`warning`?`text-amber-200`:`text-slate-200`,_e=(e,t)=>e===t?!0:e.length===t.length?e.every((e,n)=>{let r=t[n];return r!=null&&e.id===r.id&&e.name===r.name&&e.command===r.command&&e.cwd===r.cwd&&e.runner===r.runner}):!1,ve=`min-w-24 justify-center shadow-none transition-none disabled:opacity-100`,K=({line:e,tone:t})=>(0,j.jsx)(`div`,{"data-tone":t,className:s(`whitespace-pre-wrap break-words`,G(t)),children:e===``?` `:e}),q=(0,A.memo)(({canRunGranular:e,filePath:t,isActive:n,name:r,onRunCase:i})=>(0,j.jsxs)(`button`,{type:`button`,"aria-label":F(`caseRow.runAriaLabel`,{name:r}),title:r,className:s(`flex w-full min-w-0 items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,e?`cursor-pointer hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,n&&`bg-sky-500/10`),disabled:!e,onClick:()=>{i(t,r)},children:[(0,j.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-sky-300/80`}),(0,j.jsx)(`span`,{className:`truncate text-xs text-foreground`,children:r})]}));q.displayName=`TestCaseRow`;var J=(0,A.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:r,file:i,isExpanded:a,onRunCase:c,onRunFile:l,onToggleFile:u})=>{let d=e===`file`&&n===i.path,f=e===`case`&&n===i.path;return(0,j.jsx)(O,{open:a,onOpenChange:e=>{u(i.path,e)},children:(0,j.jsxs)(`div`,{className:`space-y-1`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(C,{asChild:!0,children:(0,j.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":F(a?`fileRow.collapseAriaLabel`:`fileRow.expandAriaLabel`,{path:i.path}),className:`mt-1 shrink-0 text-muted-foreground hover:text-foreground`,children:(0,j.jsx)(o,{className:s(`h-4 w-4 transition-transform`,a&&`rotate-180`)})})}),(0,j.jsx)(`button`,{type:`button`,"aria-label":F(`fileRow.runAriaLabel`,{path:i.path}),className:s(`min-w-0 flex-1 rounded-xl border border-border/60 bg-background/20 px-2.5 py-2 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,r?`cursor-pointer hover:border-sky-400/35 hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,(d||f)&&`border-sky-400/45 bg-sky-500/10`),disabled:!r,onClick:()=>{l(i.path)},children:(0,j.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,j.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background/60 text-sky-200`,children:(0,j.jsx)(E,{className:`h-3.5 w-3.5`})}),(0,j.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-start justify-between gap-3`,children:[(0,j.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,j.jsx)(`span`,{className:`block truncate text-xs font-medium text-foreground`,children:z(i.path)}),(0,j.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-muted-foreground`,children:i.path})]}),(0,j.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:F(`fileRow.testCount`,{count:i.cases.length})})]})]})})]}),(0,j.jsx)(v,{children:(0,j.jsx)(`div`,{className:`ml-4 border-l border-border/60 pl-6`,children:i.cases.length===0?(0,j.jsx)(`p`,{className:`px-2.5 py-1.5 text-xs text-muted-foreground`,children:F(`fileRow.noNamedTests`)}):(0,j.jsx)(`div`,{className:`space-y-1`,children:i.cases.map(a=>{let o=e===`case`&&n===i.path&&t===a.name;return(0,j.jsx)(q,{canRunGranular:r,filePath:i.path,isActive:o,name:a.name,onRunCase:c},a.id)})})})})]})})});J.displayName=`DiscoveryFileRow`;var ye=(0,A.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,availableCommands:r,canRunGranular:i,discovery:a,expandedFiles:c,fullSuiteOnlyNotice:u,isLoading:d,selectedCommandId:m,selectedCommandName:g,sessionError:v,sessionStatus:y,shouldShowCommandSelector:ee,onRunCase:b,onRunFile:x,onSelectCommand:C,onToggleFile:w})=>{let[E,D]=(0,A.useState)(``),O=(0,A.useMemo)(()=>H(a,E),[a,E]),k=(0,A.useMemo)(()=>O.reduce((e,t)=>e+t.cases.length,0),[O]),ne=B(E).length>0;return(0,j.jsx)(`aside`,{className:`min-h-0 border-b border-border/70 px-4 py-4 lg:border-r lg:border-b-0`,children:(0,j.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[ee&&(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:F(`scope.label`)}),(0,j.jsxs)(T,{children:[(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(h,{type:`button`,variant:`outline`,className:`w-full justify-between rounded-xl border-border/70 bg-background/60`,"aria-label":F(`scope.selectedCommandAriaLabel`),disabled:r.length===0||y===`running`,children:[(0,j.jsx)(`span`,{className:`truncate`,children:g??F(`scope.selectTestScope`)}),(0,j.jsx)(o,{className:`h-4 w-4 text-muted-foreground`})]})}),(0,j.jsx)(te,{align:`start`,className:`w-72`,children:r.map(e=>(0,j.jsx)(S,{className:s(m===e.id&&`bg-accent text-accent-foreground`),onSelect:()=>{C(e.id)},children:(0,j.jsx)(`span`,{className:`truncate`,children:e.name})},e.id))})]})]}),u&&(0,j.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-background/30 px-4 py-3 text-sm text-muted-foreground`,children:u}),(a.length>0||E.length>0)&&(0,j.jsxs)(`div`,{className:`relative mt-1 shrink-0`,children:[(0,j.jsx)(f,{type:`search`,value:E,onChange:e=>{D(e.target.value)},placeholder:F(`filter.placeholder`),"aria-label":F(`filter.ariaLabel`),className:`pr-10`}),E.length>0&&(0,j.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":F(`filter.clearAriaLabel`),className:`absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>{D(``)},children:(0,j.jsx)(p,{className:`size-4`})})]}),!r.length&&(0,j.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-4 text-sm text-muted-foreground`,children:F(`discovery.noCommands`)}),v&&(0,j.jsx)(`div`,{className:`rounded-2xl border border-rose-500/30 bg-rose-500/10 px-4 py-3 text-sm text-rose-200`,children:v}),(0,j.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden rounded-2xl border border-border/70 bg-background/20 p-4`,children:[(0,j.jsxs)(`div`,{className:`shrink-0 flex items-start justify-between gap-3`,children:[(0,j.jsx)(`div`,{className:`min-w-0`,children:(0,j.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[F(`discovery.fileCount`,{count:O.length}),`, `,F(`discovery.caseCount`,{count:k})]})}),d&&(0,j.jsx)(l,{className:`h-4 w-4 animate-spin text-muted-foreground`})]}),(0,j.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto pr-1`,children:a.length===0&&!d?(0,j.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:F(`discovery.noFilesDetected`)}):O.length===0?(0,j.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:F(`discovery.noFilterMatches`)}):O.map(r=>(0,j.jsx)(J,{activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:i,file:r,isExpanded:ne||(c[r.path]??!1),onRunCase:b,onRunFile:x,onToggleFile:w},r.path))})]})]})})});ye.displayName=`DiscoveryPane`;var be=(0,A.memo)(({durationMs:e,output:t,outputTruncated:n,selectionLabel:r,status:i,summaryCounts:a,viewportRef:o,onScroll:c})=>{let l=(0,A.useMemo)(()=>t?I(t).replaceAll(`\r
2
+ `,`
3
+ `).replaceAll(`\r`,`
4
+ `).split(`
5
+ `).map(e=>({line:e,tone:W(e)})):[],[t]);return(0,j.jsx)(`section`,{className:`min-h-0 px-4 py-4`,children:(0,j.jsxs)(`div`,{className:`flex h-full flex-col gap-3`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm`,children:[(0,j.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),i&&(0,j.jsx)(m,{variant:`outline`,className:s(`px-3 py-1 text-xs uppercase tracking-[0.2em]`,R(i)),children:U(i)}),a&&(0,j.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-xs font-medium uppercase tracking-[0.18em]`,children:[(0,j.jsxs)(`span`,{className:`text-rose-200`,children:[a.failed.count,` `,a.failed.label]}),(0,j.jsxs)(`span`,{className:`text-emerald-200`,children:[a.passed.count,` `,a.passed.label]})]}),e!=null&&(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:he(e)}),n&&(0,j.jsx)(m,{variant:`outline`,className:`border-amber-400/30 bg-amber-500/10 text-amber-200`,children:F(`output.trimmed`)})]}),(0,j.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden rounded-2xl border border-border/70 bg-[#0d1017]`,children:(0,j.jsx)(`div`,{ref:o,"aria-label":F(`output.ariaLabel`),className:`h-full overflow-auto px-4 py-4`,onScroll:c,children:(0,j.jsx)(`div`,{className:`font-mono text-xs leading-5`,children:l.length>0?l.map((e,t)=>(0,j.jsx)(K,{line:e.line,tone:e.tone},`${t}:${e.line}`)):(0,j.jsx)(`div`,{className:`text-slate-200`,children:F(`output.empty`)})})})})]})})});be.displayName=`OutputPane`;var xe=({testCommands:e,onClose:t,...n})=>{let r=n.scope,i=n.projectId,a=n.scope===`ticket`?n.ticketId:null,o=n.scope===`project`?n.targetKind:null,s=n.scope===`project`?n.targetBundleId:null,[l,d]=(0,A.useState)(e),[f,m]=(0,A.useState)(null),[_,v]=(0,A.useState)([]),[S,C]=(0,A.useState)(``),[T,E]=(0,A.useState)({}),[te,O]=(0,A.useState)(!0),[M,N]=(0,A.useState)(!1),[P,I]=(0,A.useState)(!1),[L,R]=(0,A.useState)(null),[he,z]=(0,A.useState)(!1),[B,V]=(0,A.useState)(!1),H=(0,A.useRef)(null),U=(0,A.useRef)(!1),W=(0,A.useRef)(null),G=(0,A.useRef)(!0),K=(0,A.useRef)(null),q=(0,A.useRef)(null),J=f?.selection?.kind??null,xe=f?.selection?.kind===`all`?null:f?.selection?.path??null,Se=f?.selection?.kind===`case`?f.selection.name:null,Y=f?.id??null,X=f?.status??null,Z=(0,A.useMemo)(()=>l.find(e=>e.id===S)??null,[l,S]),Ce=(0,A.useMemo)(()=>{if(f?.summary?.failed_count==null&&f?.summary?.passed_count==null&&f?.summary?.failed_file_count==null&&f?.summary?.passed_file_count==null)return null;let e=f?.summary?.failed_count==null&&f?.summary?.passed_count==null;return{failed:X===`failed`&&f?.summary?.failed_count==null&&f?.summary?.failed_file_count!=null||e?{count:f?.summary?.failed_file_count??0,label:F(`summaryCounts.filesFailed`)}:{count:f?.summary?.failed_count??0,label:F(`summaryCounts.failed`)},passed:e?{count:f?.summary?.passed_file_count??0,label:F(`summaryCounts.filesPassed`)}:{count:f?.summary?.passed_count??f?.summary?.passed_file_count??0,label:F(`summaryCounts.passed`)}}},[f?.summary?.failed_count,f?.summary?.passed_count,f?.summary?.failed_file_count,f?.summary?.passed_file_count,X]),we=Z?.runner===`unknown`?F(`scope.fullSuiteOnlyNotice`):null,Te=!!(Z&&f?.status!==`running`&&!M&&!P),Ee=Te,De=Te&&B,Oe=l.length>1;(0,A.useEffect)(()=>{S||l.length===0||C(l[0]?.id??``)},[l,S]),(0,A.useEffect)(()=>{e.length>0&&d(t=>_e(t,e)?t:e)},[e]),(0,A.useEffect)(()=>{if(l.length>0||!i)return;let e=new AbortController;return c(e.signal).then(e=>{let t=e.find(e=>e.id===i);t&&d(e=>{let n=me(t.test_commands);return _e(e,n)?e:n})}).catch(()=>{}),()=>{e.abort()}},[l.length,i]),(0,A.useEffect)(()=>{let e=e=>{!e||e.id!==H.current||m(e)},t=e=>{!e||e.session_id!==H.current||m(t=>!t||t.id!==e.session_id?t:{...t,output:de(t.output,e.chunk),output_truncated:e.output_truncated})};return k.on(`test-session:updated`,e),k.on(`test-session:output`,t),()=>{k.off(`test-session:updated`,e),k.off(`test-session:output`,t)}},[]),(0,A.useEffect)(()=>{let e=W.current;if(!e){K.current=f?.output??null,q.current=f?.status??null;return}let t=K.current!==(f?.output??null),n=q.current!==`running`&&f?.status===`running`,r=q.current===`running`&&f?.status!==`running`;if(n&&(G.current=!0),n||t&&f?.status===`running`&&G.current||r&&G.current){let t=pe(e,r);return K.current=f?.output??null,q.current=f?.status??null,t}K.current=f?.output??null,q.current=f?.status??null},[f?.output,f?.status]),(0,A.useEffect)(()=>{let e=!1;return(async()=>{try{let t=r===`project`?await ae(i,{target_kind:o??`repo_root`,target_bundle_id:s??null}):await oe(a??``,i);if(e)return;H.current=t.id,m(t)}catch(t){e||R(t instanceof u?t.message:F(`messages.loadRunnerError`))}finally{!e&&H.current==null&&O(!1)}})(),()=>{e=!0}},[i,r,s,o,a]),(0,A.useEffect)(()=>{if(!f?.id){V(!1);return}if(l.length>0&&!S){V(!1);return}let e=new AbortController,t=!1;return O(!0),V(!1),se(f.id,{commandId:S||null,signal:e.signal}).then(e=>{t||(v(e.files),V(e.supports_granular_selection))}).catch(n=>{t||e.signal.aborted||R(n instanceof u?n.message:F(`messages.discoverError`))}).finally(()=>{t||O(!1)}),()=>{t=!0,e.abort()}},[l.length,S,f?.id]),(0,A.useEffect)(()=>()=>{let e=H.current;!e||U.current||(U.current=!0,ue(e).catch(()=>{}))},[]);let Q=(0,A.useCallback)(async e=>{if(!(!Y||X===`running`||!Z||M||P)){R(null),N(!0);try{m(await ce(Y,{command_id:Z.id,selection:e}))}catch(e){R(e instanceof u?e.message:F(`messages.startError`))}finally{N(!1)}}},[M,P,Z,Y,X]),ke=(0,A.useCallback)(async()=>{if(!(!Y||X!==`running`||P)){R(null),I(!0);try{m(await le(Y))}catch(e){R(e instanceof u?e.message:F(`messages.stopError`))}finally{I(!1)}}},[P,Y,X]),$=(0,A.useCallback)(()=>{let e=H.current;if(!e||U.current){t();return}U.current=!0,t(),ue(e).catch(()=>{})},[t]),Ae=(0,A.useCallback)(()=>{if(X===`running`){z(!0);return}$()},[$,X]),je=(0,A.useCallback)(()=>{let e=W.current;e&&(G.current=fe(e))},[]),Me=(0,A.useCallback)(e=>{C(e)},[]),Ne=(0,A.useCallback)((e,t)=>{E(n=>(n[e]??!1)===t?n:{...n,[e]:t})},[]),Pe=(0,A.useCallback)(e=>{Q({kind:`file`,path:e})},[Q]),Fe=(0,A.useCallback)((e,t)=>{Q({kind:`case`,path:e,name:t})},[Q]);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(D,{open:!0,onOpenChange:e=>{e||Ae()},children:(0,j.jsxs)(x,{showCloseButton:!1,overlayClassName:`bg-black/70`,className:`flex h-[calc(100vh-2rem)] max-h-[58rem] w-full max-w-[calc(100%-1rem)] flex-col gap-0 overflow-hidden rounded-3xl border border-[#2a2a38] bg-[#16161f] p-0 shadow-2xl sm:max-w-7xl`,children:[(0,j.jsx)(ie,{className:`sr-only`,children:F(`dialog.srTitle`)}),(0,j.jsx)(b,{className:`sr-only`,children:F(`dialog.srDescription`)}),(0,j.jsxs)(`div`,{className:`flex items-start justify-between gap-4 border-b border-border px-6 py-4`,children:[(0,j.jsx)(`div`,{className:`min-w-0`,children:(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-2xl border border-border/70 bg-background/60 text-sky-200`,children:(0,j.jsx)(ee,{className:`h-5 w-5`})}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{className:`text-2xl font-semibold text-foreground`,children:F(`dialog.title`)}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:f?.target_label??F(`dialog.preparingTarget`)})]})]})}),(0,j.jsx)(w,{asChild:!0,children:(0,j.jsx)(h,{type:`button`,"aria-label":F(`dialog.closeAriaLabel`),variant:`ghost`,size:`icon-sm`,className:`cursor-pointer text-muted-foreground hover:text-foreground`,children:(0,j.jsx)(p,{className:`h-4 w-4`})})})]}),(0,j.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-0 lg:grid-cols-[22rem_minmax(0,1fr)]`,children:[(0,j.jsx)(ye,{activeSelectionKind:J,activeSelectionName:Se,activeSelectionPath:xe,availableCommands:l,canRunGranular:De,discovery:_,expandedFiles:T,fullSuiteOnlyNotice:we,isLoading:te,selectedCommandId:S,selectedCommandName:Z?.name??null,sessionError:L,sessionStatus:X,shouldShowCommandSelector:Oe,onRunCase:Fe,onRunFile:Pe,onSelectCommand:Me,onToggleFile:Ne}),(0,j.jsx)(be,{durationMs:f?.duration_ms??null,output:f?.output??``,outputTruncated:f?.output_truncated??!1,selectionLabel:ge(f),status:X,summaryCounts:Ce,viewportRef:W,onScroll:je})]}),(0,j.jsx)(g,{className:`border-t border-border/70 px-6 py-4 sm:flex-row sm:items-center sm:justify-end`,children:(0,j.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:f?.status===`running`?(0,j.jsxs)(h,{type:`button`,variant:`destructive`,className:ve,onClick:()=>{ke()},disabled:P,children:[(0,j.jsx)(ne,{className:`h-4 w-4`}),(0,j.jsx)(`span`,{children:F(`actions.stop`)})]}):(0,j.jsxs)(h,{type:`button`,variant:`success`,className:ve,disabled:!Ee,onClick:()=>{Q({kind:`all`})},children:[(0,j.jsx)(y,{className:`h-4 w-4`}),(0,j.jsx)(`span`,{children:F(`actions.run`)})]})})})]})}),(0,j.jsx)(D,{open:he,onOpenChange:z,children:(0,j.jsxs)(x,{showCloseButton:!1,overlayClassName:`z-[60] bg-black/60`,className:`z-[60] max-w-md rounded-2xl border border-border bg-card p-6 shadow-2xl`,children:[(0,j.jsxs)(re,{children:[(0,j.jsx)(ie,{className:`text-sm font-semibold uppercase tracking-widest text-muted-foreground`,children:F(`closeConfirmation.title`)}),(0,j.jsx)(b,{className:`text-sm text-foreground whitespace-pre-line`,children:F(`closeConfirmation.description`)})]}),(0,j.jsxs)(g,{className:`sm:flex-row sm:justify-end`,children:[(0,j.jsx)(h,{type:`button`,variant:`ghost`,onClick:()=>z(!1),children:F(`closeConfirmation.keepRunning`)}),(0,j.jsx)(h,{type:`button`,variant:`destructive`,onClick:()=>{z(!1),$()},children:F(`closeConfirmation.stopAndClose`)})]})]})})]})};export{xe as TestsDialog};
@@ -0,0 +1,43 @@
1
+ import{a as e,t}from"./rolldown-runtime-BYbx6iT9.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ee={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ee,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.5`})),r=t(((e,t)=>{t.exports=n()})),i=t((e=>{var t=r();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(n(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.5`})),a=t(((e,t)=>{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=i()})),o=e(r(),1),s=e(a(),1),c=e=>typeof e==`string`,l=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},u=e=>e==null?``:String(e),d=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},f=/###/g,p=e=>e&&e.includes(`###`)?e.replace(f,`.`):e,m=e=>!e||c(e),h=(e,t,n)=>{let r=c(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(m(e))return{};let t=p(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return m(e)?{}:{obj:e,k:p(r[i])}},g=(e,t,n)=>{let{obj:r,k:i}=h(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=h(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=h(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},_=(e,t,n,r)=>{let{obj:i,k:a}=h(e,t,Object);i[a]=i[a]||[],i[a].push(n)},v=(e,t)=>{let{obj:n,k:r}=h(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},y=(e,t,n)=>{let r=v(e,n);return r===void 0?v(t,n):r},b=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?c(e[r])||e[r]instanceof String||c(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):b(e[r],t[r],n):e[r]=t[r]);return e},x=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),S={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},C=e=>c(e)?e.replace(/[&<>"'\/]/g,e=>S[e]):e,w=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},T=[` `,`,`,`?`,`!`,`;`],E=new w(20),D=(e,t,n)=>{t||=``,n||=``;let r=T.filter(e=>!t.includes(e)&&!n.includes(e));if(r.length===0)return!0;let i=E.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},O=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].includes(typeof t)&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},k=e=>e?.replace(/_/g,`-`),A={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},j=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||A,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(e=e.map(e=>c(e)?e.replace(/[\r\n\x00-\x1F\x7F]/g,` `):e),c(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},M=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n(e,...t)})}},N=class extends M{constructor(e,t={ns:[`translation`],defaultNS:`translation`}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.includes(`.`)?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):c(n)&&i?o.push(...n.split(i)):o.push(n)));let s=v(this.data,o);return!s&&!t&&!n&&e.includes(`.`)&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!c(n)?s:O(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.includes(`.`)&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),g(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(c(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(`.`)&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=v(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?b(s,n,i):s={...s,...n},g(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},P={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},F=Symbol(`i18next/PATH_KEY`);function I(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===F?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function ee(e,t){let{[F]:n}=e(I()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`;if(n.length>1&&i){let e=t?.ns,a=Array.isArray(e)?e:null;if(a&&a.length>1&&a.slice(1).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var te=e=>!c(e)&&typeof e!=`boolean`&&typeof e!=`number`,ne=class e extends M{constructor(e,t={}){super(),d([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=j.create(`translator`),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=te(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.includes(n),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!D(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:c(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.includes(a[0]))&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:c(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=ee(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?ee(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:l}=this.extractFromKey(t[t.length-1],i),u=l[l.length-1],d=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;d===void 0&&(d=`:`);let f=i.lng||this.language,p=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(f?.toLowerCase()===`cimode`)return p?a?{res:`${u}${d}${s}`,usedKey:s,exactUsedKey:s,usedLng:f,usedNS:u,usedParams:this.getUsedParamsDetails(i)}:`${u}${d}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:f,usedNS:u,usedParams:this.getUsedParamsDetails(i)}:s;let m=this.resolve(t,i),h=m?.res,g=m?.usedKey||s,_=m?.exactUsedKey||s,v=[`[object Number]`,`[object Function]`,`[object RegExp]`],y=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject,x=i.count!==void 0&&!c(i.count),S=e.hasDefaultValue(i),C=x?this.pluralResolver.getSuffix(f,i.count,i):``,w=i.ordinal&&x?this.pluralResolver.getSuffix(f,i.count,{ordinal:!1}):``,T=x&&!i.ordinal&&i.count===0,E=T&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${C}`]||i[`defaultValue${w}`]||i.defaultValue,D=h;b&&!h&&S&&(D=E);let O=te(D),k=Object.prototype.toString.apply(D);if(b&&D&&O&&!v.includes(k)&&!(c(y)&&Array.isArray(D))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,D,{...i,ns:l}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(m.res=e,m.usedParams=this.getUsedParamsDetails(i),m):e}if(o){let e=Array.isArray(D),t=e?[]:{},n=e?_:g;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let r=`${n}${o}${e}`;S&&!h?t[e]=this.translate(r,{...i,defaultValue:te(E)?E[e]:void 0,joinArrays:!1,ns:l}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:l}),t[e]===r&&(t[e]=D[e])}h=t}}else if(b&&c(y)&&Array.isArray(h))h=h.join(y),h&&=this.extendTranslation(h,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(h)&&S&&(e=!0,h=E),this.isValidLookup(h)||(n=!0,h=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:h,c=S&&E!==h&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,f,u,x&&!c?`${s}${this.pluralResolver.getSuffix(f,i.count,i)}`:s,c?E:h),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(i.lng||this.language):e.push(i.lng||this.language);let n=(e,t,n)=>{let r=S&&n!==h?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,u,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,u,t,r,c,i),this.emit(`missingKey`,e,u,t,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);T&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!t.includes(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||E)})}):n(e,s,E))}h=this.extendTranslation(h,t,i,m,r),n&&h===s&&this.options.appendNamespaceToMissingKey&&(h=`${u}${d}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}${d}${s}`:s,e?h:void 0,i))}return a?(m.res=h,m.usedParams=this.getUsedParamsDetails(i),m):h}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=c(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!c(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;o<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...e)=>i?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=c(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=P.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return c(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?ee(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),l=s.key;r=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let d=t.count!==void 0&&!c(t.count),f=d&&!t.ordinal&&t.count===0,p=t.context!==void 0&&(c(t.context)||typeof t.context==`number`)&&t.context!==``,m=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(n)||(o=e,!this.checkedLoadedFor[`${m[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${m[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${m.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),m.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,r,e,t);else{let e;d&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(t.ordinal&&e.startsWith(i)&&o.push(l+e.replace(i,this.options.pluralSeparator)),o.push(l+e),f&&o.push(l+n)),p){let r=`${l}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),d&&(t.ordinal&&e.startsWith(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),f&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!c(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.startsWith(`defaultValue`)&&e[t]!==void 0)return!0;return!1}},re=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=j.create(`languageUtils`)}getScriptPartFromCode(e){if(e=k(e),!e||!e.includes(`-`))return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=k(e),!e||!e.includes(`-`))return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(c(e)&&e.includes(`-`)){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?!0:!e.includes(`-`)&&!r.includes(`-`)?!1:!!(e.includes(`-`)&&!r.includes(`-`)&&e.slice(0,e.indexOf(`-`))===r||e.startsWith(r)&&r.length>1))}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),c(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return c(e)&&(e.includes(`-`)||e.includes(`_`))?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):c(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.includes(e)||i(this.formatLanguageCode(e))}),r}},L={zero:0,one:1,two:2,few:3,many:4,other:5},R={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},ie=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=j.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=k(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),R;if(!e.match(/-|_/))return R;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>L[e]-L[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},ae=(e,t,n,r=`.`,i=!0)=>{let a=y(e,t,n);return!a&&i&&c(n)&&(a=O(e,n,r),a===void 0&&(a=O(t,n,r))),a},z=e=>e.replace(/\$/g,`$$$$`),oe=class{constructor(e={}){this.logger=j.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?C:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?x(i):a||`{{`,this.suffix=o?x(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u?x(u):`-`,this.unescapeSuffix=this.unescapePrefix?``:l?x(l):``,this.nestingPrefix=d?x(d):f||x(`$t(`),this.nestingSuffix=p?x(p):m||x(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_===void 0?!1:_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(!e.includes(this.formatSeparator)){let i=ae(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(ae(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp(),!this.escapeValue&&typeof e==`string`&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn(`nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.`);let d=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,f=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>z(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?z(this.escape(e)):z(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=l(n),a===void 0)if(typeof d==`function`){let t=d(e,i,r);a=c(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(f){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else !c(a)&&!this.useRawValueToEscape&&(a=u(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),f?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(!e.includes(n))return e;let r=e.split(RegExp(`${x(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!c(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let l=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(l!==-1&&(s=r[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,l)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!c(i))return i;c(i)||(i=u(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},se=e=>{let t=e.toLowerCase().trim(),n={};if(e.includes(`(`)){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);t===`currency`&&!i.includes(`:`)?n.currency||=i.trim():t===`relativetime`&&!i.includes(`:`)?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},ce=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(k(r),i),t[o]=s),s(n)}},le=e=>(t,n,r)=>e(k(n),r)(t),ue=class{constructor(e={}){this.logger=j.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?ce:le;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=ce(t)}format(e,t,n,r={}){if(!t||e==null)return e;let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&!i[0].includes(`)`)&&i.find(e=>e.includes(`)`))){let e=i.findIndex(e=>e.includes(`)`));i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=se(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},de=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},fe=class extends M{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=j.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{_(n.loaded,[i],a),de(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read(e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();c(e)&&(e=this.languageUtils.toResolveHierarchy(e)),c(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},pe=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),c(e[1])&&(t.defaultValue=e[1]),c(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),me=e=>(c(e.ns)&&(e.ns=[e.ns]),c(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),c(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&!e.supportedLngs.includes(`cimode`)&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),e),he=()=>{},ge=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},B=class e extends M{constructor(e={},t){if(super(),this.options=me(e),this.services={},this.logger=j,this.modules={external:[]},ge(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(c(e.ns)?e.defaultNS=e.ns:e.ns.includes(`translation`)||(e.defaultNS=e.ns[0]));let n=pe();this.options={...n,...this.options,...me(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?j.init(r(this.modules.logger),this.options):j.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:ue;let t=new re(this.options);this.store=new N(this.options.resources,this.options);let n=this.services;n.logger=j,n.resourceStore=this.store,n.languageUtils=t,n.pluralResolver=new ie(t,{prepend:this.options.pluralSeparator}),e&&(n.formatter=r(e),n.formatter.init&&n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new oe(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new fe(r(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(n.languageDetector=r(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=r(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new ne(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=he,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=l(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=he){let n=t,r=c(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&(e.includes(t)||e.push(t))})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=l();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=he,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&P.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&![`cimode`,`dev`].includes(e)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(![`cimode`,`dev`].includes(t)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=l();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=c(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(c(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n){let r=(e,t,...i)=>{let a;a=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(i)),a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);let o={...this.options,...a};typeof a.keyPrefix==`function`&&(a.keyPrefix=ee(a.keyPrefix,o));let s=this.options.keySeparator||`.`,c;return a.keyPrefix&&Array.isArray(e)?c=e.map(e=>(typeof e==`function`&&(e=ee(e,o)),`${a.keyPrefix}${s}${e}`)):(typeof e==`function`&&(e=ee(e,o)),c=a.keyPrefix?`${a.keyPrefix}${s}${e}`:e),this.t(c,a)};return c(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=l();return this.options.ns?(c(e)&&(e=[e]),e.forEach(e=>{this.options.ns.includes(e)||this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=l();c(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>!r.includes(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new re(pe());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.includes(n.getLanguagePartFromCode(e))||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=he){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new N(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...pe().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new oe(n)}return a.translator=new ne(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();B.createInstance,B.dir,B.init,B.loadResources,B.reloadResources,B.use,B.changeLanguage,B.getFixedT,B.t,B.exists,B.setDefaultNamespace,B.hasLoadedNamespace,B.loadNamespaces,B.loadLanguages;var _e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ve={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":` `,"&#160;":` `,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},ye=e=>ve[e],be={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:e=>e.replace(_e,ye),transDefaultProps:void 0},xe=(e={})=>{be={...be,...e}},Se=()=>be,Ce,we=e=>{Ce=e},Te=()=>Ce,Ee={type:`3rdParty`,init(e){xe(e.options.react),we(e)}},De=(void 0)?.trim()||(typeof window<`u`&&/^https?:\/\//.test(window.location.origin)?window.location.origin:`http://localhost:3001`),Oe=class extends Error{status;constructor(e,t=0){super(e),this.name=`ApiError`,this.status=t}},V=e=>`${De}${e}`,ke=(e,t)=>{let n=new URL(V(e));return t&&n.searchParams.set(`project_id`,t),n.toString()},Ae=e=>e instanceof DOMException&&e.name===`AbortError`,je=async(e,t)=>{try{let t=await e.json();if(t.error)return t.error}catch{}return t},Me=async(e,t={})=>{let{body:n,headers:r,fallbackErrorMessage:i=`Request failed.`,...a}=t,o=new Headers(r),s=Array.from(o.keys()).length>0;n!==void 0&&o.set(`Content-Type`,`application/json`);let c=await fetch(e,{...a,...n===void 0?{}:{body:JSON.stringify(n)},...s||n!==void 0?{headers:o}:{}});if(!c.ok)throw new Oe(await je(c,i),c.status);return c},H=async(e,t={})=>await(await Me(e,t)).json(),Ne=(e={})=>{let t=e.baseUrl??De,n=e=>`${t}${e}`;return{baseUrl:t,apiUrl:n,projectScopedApiUrl:(e,t)=>{let r=new URL(n(e));return t&&r.searchParams.set(`project_id`,t),r.toString()},request:Me,requestJson:H}},Pe=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),Fe=t(((e,t)=>{t.exports=Pe()})),Ie=e=>e&&e.match(/filename="?([^";]+)"?/i)?.[1]?.trim()||`project-archon-memory-v3.json`,Le=e=>H(V(`/projects`),{signal:e,cache:`no-store`}),Re=e=>H(V(`/projects`),{method:`POST`,body:e,fallbackErrorMessage:`Unable to create the project right now.`}),ze=(e,t)=>H(V(`/projects/${e}`),{method:`PATCH`,body:t,fallbackErrorMessage:`Unable to update the project right now.`}),Be=e=>H(V(`/projects/${e}/create-initial-commit`),{method:`POST`,fallbackErrorMessage:`Unable to create the initial commit right now.`}),Ve=e=>Me(V(`/projects/${e}`),{method:`DELETE`,fallbackErrorMessage:`Unable to delete the project right now.`}),He=e=>Me(V(`/projects/${e}/open-ide`),{method:`POST`,fallbackErrorMessage:`Unable to open the project IDE right now.`}),Ue=(e,t)=>H(V(`/projects/${e}/branches`),{signal:t,fallbackErrorMessage:`Unable to load project branches right now.`}),We=(e,t)=>H(V(`/projects/${e}/target`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to update the project target right now.`}),Ge=e=>H(V(`/projects/auto-config`),{method:`POST`,body:e,fallbackErrorMessage:`Unable to infer project settings right now.`}),Ke=()=>H(V(`/projects/browse-repo-path`),{method:`POST`,fallbackErrorMessage:`Unable to open the folder picker right now.`}),qe=e=>H(V(`/projects/validate-repo-path`),{method:`POST`,body:e,fallbackErrorMessage:`Unable to validate the repository path right now.`}),Je=(e,t,n={})=>{let r=new URL(V(`/projects/${e}/file-suggestions`));return r.searchParams.set(`q`,t),n.ticketId&&r.searchParams.set(`ticket_id`,n.ticketId),H(r.toString(),{signal:n.signal,fallbackErrorMessage:`Unable to load project file suggestions right now.`})},Ye=(e,t,n={})=>H(V(`/projects/${e}/branch${n.refreshRemote?`?refresh_remote=true`:``}`),{signal:t,fallbackErrorMessage:`Unable to load the current branch right now.`}),Xe=e=>H(V(`/projects/${e}/git-pull`),{method:`POST`,fallbackErrorMessage:`Unable to sync the current branch right now.`}),Ze=e=>H(V(`/projects/${e}/diff`),{fallbackErrorMessage:`Unable to load the diff right now.`}),Qe=(e,t)=>H(V(`/projects/${e}/memories`),{signal:t,fallbackErrorMessage:`Unable to load project memories right now.`}),$e=(e,t={})=>{let n=new URL(V(`/projects/${e}/git-status`));return t.refreshRemote&&n.searchParams.set(`refresh_remote`,`true`),H(n.toString(),{signal:t.signal,fallbackErrorMessage:`Unable to load git status right now.`})},et=e=>H(V(`/projects/${e}/git-commits`),{fallbackErrorMessage:`Unable to load local commits right now.`}),tt=(e,t)=>H(V(`/projects/${e}/git-commit`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to create the commit right now.`}),nt=(e,t)=>H(V(`/projects/${e}/git-commit-message`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to generate a commit message right now.`}),rt=e=>H(V(`/projects/${e}/git-push`),{method:`POST`,fallbackErrorMessage:`Unable to push the branch right now.`}),it=e=>H(V(`/projects/${e}/git-undo-latest`),{method:`POST`,fallbackErrorMessage:`Unable to undo the latest local commit right now.`}),at=(e,t)=>H(V(`/projects/${e}/memories`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to create the project memory right now.`}),ot=(e,t,n)=>H(V(`/projects/${e}/memories/${t}`),{method:`PATCH`,body:n,fallbackErrorMessage:`Unable to update the project memory right now.`}),st=(e,t)=>H(V(`/projects/${e}/memories/${t}/archive`),{method:`POST`,fallbackErrorMessage:`Unable to archive the project memory right now.`}),ct=(e,t)=>H(V(`/projects/${e}/memories/${t}/restore`),{method:`POST`,fallbackErrorMessage:`Unable to restore the project memory right now.`}),lt=(e,t)=>H(V(`/projects/${e}/memories/${t}/supersede`),{method:`POST`,fallbackErrorMessage:`Unable to supersede the project memory right now.`}),ut=(e,t)=>H(V(`/projects/${e}/context`),{signal:t,fallbackErrorMessage:`Unable to load project context right now.`}),dt=e=>H(V(`/projects/${e}/context/scan`),{method:`POST`,fallbackErrorMessage:`Unable to start the project context scan right now.`}),ft=(e,t)=>H(V(`/projects/${e}/context/artifacts`),{signal:t,fallbackErrorMessage:`Unable to load project context artifacts right now.`}),pt=(e,t,n)=>H(V(`/projects/${e}/memory/relevant?ticket_id=${encodeURIComponent(t)}`),{signal:n,fallbackErrorMessage:`Unable to load relevant project memory right now.`}),mt=(e,t,n,r)=>H(V(t?`/projects/${e}/memory/suggestions?ticket_id=${encodeURIComponent(t)}`:r?`/projects/${e}/memory/suggestions?chat_session_id=${encodeURIComponent(r)}`:`/projects/${e}/memory/suggestions`),{signal:n,fallbackErrorMessage:`Unable to load project memory suggestions right now.`}),ht=(e,t,n)=>H(V(`/projects/${e}/memories/${t}/accept`),{method:`POST`,body:n,fallbackErrorMessage:`Unable to accept the project memory right now.`}),gt=(e,t)=>H(V(`/projects/${e}/memories/${t}/dismiss`),{method:`POST`,fallbackErrorMessage:`Unable to dismiss the project memory right now.`}),_t=(e,t,n,r)=>H(V(`/projects/${e}/memories/${t}/apply-to-existing`),{method:`POST`,body:{memory_id:n,...r},fallbackErrorMessage:`Unable to apply the project memory right now.`}),vt=async e=>{let t=await Me(V(`/projects/${e}/memory/export`),{fallbackErrorMessage:`Unable to export project memory right now.`});return{filename:Ie(t.headers.get(`Content-Disposition`)),archive:await t.json()}},yt=(e,t)=>H(V(`/projects/${e}/memory/import`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to import project memory right now.`}),U=Fe();function bt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=bt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function xt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=bt(e))&&(r&&(r+=` `),r+=t);return r}var St=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Ct=xt,wt=(e,t)=>n=>{if(t?.variants==null)return Ct(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=St(t)||St(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Ct(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function Tt(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Et(...e){return t=>{let n=!1,r=e.map(e=>{let r=Tt(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Tt(e[t],null)}}}}function W(...e){return o.useCallback(Et(...e),e)}function Dt(e){let t=kt(e),n=o.forwardRef((e,n)=>{let{children:r,...i}=e,a=o.Children.toArray(r),s=a.find(Mt);if(s){let e=s.props.children,r=a.map(t=>t===s?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:t);return(0,U.jsx)(t,{...i,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,U.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var Ot=Dt(`Slot`);function kt(e){let t=o.forwardRef((e,t)=>{let{children:n,...r}=e;if(o.isValidElement(n)){let e=Pt(n),i=Nt(r,n.props);return n.type!==o.Fragment&&(i.ref=t?Et(t,e):e),o.cloneElement(n,i)}return o.Children.count(n)>1?o.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var At=Symbol(`radix.slottable`);function jt(e){let t=({children:e})=>(0,U.jsx)(U.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=At,t}function Mt(e){return o.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===At}function Nt(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Pt(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var G=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Dt(`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,U.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ft(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}function It(e,t){let n=o.createContext(t),r=e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,U.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=o.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function Lt(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r),a=n.length;n=[...n,r];let s=t=>{let{scope:n,children:r,...s}=t,c=n?.[e]?.[a]||i,l=o.useMemo(()=>s,Object.values(s));return(0,U.jsx)(c.Provider,{value:l,children:r})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[a]||i,l=o.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let i=()=>{let t=n.map(e=>o.createContext(e));return function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Rt(i,...t)]}function Rt(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return 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])}};return n.scopeName=t.scopeName,n}function zt(e){let t=e+`CollectionProvider`,[n,r]=Lt(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,r=o.useRef(null),a=o.useRef(new Map).current;return(0,U.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};s.displayName=t;let c=e+`CollectionSlot`,l=Dt(c),u=o.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,U.jsx)(l,{ref:W(t,a(c,n).collectionRef),children:r})});u.displayName=c;let d=e+`CollectionItemSlot`,f=`data-radix-collection-item`,p=Dt(d),m=o.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,s=o.useRef(null),c=W(t,s),l=a(d,n);return o.useEffect(()=>(l.itemMap.set(s,{ref:s,...i}),()=>void l.itemMap.delete(s))),(0,U.jsx)(p,{[f]:``,ref:c,children:r})});m.displayName=d;function h(t){let n=a(e+`CollectionConsumer`,t);return o.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:s,Slot:u,ItemSlot:m},h,r]}typeof window<`u`&&window.document&&window.document.createElement;function Bt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var Vt=globalThis?.document?o.useLayoutEffect:()=>{},Ht=o.useInsertionEffect||Vt;function Ut({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,s]=Wt({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:i;{let t=o.useRef(e!==void 0);o.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,o.useCallback(t=>{if(c){let n=Gt(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}function Wt({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return Ht(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Gt(e){return typeof e==`function`}function Kt(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}var qt=e=>{let{present:t,children:n}=e,r=Jt(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=W(r.ref,Xt(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null};qt.displayName=`Presence`;function Jt(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),[s,c]=Kt(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{let e=Yt(r.current);a.current=s===`mounted`?e:`none`},[s]),Vt(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Yt(t);e?c(`MOUNT`):o===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Vt(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Yt(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=Yt(r.current))};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)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:o.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Yt(e){return e?.animationName||`none`}function Xt(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Zt=o.useId||(()=>void 0),Qt=0;function $t(e){let[t,n]=o.useState(Zt());return Vt(()=>{e||n(e=>e??String(Qt++))},[e]),e||(t?`radix-${t}`:``)}var en=o.createContext(void 0);function tn(e){let t=o.useContext(en);return e||t||`ltr`}function nn(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...e)=>t.current?.(...e),[])}function rn(e,t=globalThis?.document){let n=nn(e);o.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var an=`DismissableLayer`,on=`dismissableLayer.update`,sn=`dismissableLayer.pointerDownOutside`,cn=`dismissableLayer.focusOutside`,ln,un=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dn=o.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:c,...l}=e,u=o.useContext(un),[d,f]=o.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=o.useState({}),h=W(t,e=>f(e)),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=g.indexOf(_),y=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,x=y>=v,S=mn(e=>{let t=e.target,n=[...u.branches].some(e=>e.contains(t));!x||n||(i?.(e),s?.(e),e.defaultPrevented||c?.())},p),C=hn(e=>{let t=e.target;[...u.branches].some(e=>e.contains(t))||(a?.(e),s?.(e),e.defaultPrevented||c?.())},p);return rn(e=>{y===u.layers.size-1&&(r?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},p),o.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(ln=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),gn(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=ln)}},[d,p,n,u]),o.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),gn())},[d,u]),o.useEffect(()=>{let e=()=>m({});return document.addEventListener(on,e),()=>document.removeEventListener(on,e)},[]),(0,U.jsx)(G.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:Bt(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Bt(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Bt(e.onPointerDownCapture,S.onPointerDownCapture)})});dn.displayName=an;var fn=`DismissableLayerBranch`,pn=o.forwardRef((e,t)=>{let n=o.useContext(un),r=o.useRef(null),i=W(t,r);return o.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,U.jsx)(G.div,{...e,ref:i})});pn.displayName=fn;function mn(e,t=globalThis?.document){let n=nn(e),r=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){_n(sn,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function hn(e,t=globalThis?.document){let n=nn(e),r=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!r.current&&_n(cn,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function gn(){let e=new CustomEvent(on);document.dispatchEvent(e)}function _n(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?Ft(i,a):i.dispatchEvent(a)}var vn=`focusScope.autoFocusOnMount`,yn=`focusScope.autoFocusOnUnmount`,bn={bubbles:!1,cancelable:!0},xn=`FocusScope`,Sn=o.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...s}=e,[c,l]=o.useState(null),u=nn(i),d=nn(a),f=o.useRef(null),p=W(t,e=>l(e)),m=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(m.paused||!c)return;let t=e.target;c.contains(t)?f.current=t:kn(f.current,{select:!0})},t=function(e){if(m.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||kn(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&kn(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,c,m.paused]),o.useEffect(()=>{if(c){An.add(m);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(vn,bn);c.addEventListener(vn,u),c.dispatchEvent(t),t.defaultPrevented||(Cn(Nn(Tn(c)),{select:!0}),document.activeElement===e&&kn(c))}return()=>{c.removeEventListener(vn,u),setTimeout(()=>{let t=new CustomEvent(yn,bn);c.addEventListener(yn,d),c.dispatchEvent(t),t.defaultPrevented||kn(e??document.body,{select:!0}),c.removeEventListener(yn,d),An.remove(m)},0)}}},[c,u,d,m]);let h=o.useCallback(e=>{if(!n&&!r||m.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]=wn(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&kn(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&kn(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,U.jsx)(G.div,{tabIndex:-1,...s,ref:p,onKeyDown:h})});Sn.displayName=xn;function Cn(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(kn(r,{select:t}),document.activeElement!==n)return}function wn(e){let t=Tn(e);return[En(t,e),En(t.reverse(),e)]}function Tn(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode: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}});for(;n.nextNode();)t.push(n.currentNode);return t}function En(e,t){for(let n of e)if(!Dn(n,{upTo:t}))return n}function Dn(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function On(e){return e instanceof HTMLInputElement&&`select`in e}function kn(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&On(e)&&t&&e.select()}}var An=jn();function jn(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Mn(e,t),e.unshift(t)},remove(t){e=Mn(e,t),e[0]?.resume()}}}function Mn(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Nn(e){return e.filter(e=>e.tagName!==`A`)}var Pn=`Portal`,Fn=o.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=o.useState(!1);Vt(()=>a(!0),[]);let c=n||i&&globalThis?.document?.body;return c?s.createPortal((0,U.jsx)(G.div,{...r,ref:t}),c):null});Fn.displayName=Pn;var In=0;function Ln(){o.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Rn()),document.body.insertAdjacentElement(`beforeend`,e[1]??Rn()),In++,()=>{In===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),In--}},[])}function Rn(){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}var zn=function(){return zn=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},zn.apply(this,arguments)};function Bn(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Vn(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Hn=`right-scroll-bar-position`,Un=`width-before-scroll-bar`,Wn=`with-scroll-bars-hidden`,Gn=`--removed-body-scroll-bar-size`;function Kn(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function qn(e,t){var n=(0,o.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Jn=typeof window<`u`?o.useLayoutEffect:o.useEffect,Yn=new WeakMap;function Xn(e,t){var n=qn(t||null,function(t){return e.forEach(function(e){return Kn(e,t)})});return Jn(function(){var t=Yn.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Kn(e,null)}),i.forEach(function(e){r.has(e)||Kn(e,a)})}Yn.set(n,e)},[e]),n}function Zn(e){return e}function Qn(e,t){t===void 0&&(t=Zn);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function $n(e){e===void 0&&(e={});var t=Qn(null);return t.options=zn({async:!0,ssr:!1},e),t}var er=function(e){var t=e.sideCar,n=Bn(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return o.createElement(r,zn({},n))};er.isSideCarExport=!0;function tr(e,t){return e.useMedium(t),er}var nr=$n(),rr=function(){},ir=o.forwardRef(function(e,t){var n=o.useRef(null),r=o.useState({onScrollCapture:rr,onWheelCapture:rr,onTouchMoveCapture:rr}),i=r[0],a=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Bn(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Xn([n,t]),w=zn(zn({},x),i);return o.createElement(o.Fragment,null,d&&o.createElement(S,{sideCar:nr,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?o.cloneElement(o.Children.only(c),zn(zn({},w),{ref:C})):o.createElement(y,zn({},w,{className:l,ref:C}),c))});ir.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ir.classNames={fullWidth:Un,zeroRight:Hn};var ar,or=function(){if(ar)return ar;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function sr(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=or();return t&&e.setAttribute(`nonce`,t),e}function cr(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function lr(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ur=function(){var e=0,t=null;return{add:function(n){e==0&&(t=sr())&&(cr(t,n),lr(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},dr=function(){var e=ur();return function(t,n){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},fr=function(){var e=dr();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},pr={left:0,top:0,right:0,gap:0},mr=function(e){return parseInt(e||``,10)||0},hr=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[mr(n),mr(r),mr(i)]},gr=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return pr;var t=hr(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])}},_r=fr(),vr=`data-scroll-locked`,yr=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${Wn} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${vr}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${Hn} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${Un} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${Hn} .${Hn} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${Un} .${Un} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${vr}] {
36
+ ${Gn}: ${s}px;
37
+ }
38
+ `},br=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},xr=function(){o.useEffect(function(){return document.body.setAttribute(vr,(br()+1).toString()),function(){var e=br()-1;e<=0?document.body.removeAttribute(vr):document.body.setAttribute(vr,e.toString())}},[])},Sr=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;xr();var a=o.useMemo(function(){return gr(i)},[i]);return o.createElement(_r,{styles:yr(a,!t,i,n?``:`!important`)})},Cr=!1;if(typeof window<`u`)try{var wr=Object.defineProperty({},`passive`,{get:function(){return Cr=!0,!0}});window.addEventListener(`test`,wr,wr),window.removeEventListener(`test`,wr,wr)}catch{Cr=!1}var Tr=Cr?{passive:!1}:!1,Er=function(e){return e.tagName===`TEXTAREA`},Dr=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Er(e)&&n[t]===`visible`)},Or=function(e){return Dr(e,`overflowY`)},kr=function(e){return Dr(e,`overflowX`)},Ar=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Nr(e,r)){var i=Pr(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},jr=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Mr=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Nr=function(e,t){return e===`v`?Or(t):kr(t)},Pr=function(e,t){return e===`v`?jr(t):Mr(t)},Fr=function(e,t){return e===`h`&&t===`rtl`?-1:1},Ir=function(e,t,n,r,i){var a=Fr(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Pr(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Nr(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Lr=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Rr=function(e){return[e.deltaX,e.deltaY]},zr=function(e){return e&&`current`in e?e.current:e},Br=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Vr=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},Hr=0,Ur=[];function Wr(e){var t=o.useRef([]),n=o.useRef([0,0]),r=o.useRef(),i=o.useState(Hr++)[0],a=o.useState(fr)[0],s=o.useRef(e);o.useEffect(function(){s.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Vn([e.lockRef.current],(e.shards||[]).map(zr),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=o.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=Lr(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ar(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ar(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Ir(h,t,e,h===`h`?o:c,!0)},[]),l=o.useCallback(function(e){var n=e;if(!(!Ur.length||Ur[Ur.length-1]!==a)){var r=`deltaY`in n?Rr(n):Lr(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Br(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var o=(s.current.shards||[]).map(zr).filter(Boolean).filter(function(e){return e.contains(n.target)});(o.length>0?c(n,o[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=o.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Gr(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=o.useCallback(function(e){n.current=Lr(e),r.current=void 0},[]),f=o.useCallback(function(t){u(t.type,Rr(t),t.target,c(t,e.lockRef.current))},[]),p=o.useCallback(function(t){u(t.type,Lr(t),t.target,c(t,e.lockRef.current))},[]);o.useEffect(function(){return Ur.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,Tr),document.addEventListener(`touchmove`,l,Tr),document.addEventListener(`touchstart`,d,Tr),function(){Ur=Ur.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,l,Tr),document.removeEventListener(`touchmove`,l,Tr),document.removeEventListener(`touchstart`,d,Tr)}},[]);var m=e.removeScrollBar,h=e.inert;return o.createElement(o.Fragment,null,h?o.createElement(a,{styles:Vr(i)}):null,m?o.createElement(Sr,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Gr(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Kr=tr(nr,Wr),qr=o.forwardRef(function(e,t){return o.createElement(ir,zn({},e,{ref:t,sideCar:Kr}))});qr.classNames=ir.classNames;var Jr=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Yr=new WeakMap,Xr=new WeakMap,Zr={},Qr=0,$r=function(e){return e&&(e.host||$r(e.parentNode))},ei=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=$r(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ti=function(e,t,n,r){var i=ei(t,Array.isArray(e)?e:[e]);Zr[n]||(Zr[n]=new WeakMap);var a=Zr[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Yr.get(e)||0)+1,l=(a.get(e)||0)+1;Yr.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Xr.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Qr++,function(){o.forEach(function(e){var t=Yr.get(e)-1,i=a.get(e)-1;Yr.set(e,t),a.set(e,i),t||(Xr.has(e)||e.removeAttribute(r),Xr.delete(e)),i||e.removeAttribute(n)}),Qr--,Qr||(Yr=new WeakMap,Yr=new WeakMap,Xr=new WeakMap,Zr={})}},ni=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Jr(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ti(r,i,n,`aria-hidden`)):function(){return null}};function ri(e){let[t,n]=o.useState(void 0);return Vt(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var ii=[`top`,`right`,`bottom`,`left`],ai=Math.min,K=Math.max,oi=Math.round,si=Math.floor,ci=e=>({x:e,y:e}),li={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ui(e,t,n){return K(e,ai(t,n))}function di(e,t){return typeof e==`function`?e(t):e}function fi(e){return e.split(`-`)[0]}function pi(e){return e.split(`-`)[1]}function mi(e){return e===`x`?`y`:`x`}function hi(e){return e===`y`?`height`:`width`}function gi(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function _i(e){return mi(gi(e))}function vi(e,t,n){n===void 0&&(n=!1);let r=pi(e),i=_i(e),a=hi(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Di(o)),[o,Di(o)]}function yi(e){let t=Di(e);return[bi(e),t,bi(t)]}function bi(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var xi=[`left`,`right`],Si=[`right`,`left`],Ci=[`top`,`bottom`],wi=[`bottom`,`top`];function Ti(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Si:xi:t?xi:Si;case`left`:case`right`:return t?Ci:wi;default:return[]}}function Ei(e,t,n,r){let i=pi(e),a=Ti(fi(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(bi)))),a}function Di(e){let t=fi(e);return li[t]+e.slice(t.length)}function Oi(e){return{top:0,right:0,bottom:0,left:0,...e}}function ki(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Oi(e)}function Ai(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ji(e,t,n){let{reference:r,floating:i}=e,a=gi(t),o=_i(t),s=hi(o),c=fi(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(pi(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Mi(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=di(t,e),p=ki(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ai(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ai(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ni=50,Pi=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Mi},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ji(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ni&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ji(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Fi=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=di(e,t)||{};if(l==null)return{};let d=ki(u),f={x:n,y:r},p=_i(i),m=hi(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ai(d[_],T),D=ai(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=ui(O,A,k),M=!c.arrow&&pi(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Ii=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=di(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=fi(r),_=gi(o),v=fi(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Di(o)]:yi(o)),x=p!==`none`;!d&&x&&b.push(...Ei(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=vi(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==gi(t))||T.every(e=>gi(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=gi(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Li(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Ri(e){return ii.some(t=>e[t]>=0)}var zi=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=di(e,t);switch(i){case`referenceHidden`:{let e=Li(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Ri(e)}}}case`escaped`:{let e=Li(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Ri(e)}}}default:return{}}}}},Bi=new Set([`left`,`top`]);async function Vi(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=fi(n),s=pi(n),c=gi(n)===`y`,l=Bi.has(o)?-1:1,u=a&&c?-1:1,d=di(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Hi=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Vi(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Ui=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=di(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=gi(fi(i)),p=mi(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=ui(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=ui(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Wi=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=di(e,t),u={x:n,y:r},d=gi(i),f=mi(d),p=u[f],m=u[d],h=di(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Bi.has(fi(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Gi=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=di(e,t),u=await o.detectOverflow(t,l),d=fi(i),f=pi(i),p=gi(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=ai(h-u[g],v),x=ai(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=K(u.left,0),t=K(u.right,0),n=K(u.top,0),r=K(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:K(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:K(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Ki(){return typeof window<`u`}function qi(e){return Yi(e)?(e.nodeName||``).toLowerCase():`#document`}function q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ji(e){return((Yi(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Yi(e){return Ki()?e instanceof Node||e instanceof q(e).Node:!1}function J(e){return Ki()?e instanceof Element||e instanceof q(e).Element:!1}function Xi(e){return Ki()?e instanceof HTMLElement||e instanceof q(e).HTMLElement:!1}function Zi(e){return!Ki()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof q(e).ShadowRoot}function Qi(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function $i(e){return/^(table|td|th)$/.test(qi(e))}function ea(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ta=/transform|translate|scale|rotate|perspective|filter/,na=/paint|layout|strict|content/,ra=e=>!!e&&e!==`none`,ia;function aa(e){let t=J(e)?Y(e):e;return ra(t.transform)||ra(t.translate)||ra(t.scale)||ra(t.rotate)||ra(t.perspective)||!sa()&&(ra(t.backdropFilter)||ra(t.filter))||ta.test(t.willChange||``)||na.test(t.contain||``)}function oa(e){let t=ua(e);for(;Xi(t)&&!ca(t);){if(aa(t))return t;if(ea(t))return null;t=ua(t)}return null}function sa(){return ia??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ia}function ca(e){return/^(html|body|#document)$/.test(qi(e))}function Y(e){return q(e).getComputedStyle(e)}function la(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ua(e){if(qi(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Zi(e)&&e.host||Ji(e);return Zi(t)?t.host:t}function da(e){let t=ua(e);return ca(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xi(t)&&Qi(t)?t:da(t)}function fa(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=da(e),i=r===e.ownerDocument?.body,a=q(r);if(i){let e=pa(a);return t.concat(a,a.visualViewport||[],Qi(r)?r:[],e&&n?fa(e):[])}else return t.concat(r,fa(r,[],n))}function pa(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ma(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Xi(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=oi(n)!==a||oi(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ha(e){return J(e)?e:e.contextElement}function ga(e){let t=ha(e);if(!Xi(t))return ci(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=ma(t),o=(a?oi(n.width):n.width)/r,s=(a?oi(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var _a=ci(0);function va(e){let t=q(e);return!sa()||!t.visualViewport?_a:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ya(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==q(e)?!1:t}function ba(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ha(e),o=ci(1);t&&(r?J(r)&&(o=ga(r)):o=ga(e));let s=ya(a,n,r)?va(a):ci(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=q(a),t=r&&J(r)?q(r):r,n=e,i=pa(n);for(;i&&r&&t!==n;){let e=ga(i),t=i.getBoundingClientRect(),r=Y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=q(i),i=pa(n)}}return Ai({width:u,height:d,x:c,y:l})}function xa(e,t){let n=la(e).scrollLeft;return t?t.left+n:ba(Ji(e)).left+n}function Sa(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-xa(e,n),y:n.top+t.scrollTop}}function Ca(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Ji(r),s=t?ea(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ci(1),u=ci(0),d=Xi(r);if((d||!d&&!a)&&((qi(r)!==`body`||Qi(o))&&(c=la(r)),d)){let e=ba(r);l=ga(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Sa(o,c):ci(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function wa(e){return Array.from(e.getClientRects())}function Ta(e){let t=Ji(e),n=la(e),r=e.ownerDocument.body,i=K(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=K(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+xa(e),s=-n.scrollTop;return Y(r).direction===`rtl`&&(o+=K(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Ea=25;function Da(e,t){let n=q(e),r=Ji(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=sa();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=xa(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Ea&&(a-=o)}else l<=Ea&&(a+=l);return{width:a,height:o,x:s,y:c}}function Oa(e,t){let n=ba(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Xi(e)?ga(e):ci(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ka(e,t,n){let r;if(t===`viewport`)r=Da(e,n);else if(t===`document`)r=Ta(Ji(e));else if(J(t))r=Oa(t,n);else{let n=va(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ai(r)}function Aa(e,t){let n=ua(e);return n===t||!J(n)||ca(n)?!1:Y(n).position===`fixed`||Aa(n,t)}function ja(e,t){let n=t.get(e);if(n)return n;let r=fa(e,[],!1).filter(e=>J(e)&&qi(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?ua(e):e;for(;J(o)&&!ca(o);){let t=Y(o),n=aa(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Qi(o)&&!n&&Aa(e,o))?r=r.filter(e=>e!==o):i=t,o=ua(o)}return t.set(e,r),r}function Ma(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ea(t)?[]:ja(t,this._c):[].concat(n),r],o=ka(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ka(t,a[e],i);s=K(n.top,s),c=ai(n.right,c),l=ai(n.bottom,l),u=K(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Na(e){let{width:t,height:n}=ma(e);return{width:t,height:n}}function Pa(e,t,n){let r=Xi(t),i=Ji(t),a=n===`fixed`,o=ba(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=ci(0);function l(){c.x=xa(i)}if(r||!r&&!a)if((qi(t)!==`body`||Qi(i))&&(s=la(t)),r){let e=ba(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Sa(i,s):ci(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Fa(e){return Y(e).position===`static`}function Ia(e,t){if(!Xi(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Ji(e)===n&&(n=n.ownerDocument.body),n}function La(e,t){let n=q(e);if(ea(e))return n;if(!Xi(e)){let t=ua(e);for(;t&&!ca(t);){if(J(t)&&!Fa(t))return t;t=ua(t)}return n}let r=Ia(e,t);for(;r&&$i(r)&&Fa(r);)r=Ia(r,t);return r&&ca(r)&&Fa(r)&&!aa(r)?n:r||oa(e)||n}var Ra=async function(e){let t=this.getOffsetParent||La,n=this.getDimensions,r=await n(e.floating);return{reference:Pa(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function za(e){return Y(e).direction===`rtl`}var Ba={convertOffsetParentRelativeRectToViewportRelativeRect:Ca,getDocumentElement:Ji,getClippingRect:Ma,getOffsetParent:La,getElementRects:Ra,getClientRects:wa,getDimensions:Na,getScale:ga,isElement:J,isRTL:za};function Va(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ha(e,t){let n=null,r,i=Ji(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=si(d),h=si(i.clientWidth-(u+f)),g=si(i.clientHeight-(d+p)),_=si(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:K(0,ai(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Va(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Ua(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ha(e),u=i||a?[...l?fa(l):[],...t?fa(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ha(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ba(e):null;c&&g();function g(){let t=ba(e);h&&!Va(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Wa=Hi,Ga=Ui,Ka=Ii,qa=Gi,Ja=zi,Ya=Fi,Xa=Wi,Za=(e,t,n)=>{let r=new Map,i={platform:Ba,...n},a={...i.platform,_c:r};return Pi(e,t,{...i,platform:a})},Qa=typeof document<`u`?o.useLayoutEffect:function(){};function $a(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!$a(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!$a(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function eo(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function to(e,t){let n=eo(e);return Math.round(t*n)/n}function no(e){let t=o.useRef(e);return Qa(()=>{t.current=e}),t}function ro(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:c}={},transform:l=!0,whileElementsMounted:u,open:d}=e,[f,p]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=o.useState(r);$a(m,r)||h(r);let[g,_]=o.useState(null),[v,y]=o.useState(null),b=o.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=o.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||g,C=c||v,w=o.useRef(null),T=o.useRef(null),E=o.useRef(f),D=u!=null,O=no(u),k=no(i),A=no(d),j=o.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:m};k.current&&(e.platform=k.current),Za(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!$a(E.current,t)&&(E.current=t,s.flushSync(()=>{p(t)}))})},[m,t,n,k,A]);Qa(()=>{d===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,p(e=>({...e,isPositioned:!1})))},[d]);let M=o.useRef(!1);Qa(()=>(M.current=!0,()=>{M.current=!1}),[]),Qa(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=o.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=o.useMemo(()=>({reference:S,floating:C}),[S,C]),F=o.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=to(P.floating,f.x),r=to(P.floating,f.y);return l?{...e,transform:`translate(`+t+`px, `+r+`px)`,...eo(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,l,P.floating,f.x,f.y]);return o.useMemo(()=>({...f,update:j,refs:N,elements:P,floatingStyles:F}),[f,j,N,P,F])}var io=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Ya({element:r.current,padding:i}).fn(n):r?Ya({element:r,padding:i}).fn(n):{}}}},ao=(e,t)=>{let n=Wa(e);return{name:n.name,fn:n.fn,options:[e,t]}},oo=(e,t)=>{let n=Ga(e);return{name:n.name,fn:n.fn,options:[e,t]}},so=(e,t)=>({fn:Xa(e).fn,options:[e,t]}),co=(e,t)=>{let n=Ka(e);return{name:n.name,fn:n.fn,options:[e,t]}},lo=(e,t)=>{let n=qa(e);return{name:n.name,fn:n.fn,options:[e,t]}},uo=(e,t)=>{let n=Ja(e);return{name:n.name,fn:n.fn,options:[e,t]}},fo=(e,t)=>{let n=io(e);return{name:n.name,fn:n.fn,options:[e,t]}},po=`Arrow`,mo=o.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,U.jsx)(G.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,U.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});mo.displayName=po;var ho=mo,go=`Popper`,[_o,vo]=Lt(go),[yo,bo]=_o(go),xo=e=>{let{__scopePopper:t,children:n}=e,[r,i]=o.useState(null);return(0,U.jsx)(yo,{scope:t,anchor:r,onAnchorChange:i,children:n})};xo.displayName=go;var So=`PopperAnchor`,Co=o.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=bo(So,n),s=o.useRef(null),c=W(t,s),l=o.useRef(null);return o.useEffect(()=>{let e=l.current;l.current=r?.current||s.current,e!==l.current&&a.onAnchorChange(l.current)}),r?null:(0,U.jsx)(G.div,{...i,ref:c})});Co.displayName=So;var wo=`PopperContent`,[To,Eo]=_o(wo),Do=o.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:s=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:f=`partial`,hideWhenDetached:p=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,...g}=e,_=bo(wo,n),[v,y]=o.useState(null),b=W(t,e=>y(e)),[x,S]=o.useState(null),C=ri(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof d==`number`?d:{top:0,right:0,bottom:0,left:0,...d},O=Array.isArray(u)?u:[u],k=O.length>0,A={padding:D,boundary:O.filter(jo),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=ro({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>Ua(...e,{animationFrame:m===`always`}),elements:{reference:_.anchor},middleware:[ao({mainAxis:i+T,alignmentAxis:s}),l&&oo({mainAxis:!0,crossAxis:!1,limiter:f===`partial`?so():void 0,...A}),l&&co({...A}),lo({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),x&&fo({element:x,padding:c}),Mo({arrowWidth:w,arrowHeight:T}),p&&uo({strategy:`referenceHidden`,...A})]}),[I,ee]=No(N),te=nn(h);Vt(()=>{P&&te?.()},[P,te]);let ne=F.arrow?.x,re=F.arrow?.y,L=F.arrow?.centerOffset!==0,[R,ie]=o.useState();return Vt(()=>{v&&ie(window.getComputedStyle(v).zIndex)},[v]),(0,U.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:R,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,U.jsx)(To,{scope:n,placedSide:I,onArrowChange:S,arrowX:ne,arrowY:re,shouldHideArrow:L,children:(0,U.jsx)(G.div,{"data-side":I,"data-align":ee,...g,ref:b,style:{...g.style,animation:P?void 0:`none`}})})})});Do.displayName=wo;var Oo=`PopperArrow`,ko={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Ao=o.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Eo(Oo,n),a=ko[i.placedSide];return(0,U.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,U.jsx)(ho,{...r,ref:t,style:{...r.style,display:`block`}})})});Ao.displayName=Oo;function jo(e){return e!==null}var Mo=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=No(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function No(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Po=xo,Fo=Co,Io=Do,Lo=Ao,Ro=`rovingFocusGroup.onEntryFocus`,zo={bubbles:!1,cancelable:!0},Bo=`RovingFocusGroup`,[Vo,Ho,Uo]=zt(Bo),[Wo,Go]=Lt(Bo,[Uo]),[Ko,qo]=Wo(Bo),Jo=o.forwardRef((e,t)=>(0,U.jsx)(Vo.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,U.jsx)(Vo.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,U.jsx)(Yo,{...e,ref:t})})}));Jo.displayName=Bo;var Yo=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=o.useRef(null),m=W(t,p),h=tn(a),[g,_]=Ut({prop:s,defaultProp:c??null,onChange:l,caller:Bo}),[v,y]=o.useState(!1),b=nn(u),x=Ho(n),S=o.useRef(!1),[C,w]=o.useState(0);return o.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(Ro,b),()=>e.removeEventListener(Ro,b)},[b]),(0,U.jsx)(Ko,{scope:n,orientation:r,dir:h,loop:i,currentTabStopId:g,onItemFocus:o.useCallback(e=>_(e),[_]),onItemShiftTab:o.useCallback(()=>y(!0),[]),onFocusableItemAdd:o.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>w(e=>e-1),[]),children:(0,U.jsx)(G.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:Bt(e.onMouseDown,()=>{S.current=!0}),onFocus:Bt(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(Ro,zo);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);ts([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),d)}}S.current=!1}),onBlur:Bt(e.onBlur,()=>y(!1))})})}),Xo=`RovingFocusGroupItem`,Zo=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:s,...c}=e,l=$t(),u=a||l,d=qo(Xo,n),f=d.currentTabStopId===u,p=Ho(n),{onFocusableItemAdd:m,onFocusableItemRemove:h,currentTabStopId:g}=d;return o.useEffect(()=>{if(r)return m(),()=>h()},[r,m,h]),(0,U.jsx)(Vo.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,U.jsx)(G.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...c,ref:t,onMouseDown:Bt(e.onMouseDown,e=>{r?d.onItemFocus(u):e.preventDefault()}),onFocus:Bt(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:Bt(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=es(e,d.orientation,d.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=p().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?ns(n,r+1):n.slice(r+1)}setTimeout(()=>ts(n))}}),children:typeof s==`function`?s({isCurrentTabStop:f,hasTabStop:g!=null}):s})})});Zo.displayName=Xo;var Qo={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function $o(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function es(e,t,n){let r=$o(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Qo[r]}function ts(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ns(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var rs=Jo,is=Zo,as=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},os=(e,t)=>({classGroupId:e,validator:t}),ss=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),cs=`-`,ls=[],us=`arbitrary..`,ds=e=>{let t=ms(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return ps(e);let n=e.split(cs);return fs(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?as(i,t):t:i||ls}return n[e]||ls}}},fs=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=fs(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(cs):e.slice(t).join(cs),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},ps=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?us+r:void 0})(),ms=e=>{let{theme:t,classGroups:n}=e;return hs(n,t)},hs=(e,t)=>{let n=ss();for(let r in e){let i=e[r];gs(i,n,r,t)}return n},gs=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];_s(i,t,n,r)}},_s=(e,t,n,r)=>{if(typeof e==`string`){vs(e,t,n);return}if(typeof e==`function`){ys(e,t,n,r);return}bs(e,t,n,r)},vs=(e,t,n)=>{let r=e===``?t:xs(t,e);r.classGroupId=n},ys=(e,t,n,r)=>{if(Ss(e)){gs(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(os(n,e))},bs=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];gs(o,xs(t,a),n,r)}},xs=(e,t)=>{let n=e,r=t.split(cs),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=ss(),n.nextPart.set(t,i)),n=i}return n},Ss=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Cs=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},ws=`!`,Ts=`:`,Es=[],Ds=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Os=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ts){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(ws)?(c=s.slice(0,-1),l=!0):s.startsWith(ws)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ds(t,l,c,u)};if(t){let e=t+Ts,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ds(Es,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},ks=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},As=e=>({cache:Cs(e.cacheSize),parseClassName:Os(e),sortModifiers:ks(e),...ds(e)}),js=/\s+/,Ms=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(js),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+ws:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Ns=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Ps(n))&&(i&&(i+=` `),i+=r);return i},Ps=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Ps(e[r]))&&(n&&(n+=` `),n+=t);return n},Fs=(e,...t)=>{let n,r,i,a,o=o=>(n=As(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Ms(e,n);return i(e,a),a};return a=o,(...e)=>a(Ns(...e))},Is=[],X=e=>{let t=t=>t[e]||Is;return t.isThemeGetter=!0,t},Ls=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Rs=/^\((?:(\w[\w-]*):)?(.+)\)$/i,zs=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Bs=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Vs=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Hs=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Us=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ws=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Gs=e=>zs.test(e),Z=e=>!!e&&!Number.isNaN(Number(e)),Ks=e=>!!e&&Number.isInteger(Number(e)),qs=e=>e.endsWith(`%`)&&Z(e.slice(0,-1)),Js=e=>Bs.test(e),Ys=()=>!0,Xs=e=>Vs.test(e)&&!Hs.test(e),Zs=()=>!1,Qs=e=>Us.test(e),$s=e=>Ws.test(e),ec=e=>!Q(e)&&!$(e),tc=e=>gc(e,bc,Zs),Q=e=>Ls.test(e),nc=e=>gc(e,xc,Xs),rc=e=>gc(e,Sc,Z),ic=e=>gc(e,wc,Ys),ac=e=>gc(e,Cc,Zs),oc=e=>gc(e,vc,Zs),sc=e=>gc(e,yc,$s),cc=e=>gc(e,Tc,Qs),$=e=>Rs.test(e),lc=e=>_c(e,xc),uc=e=>_c(e,Cc),dc=e=>_c(e,vc),fc=e=>_c(e,bc),pc=e=>_c(e,yc),mc=e=>_c(e,Tc,!0),hc=e=>_c(e,wc,!0),gc=(e,t,n)=>{let r=Ls.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},_c=(e,t,n=!1)=>{let r=Rs.exec(e);return r?r[1]?t(r[1]):n:!1},vc=e=>e===`position`||e===`percentage`,yc=e=>e===`image`||e===`url`,bc=e=>e===`length`||e===`size`||e===`bg-size`,xc=e=>e===`length`,Sc=e=>e===`number`,Cc=e=>e===`family-name`,wc=e=>e===`number`||e===`weight`,Tc=e=>e===`shadow`,Ec=Fs(()=>{let e=X(`color`),t=X(`font`),n=X(`text`),r=X(`font-weight`),i=X(`tracking`),a=X(`leading`),o=X(`breakpoint`),s=X(`container`),c=X(`spacing`),l=X(`radius`),u=X(`shadow`),d=X(`inset-shadow`),f=X(`text-shadow`),p=X(`drop-shadow`),m=X(`blur`),h=X(`perspective`),g=X(`aspect`),_=X(`ease`),v=X(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),$,Q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[$,Q,c],T=()=>[Gs,`full`,`auto`,...w()],E=()=>[Ks,`none`,`subgrid`,$,Q],D=()=>[`auto`,{span:[`full`,Ks,$,Q]},Ks,$,Q],O=()=>[Ks,`auto`,$,Q],k=()=>[`auto`,`min`,`max`,`fr`,$,Q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Gs,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[Gs,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],F=()=>[Gs,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],I=()=>[e,$,Q],ee=()=>[...b(),dc,oc,{position:[$,Q]}],te=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ne=()=>[`auto`,`cover`,`contain`,fc,tc,{size:[$,Q]}],re=()=>[qs,lc,nc],L=()=>[``,`none`,`full`,l,$,Q],R=()=>[``,Z,lc,nc],ie=()=>[`solid`,`dashed`,`dotted`,`double`],ae=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],z=()=>[Z,qs,dc,oc],oe=()=>[``,`none`,m,$,Q],se=()=>[`none`,Z,$,Q],ce=()=>[`none`,Z,$,Q],le=()=>[Z,$,Q],ue=()=>[Gs,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Js],breakpoint:[Js],color:[Ys],container:[Js],"drop-shadow":[Js],ease:[`in`,`out`,`in-out`],font:[ec],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Js],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Js],shadow:[Js],spacing:[`px`,Z],text:[Js],"text-shadow":[Js],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Gs,Q,$,g]}],container:[`container`],columns:[{columns:[Z,Q,$,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ks,`auto`,$,Q]}],basis:[{basis:[Gs,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Z,Gs,`auto`,`initial`,`none`,Q]}],grow:[{grow:[``,Z,$,Q]}],shrink:[{shrink:[``,Z,$,Q]}],order:[{order:[Ks,`first`,`last`,`none`,$,Q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...P()]}],"min-inline-size":[{"min-inline":[`auto`,...P()]}],"max-inline-size":[{"max-inline":[`none`,...P()]}],"block-size":[{block:[`auto`,...F()]}],"min-block-size":[{"min-block":[`auto`,...F()]}],"max-block-size":[{"max-block":[`none`,...F()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,lc,nc]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,hc,ic]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,qs,Q]}],"font-family":[{font:[uc,ac,t]}],"font-features":[{"font-features":[Q]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,$,Q]}],"line-clamp":[{"line-clamp":[Z,`none`,$,rc]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,$,Q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,$,Q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:I()}],"text-color":[{text:I()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ie(),`wavy`]}],"text-decoration-thickness":[{decoration:[Z,`from-font`,`auto`,$,nc]}],"text-decoration-color":[{decoration:I()}],"underline-offset":[{"underline-offset":[Z,`auto`,$,Q]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,$,Q]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,$,Q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ee()}],"bg-repeat":[{bg:te()}],"bg-size":[{bg:ne()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ks,$,Q],radial:[``,$,Q],conic:[Ks,$,Q]},pc,sc]}],"bg-color":[{bg:I()}],"gradient-from-pos":[{from:re()}],"gradient-via-pos":[{via:re()}],"gradient-to-pos":[{to:re()}],"gradient-from":[{from:I()}],"gradient-via":[{via:I()}],"gradient-to":[{to:I()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-bs":[{"border-bs":R()}],"border-w-be":[{"border-be":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":R()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ie(),`hidden`,`none`]}],"divide-style":[{divide:[...ie(),`hidden`,`none`]}],"border-color":[{border:I()}],"border-color-x":[{"border-x":I()}],"border-color-y":[{"border-y":I()}],"border-color-s":[{"border-s":I()}],"border-color-e":[{"border-e":I()}],"border-color-bs":[{"border-bs":I()}],"border-color-be":[{"border-be":I()}],"border-color-t":[{"border-t":I()}],"border-color-r":[{"border-r":I()}],"border-color-b":[{"border-b":I()}],"border-color-l":[{"border-l":I()}],"divide-color":[{divide:I()}],"outline-style":[{outline:[...ie(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Z,$,Q]}],"outline-w":[{outline:[``,Z,lc,nc]}],"outline-color":[{outline:I()}],shadow:[{shadow:[``,`none`,u,mc,cc]}],"shadow-color":[{shadow:I()}],"inset-shadow":[{"inset-shadow":[`none`,d,mc,cc]}],"inset-shadow-color":[{"inset-shadow":I()}],"ring-w":[{ring:R()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:I()}],"ring-offset-w":[{"ring-offset":[Z,nc]}],"ring-offset-color":[{"ring-offset":I()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":I()}],"text-shadow":[{"text-shadow":[`none`,f,mc,cc]}],"text-shadow-color":[{"text-shadow":I()}],opacity:[{opacity:[Z,$,Q]}],"mix-blend":[{"mix-blend":[...ae(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Z]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":I()}],"mask-image-linear-to-color":[{"mask-linear-to":I()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":I()}],"mask-image-t-to-color":[{"mask-t-to":I()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":I()}],"mask-image-r-to-color":[{"mask-r-to":I()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":I()}],"mask-image-b-to-color":[{"mask-b-to":I()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":I()}],"mask-image-l-to-color":[{"mask-l-to":I()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":I()}],"mask-image-x-to-color":[{"mask-x-to":I()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":I()}],"mask-image-y-to-color":[{"mask-y-to":I()}],"mask-image-radial":[{"mask-radial":[$,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":I()}],"mask-image-radial-to-color":[{"mask-radial-to":I()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Z]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":I()}],"mask-image-conic-to-color":[{"mask-conic-to":I()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ee()}],"mask-repeat":[{mask:te()}],"mask-size":[{mask:ne()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,$,Q]}],filter:[{filter:[``,`none`,$,Q]}],blur:[{blur:oe()}],brightness:[{brightness:[Z,$,Q]}],contrast:[{contrast:[Z,$,Q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,mc,cc]}],"drop-shadow-color":[{"drop-shadow":I()}],grayscale:[{grayscale:[``,Z,$,Q]}],"hue-rotate":[{"hue-rotate":[Z,$,Q]}],invert:[{invert:[``,Z,$,Q]}],saturate:[{saturate:[Z,$,Q]}],sepia:[{sepia:[``,Z,$,Q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,$,Q]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[Z,$,Q]}],"backdrop-contrast":[{"backdrop-contrast":[Z,$,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Z,$,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Z,$,Q]}],"backdrop-invert":[{"backdrop-invert":[``,Z,$,Q]}],"backdrop-opacity":[{"backdrop-opacity":[Z,$,Q]}],"backdrop-saturate":[{"backdrop-saturate":[Z,$,Q]}],"backdrop-sepia":[{"backdrop-sepia":[``,Z,$,Q]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,$,Q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Z,`initial`,$,Q]}],ease:[{ease:[`linear`,`initial`,_,$,Q]}],delay:[{delay:[Z,$,Q]}],animate:[{animate:[`none`,v,$,Q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,$,Q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ce()}],"scale-x":[{"scale-x":ce()}],"scale-y":[{"scale-y":ce()}],"scale-z":[{"scale-z":ce()}],"scale-3d":[`scale-3d`],skew:[{skew:le()}],"skew-x":[{"skew-x":le()}],"skew-y":[{"skew-y":le()}],transform:[{transform:[$,Q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":[`translate-none`],accent:[{accent:I()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:I()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,$,Q]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,$,Q]}],fill:[{fill:[`none`,...I()]}],"stroke-w":[{stroke:[Z,lc,nc,rc]}],stroke:[{stroke:[`none`,...I()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),Dc=(...e)=>Ec(xt(e)),Oc=wt(`inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap rounded-xl border text-sm font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`border-primary/60 bg-primary text-primary-foreground shadow-[0_8px_24px_rgba(108,63,217,0.28)] hover:bg-primary/92 hover:border-primary/70`,outline:`border-border bg-card/80 text-foreground hover:bg-accent hover:text-accent-foreground`,secondary:`border-border bg-secondary text-secondary-foreground hover:bg-secondary/85`,ghost:`border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground`,destructive:`border-red-500/30 bg-destructive/15 text-red-200 hover:bg-destructive/25`,success:`border-emerald-300/80 bg-emerald-400 text-[#07130d] shadow-[0_10px_30px_rgba(16,185,129,0.28)] hover:border-emerald-200 hover:bg-emerald-300`,warning:`border-amber-500/30 bg-amber-500/12 text-amber-200 hover:bg-amber-500/20`,link:`border-transparent px-0 text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-4`,xs:`h-7 px-2.5 text-xs`,sm:`h-8 px-3 text-sm`,lg:`h-11 px-5 text-sm`,icon:`size-10`,"icon-xs":`size-7 [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-11`}},defaultVariants:{variant:`default`,size:`default`}}),kc=({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i})=>(0,U.jsx)(r?Ot:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:Dc(Oc({variant:t,size:n,className:e})),...i}),Ac=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),jc=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Mc=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Nc=e=>{let t=Mc(e);return t.charAt(0).toUpperCase()+t.slice(1)},Pc={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Fc=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Ic=(0,o.createContext)({}),Lc=()=>(0,o.useContext)(Ic),Rc=(0,o.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:s,...c},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=Lc()??{},h=r??f?Number(n??d)*24/Number(t??u):n??d;return(0,o.createElement)(`svg`,{ref:l,...Pc,width:t??u??Pc.width,height:t??u??Pc.height,stroke:e??p,strokeWidth:h,className:Ac(`lucide`,m,i),...!a&&!Fc(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>(0,o.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),zc=(e,t)=>{let n=(0,o.forwardRef)(({className:n,...r},i)=>(0,o.createElement)(Rc,{ref:i,iconNode:t,className:Ac(`lucide-${jc(Nc(e))}`,`lucide-${e}`,n),...r}));return n.displayName=Nc(e),n},Bc=zc(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Vc=zc(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Hc=zc(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Uc=(0,o.forwardRef)(({className:e,type:t,...n},r)=>(0,U.jsx)(`input`,{ref:r,type:t,"data-slot":`input`,className:Dc(`h-10 w-full min-w-0 rounded-xl border border-input bg-input/40 px-3 py-2 text-sm text-foreground transition-[border-color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,e),...n})),Wc=({className:e})=>(0,U.jsx)(Bc,{"aria-hidden":`true`,className:e}),Gc=({className:e})=>(0,U.jsx)(Vc,{"aria-hidden":`true`,className:e}),Kc=({className:e})=>(0,U.jsx)(Hc,{"aria-hidden":`true`,className:e}),qc=`common`,Jc={en:{common:{appName:`Archon`,emptyState:{title:`Create your first project to start routing tickets into a real repo.`,description:`Pick the default agent Archon should use for planning and ticket work. Auto-config can optionally use a separate helper model.`,loadingToolPreference:`Loading tool preference...`,createFirstProject:`Create first project`},boardConfirmEmptyDoneModal:{heading:`Empty Done`,deletePrompt_one:`Delete {{count}} done ticket from the Done column?`,deletePrompt_other:`Delete {{count}} done tickets from the Done column?`,description:`Standalone ticket worktrees will be removed when applicable. Deleting the last parked ticket in a bundle also removes that shared bundle worktree.`,cancel:`Cancel`,deleting:`Deleting...`,confirm:`Delete all`},cardConfirmDeleteModal:{heading:`Delete ticket`,descriptionInBundle:`This removes the ticket from bundle "{{bundleName}}". The bundle and shared worktree stay available.`,descriptionStandalone:`This will also remove the worktree if one exists.`,cancel:`Cancel`,confirm:`Delete`},cardConfirmUndoModal:{defaultSubjectLabel:`ticket`,headingReview:`Undo review`,headingBuild:`Undo build`,descriptionReview:`This will revert the current review-step changes and move the {{subjectLabel}} back to build-done.`,descriptionBuild:`This will revert the current build-step changes and move the {{subjectLabel}} back to plan.`,cancel:`Cancel`,confirm:`Undo`},bundleSelector:{label:`Bundle`,emptyLabel:`No bundle`},jiraImportField:{error:`Unable to load the Jira issue right now.`,label:`Import from Jira`,placeholder:`PROJ-123 or issue URL`,importing:`Importing...`,import:`Import`},newTicketModal:{heading:`New Ticket`,actions:{plan:`Plan`,createTicket:`Create Ticket`,createAndBuild:`Create & Build`}},ticketEditor:{automaticBundleLabel:`Create automatically`,planningFailed:`Planning failed. Please try again.`,bundleCreationUnavailable:`Bundle creation is unavailable.`,titleLabel:`Title`,titlePlaceholder:`What needs to be done?`,descriptionLabel:`Description`,descriptionPlaceholder:`Describe the task, acceptance criteria, context...`,bundlePreview:`Bundle preview:`,manageBundles:`Manage bundles`,cancel:`Cancel`,planning:`Planning...`},manageBundlesModal:{createError:`Unable to create the bundle right now.`,deleteError:`Unable to delete the bundle right now.`,title:`Manage bundles`,createTitle:`Create bundle`,createPendingTitle:`Preparing bundle workspace`,createPendingDescription:`Creating the worktree, syncing files, and running setup commands.`,bundleNameLabel:`Bundle name`,bundleNameAriaLabel:`Bundle name`,bundleNamePlaceholder:`Checkout flow`,createAction:`Create bundle`,existingTitle:`Existing bundles`,empty:`No bundles yet.`,selected:`Selected`,currentTarget:`Current target`,projectRootDescription:`Uses the project root on branch {{branch}}.`,switchTargetDescription:`Switch the project target away from this bundle before deleting it.`,inUseDescription:`Used by {{ticketCount}}.`,unusedDescription:`Unused and ready to delete.`,ticketCount_one:`{{count}} ticket`,ticketCount_other:`{{count}} tickets`,cancel:`Cancel`,deleting:`Deleting...`,deleteBundle:`Delete bundle`,delete:`Delete`,close:`Close`},card:{advance:{reviewBundle:`Review Bundle`,rerunReview:`Re-run review`},columnLabels:{plan:`Plan`,build:`Build`,review:`Review`,done:`Done`,trash:`Trash`},returnTo:`Return to {{state}}`,drawDependency:`Draw dependency`,createDependencyAriaLabel:`Create dependency from {{title}}`,undoInProgress:`Undo in progress...`},cardActionsMenu:{openAriaLabel:`Open actions menu for {{title}}`,delete:`Delete`,undoReview:`Undo Review`,undoBuild:`Undo Build`,buildChain:`Build Chain`,run:`Run`,startingRun:`Starting Run...`,stopRun:`Stop Run`,stopping:`Stopping...`,pauseBuild:`Pause Build`,resumeBuild:`Resume Build`,changes:`Changes`,tests:`Tests`,openIde:`Open IDE`,stopBuildChain:`Stop Build Chain`,done:`Done`},statusBadge:{queued:`Queued`,planning:`Planning...`,building:`Building`,buildingWithGlyph:`⏳ Building`,reviewing:`Reviewing`,done:`✓ Done`,error:`✗ Error`,stopped:`Stopped`},cardStatusBadges:{stale:`Stale`,openQuestions:`Open questions`,chainStart:`Chain start`},column:{loadingCard:`Loading card {{index}}`,runDisabledReason:`Stop the currently running ticket before starting another run.`,newTicket:`+ New ticket`,undoInProgress:`Undo in progress...`},board:{notifications:{planningDoneTitle:`Planning done`,planningDoneBody_one:`{{count}} ticket created`,planningDoneBody_other:`{{count}} tickets created`},search:{placeholder:`Search tickets`,ariaLabel:`Search tickets`,clearAriaLabel:`Clear search`,hideStaleAriaLabel:`Hide stale tickets`,hideStaleLabel:`Hide stale tickets`},preview:{disabledProjectRoot:`Preview selection is unavailable for project root runs.`,disabledBuildCapable:`Preview selection is only available for build-capable ticket runs.`,disabledPlanMode:`Preview selection is unavailable while this ticket is in Plan mode.`,followUpBundlePlaceholder:`Follow up on this bundle`,followUpTicketPlaceholder:`Follow up on this ticket`},errors:{runBlockedByActive:`Stop the currently running ticket before starting another run.`,moveTicket:`Unable to move the ticket right now.`,createBundleWithoutProject:`Cannot create a bundle without an active project.`,missingBundleReviewTicket:`Requested ticket was not returned from the bundle review response.`,parkTicket:`Unable to park the ticket right now.`,returnTicket:`Unable to return the ticket right now.`,moveBundleToDone:`Unable to move the bundle to Done right now.`,restoreBundle:`Unable to restore the bundle right now.`,deleteBundleTickets:`Unable to delete the bundle tickets right now.`,generateTickets:`Unable to generate tickets right now.`,deleteTicket:`Unable to delete the ticket right now.`,undoTicket:`Unable to undo the ticket right now.`,startRun:`Unable to start the run right now.`,openIde:`Unable to open the IDE right now.`,sendFollowUp:`Unable to send the follow-up prompt right now.`,buildBundle:`Unable to build the bundle right now.`,reviewBundle:`Unable to review the bundle right now.`,undoBundleReview:`Unable to undo the bundle review right now.`,moveBundle:`Unable to move the bundle right now.`,startBuildChain:`Unable to start the build chain right now.`,stopBuildChain:`Unable to stop the build chain right now.`,emptyDone:`Unable to empty Done right now.`},toasts:{deleteDonePartial_one:`Deleted {{deletedCount}} done ticket, but {{failedCount}} failed.`,deleteDonePartial_other:`Deleted {{deletedCount}} done tickets, but {{failedCount}} failed.`,deleteDoneSuccess_one:`Deleted {{count}} done ticket.`,deleteDoneSuccess_other:`Deleted {{count}} done tickets.`,movedBundleToDonePartial:`Moved {{movedCount}} of {{totalCount}} bundle tickets to Done.`,restoredBundlePartial:`Restored {{restoredCount}} of {{totalCount}} bundle tickets.`,deletedBundleTicketsPartial:`Deleted {{deletedCount}} of {{totalCount}} bundle tickets.`,planningAgentCardsCreated_one:`{{count}} card created`,planningAgentCardsCreated_other:`{{count}} cards created`},doneColumn:{emptyAction:`Empty`},changes:{reviewPromptDisabledReason:`Wait for all bundle tickets to finish building before sending a follow-up prompt.`,modifyChangesDisabledReason:`Wait for all bundle tickets to finish building before modifying changes.`}},projectPreviewPane:{presets:{responsive:`Responsive`,phone:`Phone`,tablet:`Tablet`,laptop:`Laptop`},selection:{unavailableBuildCapable:`Preview selection is only available for build-capable ticket runs.`,waitForLoad:`Wait for the preview to finish loading first.`,enableMode:`Enable selection mode`,disableMode:`Disable selection mode`},targetSummary:{element:`Element`,unknownElement:`Unknown element`},iframeTitle:`Project preview`,pendingComments:{triggerLabel:`Pending comments`,title:`Pending comments`,description:`Review preview comments before sending them back to the agent.`,empty:`No preview comments queued yet.`,clearAll:`Clear all`,sending:`Sending...`,sendFixes:`Send fixes ({{count}})`,deleteAriaLabel:`Delete pending comment for {{elementLabel}}`},prompt:{bundlePlaceholder:`Follow up on this bundle`,ticketPlaceholder:`Follow up on this ticket`,defaultPlaceholder:`Describe what Archon should do next.`,toggleAriaLabel:`Toggle preview prompt`,button:`Prompt`,sent:`Prompt sent.`,sendError:`Unable to send the preview prompt right now.`},commentComposer:{editTitle:`Edit preview comment`,addTitle:`Add preview comment`,closeAriaLabel:`Close preview comment composer`,commentAriaLabel:`Preview comment`,placeholder:`Describe the change you want here.`,cancel:`Cancel`,save:`Save comment`,add:`Add comment`},toasts:{fixesSubmitted:`Fixes submitted.`,fixesError:`Unable to submit the preview review right now.`},states:{loadingTitle:`Loading preview`,loadingDescription:`Archon is loading the current preview state for this project.`,readyMissingUrlTitle:`Preview error`,readyMissingUrlDescription:`Archon did not provide a preview URL for the active run.`,detectingTitle:`Detecting preview`,detectingDescription:`Waiting for the preview service to report a browser URL.`,unsupportedTitle:`Preview unavailable`,unsupportedDescription:`This run cannot be embedded as an in-app preview.`,errorTitle:`Preview error`,errorDescription:`Archon could not load the current preview target.`,idleTitle:`Preview idle`,idleDescription:`Start a run to load the in-app preview.`},toolbar:{viewportPresetAriaLabel:`Preview viewport preset`,reloadAriaLabel:`Reload preview`,reloadTooltip:`Reload`,openNewTabAriaLabel:`Open preview in new tab`,openNewTabTooltip:`Open in new tab`,toggleSelectionAriaLabel:`Toggle preview selection mode`,stopRunAriaLabel:`Stop preview run`,stopping:`Stopping...`,stop:`Stop`,collapseAriaLabel:`Collapse preview`,collapseTooltip:`Collapse`,expandAriaLabel:`Expand preview`,expandTooltip:`Expand`,closeAriaLabel:`Close preview`,closeTooltip:`Close`}},chatView:{tool:{claude:`Claude`,opencode:`OpenCode`},mode:{plan:`Plan`,build:`Build`},placeholders:{plan:`Ask Archon to scope, sequence, or reason through project work`,build:`Ask Archon to build, change, or verify something in this project`},shortcuts:{modifierMac:`CMD`,modifierDefault:`CTRL`,startNewSession:`Start new session`,switchToPlan:`Switch to Plan`,switchToBuild:`Switch to Build`},user:{you:`You`},targets:{bundleFallback:`Bundle target`,repoRoot:`Repo root`,repoRootWithBranch:`Repo root ({{branch}})`,currentTarget:`current target`,selectedBundleTarget:`selected bundle target`},pendingMemorySuggestions_one:`{{count}} pending memory suggestion`,pendingMemorySuggestions_other:`{{count}} pending memory suggestions`,deleteSessionModal:{title:`Delete chat session`,bulkTitle:`Delete chat sessions`,description:`This permanently removes the transcript history for this chat session.`,bulkDescription_one:`This permanently removes the transcript history for {{count}} chat session.`,bulkDescription_other:`This permanently removes the transcript history for {{count}} chat sessions.`,cancel:`Cancel`,deleting:`Deleting...`,delete:`Delete`},sidebar:{ariaLabel:`Chat sessions sidebar`,newSession:`New session`,select:`Select`,cancelSelection:`Cancel`,selectedCount_one:`{{count}} selected`,selectedCount_other:`{{count}} selected`,deleteSelected:`Delete selected`,collapseAriaLabel:`Collapse sessions panel`,openAriaLabel:`Open sessions panel`,loadingSessions:`Loading chat sessions...`,noSessions:`No chat sessions yet.`,deleteDisabledReason:`Wait for the current chat response to finish before deleting this session.`,running:`Running`,interrupted:`Interrupted`,finished:`Finished`,targetUnavailable:`Target unavailable`,deleteSessionAriaLabel:`Delete chat session`,deleteSessionTitle:`Delete {{title}}`,selectSessionAriaLabel:`Select {{title}}`,selectSessionTitle:`Select {{title}}`},toasts:{deleteSelectedPartial_one:`Deleted {{deletedCount}} chat session, but {{failedCount}} failed.`,deleteSelectedPartial_other:`Deleted {{deletedCount}} chat sessions, but {{failedCount}} failed.`,deleteSelectedSuccess_one:`Deleted {{count}} chat session.`,deleteSelectedSuccess_other:`Deleted {{count}} chat sessions.`},ticketProposal:{createdTitle:`Tickets created`,createdDescription_one:`Created {{count}} ticket from this proposal.`,createdDescription_other:`Created {{count}} tickets from this proposal.`,proposedTitle:`Proposed tickets`,proposedDescription:`Review these tickets before adding them to the board.`,dependenciesLabel:`Dependencies: {{value}}`,creating:`Creating tickets...`,create:`Create tickets`,createdFromChat_one:`Created {{count}} ticket from chat.`,createdFromChat_other:`Created {{count}} tickets from chat.`},errors:{loadSessions:`Unable to load chat sessions right now.`,loadSession:`Unable to load the chat session right now.`,loadMemorySuggestions:`Unable to load chat memory suggestions right now.`,restoreTarget:`Unable to restore the chat target right now.`,updateMode:`Unable to update the chat mode right now.`,interruptResponse:`Unable to interrupt the chat response right now.`,deleteSession:`Unable to delete the chat session right now.`,sendPrompt:`Unable to send the chat prompt right now.`,createTickets:`Unable to create tickets from the chat proposal right now.`},composer:{newChatTitle:`New chat`,chatTitle:`Chat`,loadingMemory:`Loading memory...`,memorySuggestions:`Memory suggestions`,switchBack:`Switch back`,noSessionSelectedTitle:`No session selected`,noSessionSelectedDescription:`Select a chat session to restore its saved target, or start a new session on the current target.`,startNewSession:`Start new session`,loadingSession:`Loading chat session...`,openDiff:`Open diff`,resizeDiffPanel:`Resize diff panel`,diff:`Diff`,memorySuggestionsTitle:`Memory suggestions`,memorySuggestionsDescription:`Review pending suggestions from this chat before saving them into project memory.`,memorySuggestionsEmpty:`No pending memory suggestions for this chat session.`,closeMemorySuggestions:`Close memory suggestions`},review:{missingTarget:`Open or create a chat session to send review comments.`,unavailableTarget:`Target unavailable for this chat session.`,restoreTargetFallback:`Restore the session target to continue.`,waitTurn:`Wait for the current chat turn to finish before sending review comments.`,waitPrompt:`Wait for the current chat prompt to finish sending before submitting review comments.`,waitTurnShort:`Wait for the current chat turn to finish.`,mismatchReason:`This session targets {{sessionTarget}}, but the current target is {{currentTarget}}. Restore the session target to continue.`,interrupting:`Interrupting...`,interrupt:`Interrupt`}},conversationPane:{agentActivityAriaLabel:`Agent activity indicator`,agentWorkingSrText:`Agent is working`,statusWorking:`Working...`,statusInterrupted:`Interrupted`,loadingConversation:`Loading conversation...`,noMessagesYet:`No messages yet.`,showThinkingAriaLabel:`Show thinking`,showThinkingLabel:`Show thinking`,sectionAriaLabel:`Ticket conversation`,contentAriaLabel:`Ticket conversation content`},promptComposer:{followUpPromptAriaLabel:`Follow-up prompt`,sendingPromptAriaLabel:`Sending prompt`,sendPromptAriaLabel:`Send prompt`},workspaceControls:{changes:`Changes`,tests:`Tests`,openIde:`Open IDE`,terminal:`Terminal`,chat:`Chat`,close:`Close`,openTerminalAriaLabel:`Open terminal`,hideTerminalAriaLabel:`Hide terminal`,terminalTitle:`Terminal`,ticketMetadataAriaLabel:`Ticket metadata`},ticketModal:{loadingDiff:`Loading diff...`,planningChatAriaLabel:`Planning chat`,planningChatTitle:`Planning Chat`,closePlanningChatAriaLabel:`Close planning chat`,planningOpenQuestions_one:`{{count}} open question`,planningOpenQuestions_other:`{{count}} open questions`,planningFollowUpPlaceholder:`Ask the agent to refine this plan`,ticketChatAriaLabel:`Ticket chat`,ticketChatTitle:`Ticket Chat`,closeTicketChatAriaLabel:`Close ticket chat`,planningFailedPrefix:`Planning failed: `,openQuestionsBadge:`Open questions`,ticketTerminalAriaLabel:`Ticket terminal`,discardUnsavedTitle:`Discard unsaved edits?`,discardUnsavedDescription:`Any changes made will be lost.`,discardUnsavedConfirm:`Discard`,discardUnsavedCancel:`Keep editing`},bundleDetailsModal:{bundleTerminalAriaLabel:`Bundle terminal`},projectFooter:{detachedHead:`Detached HEAD`,unknownBranch:`Unknown branch`,pull:`Pull`,pulling:`Pulling...`,sync:`Sync`,syncing:`Syncing...`,run:`Run`,stop:`Stop`,selectProjectFirst:`Select a project first.`,addRunConfig:`Add a Run config in project settings to enable selected-target runs.`,loadingProjectStatus:`Loading project status...`,stopSelectedTargetRun:`Stop the currently running selected-target run before starting another run.`,stopTicketBeforeSelectedTargetRun:`Stop the currently running ticket before starting the selected target run.`},testsDialog:{status:{passed:`Passed`,failed:`Failed`,running:`Running`,error:`Error`,stopped:`Stopped`,idle:`Idle`},selection:{noRunYet:`No test run yet`,allTests:`All tests`},actions:{run:`Run`,stop:`Stop`},caseRow:{runAriaLabel:`Run {{name}}`},fileRow:{expandAriaLabel:`Expand {{path}}`,collapseAriaLabel:`Collapse {{path}}`,runAriaLabel:`Run {{path}}`,testCount_one:`{{count}} test`,testCount_other:`{{count}} tests`,noNamedTests:`No named tests were detected in this file.`},scope:{label:`Test scope`,selectedCommandAriaLabel:`Selected test command`,selectTestScope:`Select test scope`,fullSuiteOnlyNotice:`This scope supports full-suite runs only, so file and case selection is disabled.`},filter:{placeholder:`Filter`,ariaLabel:`Filter test cases`,clearAriaLabel:`Clear test case filter`},discovery:{noCommands:`No test commands are configured for this target yet.`,fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`,caseCount_one:`{{count}} test case`,caseCount_other:`{{count}} test cases`,noFilesDetected:`No JS or TS test files were detected for this target yet.`,noFilterMatches:`No test cases match this filter.`},summaryCounts:{failed:`failed`,passed:`passed`,filesFailed:`files failed`,filesPassed:`files passed`},output:{trimmed:`Output trimmed to recent logs`,ariaLabel:`Test output`,empty:`No test output yet.`},messages:{loadRunnerError:`Unable to load the test runner right now.`,discoverError:`Unable to discover tests right now.`,startError:`Unable to start the selected tests right now.`,stopError:`Unable to stop the test run right now.`},dialog:{srTitle:`Tests`,srDescription:`Run configured tests for the selected project target and discard the session when this dialog closes.`,title:`Tests`,preparingTarget:`Preparing target...`,closeAriaLabel:`Close modal`},closeConfirmation:{title:`Stop test run and close?`,description:`Closing the Tests dialog discards the current session and its output. Stop the active test run first?`,keepRunning:`Keep running`,stopAndClose:`Stop and close`}},planningAgentSidebar:{runStatus:{planning:`Planning...`,done:`Done`,failed:`Failed`},runSummary:{tickets:`{{count}} tickets`,dependencies:`{{count}} dependencies`,openQuestions_one:`{{count}} open question`,openQuestions_other:`{{count}} open questions`},actions:{planTickets:`Plan tickets`,openAriaLabel:`Open planning agent`,closeAriaLabel:`Close planning agent`,closePanelAriaLabel:`Close planning agent panel`,manageBundles:`Manage bundles`},tooltip:`Planning agent`,ariaLabel:`Planning agent sidebar`,title:`Planning agent`,description:`Turn a larger initiative into plan-stage tickets with dependencies and bundle context.`,descriptionLabel:`Description`,descriptionAriaLabel:`Planning description`,descriptionPlaceholder:`Describe the task, acceptance criteria, context...`,autoCreateBundle:`Auto-create bundle`,activeRuns:`Active planning runs`,recentRuns:`Recent runs`},reviewFollowUpBubble:{finding:`Finding {{count}}`,externalFix:`External fix {{count}}`,previewComment:`Preview comment {{count}}`,comment:`Comment {{count}}`,unknownTarget:`Unknown target`,textLabel:`Text`,hrefLabel:`Href`,srcLabel:`Src`,changedLineLabel:`Changed line`,selectedFixes:`Selected fixes`,fixCount_one:`{{count}} fix`,fixCount_other:`{{count}} fixes`,locationFile_one:`{{count}} file`,locationFile_other:`{{count}} files`,locationPage_one:`{{count}} page`,locationPage_other:`{{count}} pages`,locationTarget_one:`{{count}} target`,locationTarget_other:`{{count}} targets`,showRawPrompt:`Show raw prompt`,hideRawPrompt:`Hide raw prompt`,rawPrompt:`Raw prompt`},ticketStaticDescription:{ariaLabel:`Ticket description`,title:`Description`},ticketDependencyDetails:{blocksTitle:`Blocks`,buildReadinessAriaLabel:`Build readiness`,buildReadinessTitle:`Build readiness`,ready:`Ready`,blocked:`Blocked`,summaryReady:`All blockers have finished build.`,summaryBlocked_one:`{{count}} blocker is still waiting on build.`,summaryBlocked_other:`{{count}} blockers are still waiting on build.`,buildDone:`Build done`,waitingOnBuild:`Waiting on build`,remove:`Remove`,dependencyDetails:`Dependency details`,show:`Show`,hide:`Hide`,unknownTicket:`Unknown ticket`},ticketBuildChainPreview:{ariaLabel:`Build chain`,title:`Build chain`},runControl:{stopAriaLabel:`Stop`,stoppingAriaLabel:`Stopping run`,stoppingTitle:`Stopping run...`,stop:`Stop`,runAriaLabel:`Run`,startingAriaLabel:`Starting run`,startingTitle:`Starting run...`,run:`Run`,disabledReason:`Stop the currently running ticket before starting another run.`},ticketChangesCommitPanel:{title:`Commit selected files`,selectedFiles_one:`{{count}} file selected`,selectedFiles_other:`{{count}} files selected`,commitMessageAriaLabel:`Commit message`,commitMessagePlaceholder:`Commit message`,generateCommitMessageAriaLabel:`Generate commit message`,generating:`Generating...`,generate:`Generate`,committing:`Committing...`,commit:`Commit`},ticketChangesCommitsPanel:{triggerLabel:`Local commits`,description:`Review what will be pushed from this branch.`,loading:`Loading branch commits...`,undoing:`Undoing...`,undoLatestCommit:`Undo latest commit`},chatChangesPanel:{unknownFile:`Unknown file`,picker:{diff:`Diff`,file:`File`,allChanges:`All changes`,openChangedFilesAriaLabel:`Open changed files`,fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`,title:`Changed files`,allChangesDescription:`Review the full workspace diff.`},fileStatus:{modified:`Modified`,added:`Added`,deleted:`Deleted`,renamed:`Renamed`,untracked:`Untracked`,typechanged:`Type changed`,staged:`Staged`,unstaged:`Unstaged`,conflicted:`Conflicted`,renamedFrom:`from {{path}}`},errors:{loadDiff:`Unable to load the diff right now.`,sendChanges:`Unable to send the changes right now.`},toasts:{sendChangesSuccess:`Changes sent to chat.`},closeAriaLabel:`Close diff panel`,emptyStateTitle:`No uncommitted changes.`,emptyStateDescription:`The current project branch is clean.`},pendingFixesPopover:{triggerLabel:`Pending fixes`,title:`Pending fixes`,description:`Review selected comments and findings before sending them back to the agent.`,empty:`No pending fixes selected yet.`,manualCommentTitle:`Manual comment`,manualBadge:`Manual`,findingTitle:`Finding {{ordinal}}`,githubReviewSummary:`GitHub review summary`,githubReviewComment:`GitHub review comment`,clear:`Clear`,sending:`Sending...`,sendFixes:`Send fixes ({{count}})`,lineReference:{oldAndNew:`old {{oldLine}}, new {{newLine}}`,newOnly:`new {{newLine}}`,oldOnly:`old {{oldLine}}`,unavailable:`line unavailable`}},ticketChangesDiffPanel:{stats:{fileCount_one:`{{count}} file`,fileCount_other:`{{count}} files`},reviewComment:{manualBadge:`Manual`,commentOnLine:`Comment on line {{lineNumber}}`,addCommentToLine:`Add a comment to line {{lineNumber}}`,ariaLabel:`Review comment for {{filePath}}`,placeholder:`Add a review comment for this change`,edit:`Edit`,remove:`Remove`,add:`Add comment`,cancel:`Cancel`},lineReference:{oldAndNew:`old {{oldLine}}, new {{newLine}}`,newOnly:`new {{newLine}}`,oldOnly:`old {{oldLine}}`,unavailable:`line unavailable`},reviewFinding:{title:`Finding {{ordinal}}`,selected:`Selected`,fix:`Fix`,hideDetails:`Hide details`,details:`Details`,whyItMatters:`Why it matters`,requestedFix:`Requested fix`,sectionTitle:`Review findings`},githubComment:{badge:`GitHub`,reviewSummary:`Review summary`,fileComment:`File comment`,inlineComment:`Inline comment`,outdated:`Outdated`,openOnGitHub:`Open on GitHub`,sectionTitle:`GitHub review comments`},viewType:{unified:`Unified`,split:`Split`},header:{allChanges:`All changes`},states:{loading:`Loading diff...`,retry:`Retry`,emptyTitle:`No changes to show.`,noRenderableFileTitle:`No renderable diff for this file in the UI.`},fileBadge:{newFile:`New file`}}},projects:{modal:{dialogTitle:{create:`Add a repository to Archon`,edit:`Edit project settings`},dialogDescription:`Configure a project repository, setup commands, services, and IDE launch settings.`,header:{title:{create:`Add project`,edit:`Edit project settings`},description:{create:`Point Archon at a repository, then define only the behavior you want Archon to manage.`,edit:`Update how Archon prepares and opens worktrees for this repository.`},close:`Close modal`},navigation:{title:`Settings`,general:`General`,automation:`Automation`,services:`Services`,tests:`Tests`,sync:`Sync`,memory:`Memory`,integrations:`Integrations`,danger:`Danger Zone`,summary:{required:`Required`,configured:`Configured`,optional:`Optional`,none:`None`,enabled:`Enabled`,disabled:`Disabled`,loading:`Loading`,blocked:`Blocked`,ready:`Ready`,count:`{{count}}`,integrationsCount_one:`{{count}} enabled`,integrationsCount_other:`{{count}} enabled`}},sections:{general:{title:`General`,description:`Start with the repository Archon should use when it creates and manages worktrees for this project.`},automation:{title:`Automation`,description:`Configure helper defaults, setup behavior, and optional workflow rules Archon can apply to this project.`},services:{title:`Services`,description:`Add long-running commands that Archon should start automatically inside each worktree.`},tests:{title:`Tests`,description:`Store reusable test commands and let Archon detect JS and TS test files and cases for the selected target.`},sync:{title:`Sync`,description:`Define which local files Archon should copy or symlink into a worktree the first time it is created.`},memory:{title:`Memory`,description:`Turn project memory on or off and manage the saved context Archon keeps outside the repository.`},integrations:{title:`Integrations`,description:`Connect external systems that add richer context to planning, tickets, and pull requests for this project.`},danger:{title:`Danger Zone`,description:`Delete this project only after its tickets and worktrees are already gone. This action cannot be undone.`}},linkedProjects:{none:`No linked projects`,count_one:`{{count}} linked project`,count_other:`{{count}} linked projects`},repoPath:{initializable:`Archon will initialize this directory as a git repository when you create the project.`,invalid:`Repository path is not a valid git repository.`,validateFailed:`Unable to validate the repository path right now.`,browseFailed:`Unable to open the folder picker.`},autoConfig:{applied:`Auto-config applied.`,noop:`Auto-config found no empty fields to fill.`,failed:`Auto-config failed.`},validation:{projectNameRequired:`Project name is required.`,repositoryPathRequired:`Repository path is required.`,serviceCommandRequired:`A service command is required when a service row has values.`,syncSourceRequired:`A source path is required when a sync row has values.`,testCommandRequired:`A test command is required when a test row has values.`,previewServiceRequired:`Choose a named service before enabling preview.`},actions:{cancel:`Cancel`,createProject:`Create project`,createProjectBusy:`Creating...`,saveChanges:`Save changes`,saveChangesBusy:`Saving...`}},advanced:{summary:{none:`None`,configured:`Configured`,toolDefault:`Tool default`,default:`Default`,customRules:`Custom rules`,autoParkOn:`Auto-park on`,manualOnly:`Manual only`,disabled:`Disabled`,watching:`Watching {{name}}`,commandCount_one:`{{count}} command`,commandCount_other:`{{count}} commands`,serviceCount_one:`{{count}} service`,serviceCount_other:`{{count}} services`,ruleCount_one:`{{count}} rule`,ruleCount_other:`{{count}} rules`},autoConfigPanel:{badge:`Auto-config`,description:`Inspect the repo and fill any empty setup, service, or sync fields.`,note:`Existing values stay untouched. Uses helper model if set, otherwise the selected tool's default model.`,loading:`Inspecting repo...`,action:`Auto-config`},helperModel:{title:`Helper model`,description:`Set an optional OpenCode model for auto-config and other lightweight project tasks.`},commitMessages:{title:`Commit messages`,description:`Guide auto-generated commit subjects with a project-specific style or format.`,fieldLabel:`Commit message rules`,fieldDescription:`Optional. Example: Use Conventional Commits. Format: type(scope?): subject`,ariaLabel:`Commit message rules`,placeholder:`e.g. conventional commits`},linkedProjects:{title:`Linked projects`,description:`Let Archon inspect related repos during planning when extra context helps.`,noneAvailable:`No other projects are available to link yet.`,triggerAriaLabel:`Linked projects`,selectedNone:`None`,selectedCount:`{{count}} linked`},setupCommands:{title:`Setup commands`,description:`Run these for fresh worktrees before builds, and again before Archon starts manual worktree services.`,fieldLabel:`Setup commands`,fieldDescription:`One command per line.`,ariaLabel:`Setup commands`,placeholder:`pnpm install
42
+ pnpm db:generate`},ideCommand:{title:`IDE command`,description:`Open the worktree in your editor after services start.`,fieldLabel:`IDE command`,fieldDescription:`Optional command to launch your preferred IDE.`,ariaLabel:`IDE command`,placeholder:`code --reuse-window`},staleHandling:{title:`Stale handling`,description:`Stale means build or review is finished, the worktree is clean, and the branch has no unpushed commits.`,toggleLabel:`Move stale tickets to Done automatically`,toggleAriaLabel:`Auto-park stale tickets`},services:{title:`Services`,description:`Launch background processes from each worktree when tickets start.`,backgroundProcesses:`Background processes`,addService:`Add service`,empty:`No services yet. Add one if this project needs long-running processes in each worktree.`},preview:{title:`In-app preview`,description:`Choose which named service should provide the browser preview Archon embeds beside the board.`,previewServiceLabel:`Preview service`,previewServiceDescription:`Only named services can be selected for preview.`,previewServiceAriaLabel:`Preview service`,noPreviewService:`No preview service`,previewPathLabel:`Preview path`,previewPathDescription:`Optional path override such as / or /dashboard.`,previewPathAriaLabel:`Preview path`,previewPathPlaceholder:`/`,capabilityModeLabel:`Capability mode`,capabilityModeDescription:`Override the automatic preview capability detection when needed.`,capabilityModeAriaLabel:`Preview capability mode`,capabilityMode:{auto:`Auto detect`,forceWeb:`Force web`,forceDisabled:`Disable preview`}},tests:{title:`Test commands`,description:`Save reusable project-level test commands. File and case runs work best when the runner is set to Vitest or Jest.`,addCommand:`Add test command`,empty:`No test commands yet. Add one manually or use auto-config to seed a starting point.`},sync:{title:`Worktree sync`,description:`Copy or symlink files into a new worktree only the first time Archon creates it.`,addRule:`Add sync rule`,empty:`No sync rules yet. Add one for files like env or local config templates.`}},serviceRow:{title:`Service {{index}}`,description:`Runs from the worktree after setup completes.`,remove:`Remove`,fields:{nameLabel:`Name`,nameDescription:`Optional stable identifier used by preview selection.`,nameAriaLabel:`Service name {{index}}`,namePlaceholder:`web`,commandLabel:`Command`,commandAriaLabel:`Service command {{index}}`,commandPlaceholder:`npm run dev`,workingDirectoryLabel:`Working directory`,workingDirectoryDescription:`Relative to the worktree root.`,workingDirectoryAriaLabel:`Working directory {{index}}`,workingDirectoryPlaceholder:`client`}},testCommandRow:{title:`Test command {{index}}`,description:`Used by the Tests dialog for full-suite or per-file JS and TS runs.`,remove:`Remove`,fields:{nameLabel:`Name (optional)`,nameAriaLabel:`Test command name {{index}}`,namePlaceholder:`client tests`,commandLabel:`Command`,commandAriaLabel:`Test command {{index}}`,commandPlaceholder:`npm --prefix client test`,directoryLabel:`Directory`,directoryDescription:`Optional relative path inside the selected target.`,directoryAriaLabel:`Test command directory {{index}}`,directoryPlaceholder:`client`,runnerLabel:`Runner`,runnerDescription:`Controls file and case selection support.`,runnerAriaLabel:`Test command runner {{index}}`,runnerOptions:{auto:`Auto`,vitest:`Vitest`,jest:`Jest`,unknown:`Full suite only`}}},syncRow:{title:`Sync rule {{index}}`,description:`Applied only when Archon creates a worktree for the first time.`,remove:`Remove`,fields:{sourceLabel:`Source path`,sourceAriaLabel:`Sync source {{index}}`,sourcePlaceholder:`.env`,targetLabel:`Target path`,targetDescription:`Leave blank to reuse the source path.`,targetAriaLabel:`Sync target {{index}}`,targetPlaceholder:`.env.local`,modeLabel:`Mode`,modeAriaLabel:`Sync mode {{index}}`,modeOptions:{copy:`Copy`,symlink:`Symlink`}}},danger:{cardTitle:`Danger zone`,cardDescription:`Delete this project only after its tickets and worktrees are gone. This cannot be undone.`,deleteTitle:`Delete {{projectName}}`,deleteTitleFallback:`Delete this project`,deleteAvailable:`Delete is available because this project has no remaining tickets or worktrees.`,cancel:`Cancel`,deleteAction:`Delete project`,deleteBusy:`Deleting...`},integrations:{status:{connected:`Connected`,disconnected:`Disconnected`,error:`Error`},connectionMode:{directSummary:`API token`,ghSummary:`GitHub CLI`,directOption:`GitHub API token`,ghOption:`GitHub CLI (gh)`},card:{toggleAriaLabel:`Toggle {{title}} settings`,hide:`Hide`,show:`Show`},messages:{loadError:`Unable to load integrations right now.`,jiraSaveSuccess:`Jira settings saved.`,jiraConnectSuccess:`Jira connected.`,jiraConnectError:`Unable to connect Jira right now.`,jiraDisconnectSuccess:`Jira disconnected.`,jiraDisconnectError:`Unable to disconnect Jira right now.`,githubSaveSuccess:`GitHub settings saved.`,githubConnectSuccess:`GitHub connected.`,githubConnectError:`Unable to connect GitHub right now.`,githubDisconnectSuccess:`GitHub disconnected.`,githubDisconnectError:`Unable to disconnect GitHub right now.`},jira:{title:`Jira`,description:`Configure Jira imports and the additional issue fields Archon should include.`,connectedSummary:`Connected to {{baseUrl}} as {{email}}`,fields:{urlLabel:`Jira URL`,urlPlaceholder:`https://your-company.atlassian.net`,emailLabel:`Email`,emailPlaceholder:`name@company.com`,apiTokenLabel:`API token`,apiTokenPlaceholderConnected:`Leave blank to keep the current token`,apiTokenPlaceholderEmpty:`Paste a Jira API token`,additionalFieldsLabel:`Additional fields to include`,additionalFieldsDescription:`One Jira field name per line. Matching is case-insensitive. Example: Acceptance Criteria`,additionalFieldsPlaceholder:`Acceptance Criteria
43
+ Definition of Done`},actions:{disconnecting:`Disconnecting...`,disconnect:`Disconnect`,saving:`Saving...`,save:`Save`,connect:`Connect Jira`}},github:{title:`GitHub`,description:`Configure GitHub pull request tracking and an optional default base branch override.`,connectedSummary:`Connected to {{repoOwner}}/{{repoName}} on {{host}} via {{mode}}`,fields:{connectionMethodLabel:`Connection method`,connectionMethodDescription:`Use a token stored by Archon, or use the authenticated gh CLI where the Archon server runs.`,defaultBaseBranchLabel:`Default base branch`,defaultBaseBranchDescription:`Optional override for new pull requests. Leave blank to use the repository default branch.`,defaultBaseBranchPlaceholder:`main`,apiTokenLabel:`GitHub API token`,apiTokenDescription:`Use a GitHub personal access token for API access.`,apiTokenPlaceholderConnected:`Leave blank to keep the current token`,apiTokenPlaceholderEmpty:`Paste a GitHub API token`},ghNotice:`Archon will run gh api from the server process. Run gh auth login in the same environment that starts Archon before connecting.`,actions:{disconnecting:`Disconnecting...`,disconnect:`Disconnect`,saving:`Saving...`,save:`Save`,connect:`Connect GitHub`}}},memory:{stageLabels:{plan:`Plan`,build:`Build`,review:`Review`,follow_up:`Follow-up`,plan_follow_up:`Plan follow-up`,chat:`Chat`},priorityLabels:{critical:`Critical`,normal:`Normal`,low:`Low`},injectionModeLabels:{always:`Always include`,relevant:`Only when relevant`},savedStateLabels:{superseded:`Superseded`,archived:`Archived`,active:`Active`},scanStatus:{notScanned:`Not scanned`,pending:`Pending`,running:`Running`,done:`Done`,error:`Error`},import:{noTitleConflicts:`No title conflicts.`,titleConflictCount_one:`{{count}} title conflict skipped.`,titleConflictCount_other:`{{count}} title conflicts skipped.`,readFileError:`Unable to read the selected file.`},artifact:{openAriaLabel:`Open scan artifact {{title}}`,emptyNotes:`No generated notes in this artifact yet.`},editor:{typeLabel:`Memory type`,typeAriaLabel:`Memory type`,decision:`Decision`,convention:`Convention`,titleLabel:`Title`,titleAriaLabel:`Memory title`,titlePlaceholderDecision:`Chat auto-scroll behavior`,titlePlaceholderConvention:`React change style`,scopeLabel:`Scope`,scopeDescription:`Optional`,scopeAriaLabel:`Memory scope`,scopePlaceholderDecision:`chat ui`,scopePlaceholderConvention:`react ui`,contentLabel:`Content`,contentAriaLabel:`Memory content`,contentPlaceholderDecision:`The chat should automatically scroll to the newest message by default.`,contentPlaceholderConvention:`Prefer extending existing component patterns instead of adding new abstraction layers for small UI changes.`,rationaleLabel:`Rationale`,rationaleDescription:`Optional`,rationaleAriaLabel:`Memory rationale`,rationalePlaceholderDecision:`The product is optimized for live agent output.`,rationalePlaceholderConvention:`This repo favors small local edits and consistent UI patterns.`,priorityLabel:`Priority`,priorityAriaLabel:`Memory priority`,injectionModeLabel:`Injection mode`,injectionModeAriaLabel:`Convention injection mode`,stagesLabel:`Stages`,stagesDescription:`Optional stage filter`,implicationsLabel:`Implications`,implicationsDescription:`Optional, one per line`,implicationsAriaLabel:`Memory implications`,implicationsPlaceholder:`Preserve default bottom-follow behavior on new messages`,cancel:`Cancel`,saving:`Saving...`},suggested:{badge:`Suggested {{kind}}`,duplicateBadge:`Possible duplicate`,review:`Review`,saveAsNewDecision:`Save as new decision`,accept:`Accept`,acceptAs:`Accept as {{kind}}`,dismiss:`Dismiss`,dismissKind:`Dismiss {{kind}}`,reviewDescription:`Review this suggested {{kind}} before saving it into project memory.`,duplicateTitle:`Possible duplicate`,decision:`Decision`,instruction:`Instruction`,scope:`Scope:`,why:`Why:`,implications:`Implications:`,implicationsMultiline:`Implications (one per line)`,stages:`Stages:`,stagesMultiline:`Stages (comma or newline separated)`,priority:`Priority:`,injection:`Injection:`,noneSpecified:`None specified`,close:`Close`,edit:`Edit`,cancelEdits:`Cancel edits`,updateExistingDecision:`Update existing decision`},ticketPanel:{title:`Project memory`,loadingBadge:`Loading`,scanStaleBadge:`Scan stale`,summaryLoading:`Loading saved project memory for this ticket.`,summarySaved:`Saved decisions, conventions and generated context`,summaryEmpty:`No saved project memory yet. Suggestions will still appear here when Archon finds them.`,decisionCount_one:`{{count}} decision`,decisionCount_other:`{{count}} decisions`,conventionCount_one:`{{count}} convention`,conventionCount_other:`{{count}} conventions`,scanCount_one:`{{count}} scan`,scanCount_other:`{{count}} scans`,viewDetails:`View details`,suggestionsTitle:`Memory suggestions ({{count}})`,suggestionsDescription:`Review before saving`,dialogDescription:`Review the saved project context Archon can use while working on this ticket.`,decisionsTab:`Decisions`,conventionsTab:`Conventions`,generatedContextTab:`Generated context`,loading:`Loading project memory...`,noAcceptedDecisions:`No accepted decisions saved yet.`,noConventions:`No conventions saved yet.`,generatedContextStaleWarning:`Generated scan context may be outdated relative to the current repo HEAD.`,architecture:`Architecture:`,relevantAreas:`Relevant areas`,noRelevantAreas:`No relevant areas were captured in the latest scan.`,noGeneratedContext:`No generated context saved yet.`},messages:{loadError:`Unable to load project memory right now.`,refreshContextError:`Unable to refresh project context right now.`,saveError:`Unable to save the project memory right now.`,noExistingDecision:`No existing decision is available for this suggestion.`,onlyDecisionSuggestionsCanUpdate:`Only decision suggestions can update an existing memory.`,saveSuggestionError:`Unable to save the memory suggestion right now.`,dismissSuggestionError:`Unable to dismiss the memory suggestion right now.`,archiveConventionError:`Unable to archive the project convention right now.`,restoreConventionError:`Unable to restore the project convention right now.`,archiveDecisionError:`Unable to archive the project decision right now.`,supersedeDecisionError:`Unable to supersede the project decision right now.`,restoreDecisionError:`Unable to restore the project decision right now.`,scanStarted:`Project context scan started.`,scanConflict:`A project context scan is already active for this project.`,scanStartError:`Unable to start the project context scan right now.`,exportSuccess:`Project memory exported.`,exportError:`Unable to export project memory right now.`,importSuccess:`Project memory imported.`,importError:`Unable to import project memory right now.`},transfer:{title:`Memory transfer`,description:`Export or import one Archon JSON archive for this project's saved conventions, decisions, and generated scan history.`,createProjectFirst:`Create the project first to export or import a memory archive.`,exporting:`Exporting...`,export:`Export`,importing:`Importing...`,import:`Import`,importAriaLabel:`Import project memory JSON`,importedConventions:`Imported {{imported}} conventions, skipped {{skipped}}`,importedDecisions:`Imported {{imported}} decisions, skipped {{skipped}}`,importedScans:`Imported {{imported}} scans, skipped {{skipped}}`,importedArtifacts:`Imported {{imported}} artifacts, skipped {{skipped}}`},archive:{scanning:`Scanning`,scanNow:`Scan now`,disabledNote:`Enable project memory to manage conventions, accepted decisions, and prompt context for this project.`,createNote:`Create the project first, then reopen settings to add conventions and decisions.`,saveFirstNote:`Save these settings to enable project memory, then reopen settings to manage conventions, accepted decisions, and manual scans.`,generatedContext:`Generated context`,scanArchive:`Scan archive`,loadingLatestScanStatus:`Loading latest scan status...`,noScanYet:`No scan yet. Run a manual scan when you want Archon to capture compact project context from the repository.`,stale:`Stale`,staleWarning:`The repository HEAD has changed since the latest successful scan. Generated context may be outdated.`,scanArtifactsCount:`Scan artifacts ({{count}})`,updating:`Updating`,noScanArtifactsYet:`No scan artifacts yet.`,memoryLabel:`Memory`,memoriesTitle:`Memories`,summaryMemories:`Memories`,summarySuggested:`Suggested`,summarySaved:`Saved`,suggestedMemoriesTitle:`Suggested memories`,itemsCount_one:`{{count}} item`,itemsCount_other:`{{count}} items`,stageCount_one:`{{count}} stage`,stageCount_other:`{{count}} stages`,loadingSuggestedMemories:`Loading suggested memories...`,noSuggestedMemories:`No suggested memories right now.`,savedMemoriesTitle:`Saved memories`,showArchivedAriaLabel:`Show archived memories`,showArchivedLabel:`Show archived`,newMemory:`New memory`,loadingSavedMemories:`Loading saved memories...`,openMemoryAriaLabel:`Open {{kind}} {{title}}`,noSavedMemories:`No saved memories yet.`,editMemory:`Edit memory`,createMemory:`Create memory`,editorDescription:`Keep the memory concise and durable so future work can reuse it without cleanup.`,saveMemory:`Save memory`,archive:`Archive`,restore:`Restore`,supersede:`Supersede`,scanArchiveDialogTitle:`Scan archive`,scanArchiveDialogDescription:`Read-only generated context.`},activation:{title:`Enable project memory`,description:`Memory stays in Archon, not in the target repository. When disabled, Archon preserves saved items but stops injecting them into prompts.`,ariaLabel:`Enable project memory`}},basics:{cardTitle:`Project details`,cardDescription:`Start with the repo Archon should use for new worktrees.`,requiredBadge:`Required`,fields:{projectName:{label:`Project name`,description:`Shown in the project switcher.`,ariaLabel:`Project name`,placeholder:`Platform API`},repositoryPath:{label:`Repository path`,defaultDescription:`Select a git repository.`,ariaLabel:`Repository path`,placeholder:`/Users/you/code/platform-api`,browse:`Browse`,opening:`Opening...`}},repoPathStatus:{checking:{ariaLabel:`Repository path status: checking`,title:`Checking repository path`},valid:{ariaLabel:`Repository path status: valid`,title:`Valid git repository path`},initializable:{ariaLabel:`Repository path status: initializable`},invalid:{ariaLabel:`Repository path status: invalid`}}}}}},Yc=Object.keys(Jc.en),Xc=B;Xc.use(Ee).init({resources:Jc,lng:`en`,fallbackLng:`en`,defaultNS:qc,ns:Yc,supportedLngs:[`en`],interpolation:{escapeValue:!1},initAsync:!1,returnNull:!1,react:{useSuspense:!1}});var Zc=wt(`inline-flex w-fit shrink-0 items-center justify-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-medium whitespace-nowrap transition-colors [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`border-primary/30 bg-primary/15 text-primary-foreground`,secondary:`border-border bg-secondary text-secondary-foreground`,destructive:`border-red-500/25 bg-destructive/15 text-red-200`,success:`border-emerald-500/25 bg-emerald-500/12 text-emerald-200`,warning:`border-amber-500/25 bg-amber-500/12 text-amber-200`,info:`border-sky-500/25 bg-sky-500/12 text-sky-200`,outline:`border-border bg-card text-muted-foreground`,ghost:`border-transparent bg-transparent text-muted-foreground`,hotkeyDark:`border-black/25 bg-transparent text-[#07130d]/75`,link:`border-transparent px-0 text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}}),Qc=({className:e,variant:t=`default`,asChild:n=!1,...r})=>(0,U.jsx)(n?Ot:`span`,{"data-slot":`badge`,"data-variant":t,className:Dc(Zc({variant:t}),e),...r});export{Ve as $,qt as A,V as At,jt as B,r as Bt,Ln as C,ze as Ct,nn as D,Fe as Dt,dn as E,qe as Et,It as F,Me as Ft,_t as G,W as H,Lt as I,H as It,Ke as J,st as K,G as L,Te as Lt,Vt as M,je as Mt,Bt as N,Ae as Nt,tn as O,De as Ot,zt as P,ke as Pt,at as Q,Ft as R,Se as Rt,qr as S,it as St,Sn as T,We as Tt,wt as U,Et as V,ht as W,Re as X,tt as Y,Be as Z,Io as _,Xe as _t,Wc as a,Ze as at,ri as b,lt as bt,Bc as c,pt as ct,Dc as d,ft as dt,gt as et,is as f,Je as ft,Lo as g,He as gt,Fo as h,Le as ht,Gc as i,ut as it,Ut as j,Ne as jt,$t as k,Oe as kt,zc as l,yt as lt,Go as m,mt,Xc as n,nt,Uc as o,et as ot,rs as p,Qe as pt,Ge as q,Kc as r,Ye as rt,Hc as s,$e as st,Qc as t,vt as tt,kc as u,Ue as ut,Po as v,rt as vt,Fn as w,ot as wt,ni as x,dt as xt,vo as y,ct as yt,Dt as z,a as zt};