diff --git a/internal/webapp/frontend/e2e/hub.spec.ts b/internal/webapp/frontend/e2e/hub.spec.ts index ff14cd6..35c826b 100644 --- a/internal/webapp/frontend/e2e/hub.spec.ts +++ b/internal/webapp/frontend/e2e/hub.spec.ts @@ -91,3 +91,15 @@ test("new project via the sidebar + modal", async ({ page }) => { await expect(page.locator("#project-select option")).toContainText(["scratch", "wiki"]); await expectToast(page, "Created"); }); + +test("account menu closes on Escape and outside click", async ({ page }) => { + await login(page); + await page.click("#account-btn"); + await expect(page.locator("#account-menu")).toBeVisible(); + await page.keyboard.press("Escape"); + await expect(page.locator("#account-menu")).toHaveCount(0); + await page.click("#account-btn"); + await expect(page.locator("#account-menu")).toBeVisible(); + await page.click("#content", { position: { x: 10, y: 10 } }); + await expect(page.locator("#account-menu")).toHaveCount(0); +}); diff --git a/internal/webapp/frontend/src/components/AccountBar.tsx b/internal/webapp/frontend/src/components/AccountBar.tsx index e08deed..535a26c 100644 --- a/internal/webapp/frontend/src/components/AccountBar.tsx +++ b/internal/webapp/frontend/src/components/AccountBar.tsx @@ -1,11 +1,18 @@ -import { useEffect, useRef, useState } from "react"; import type { Org } from "../api/types"; import { Icon } from "./shell"; import { projColor } from "./ProjectNav"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; // The sidebar footer is the account row: avatar, name, email. Clicking it -// opens a popover with the workspace (org) and account actions — settings, -// hub administration for admins, and sign-out. +// opens a menu with the workspace (org) and account actions — settings, +// hub administration for admins, and sign-out. Radix owns open/dismiss +// behavior (Escape, outside click, focus). export function AccountBar({ me, org, @@ -17,86 +24,52 @@ export function AccountBar({ admin?: { pending: number; onClick: () => void }; // hub admins only onOrgSettings: (org: Org) => void; }) { - const [open, setOpen] = useState(false); - const ref = useRef(null); - - useEffect(() => { - if (!open) return; - const onDown = (e: MouseEvent) => { - if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false); - }; - const onKey = (e: KeyboardEvent) => { - if (e.key === "Escape") setOpen(false); - }; - document.addEventListener("mousedown", onDown); - document.addEventListener("keydown", onKey); - return () => { - document.removeEventListener("mousedown", onDown); - document.removeEventListener("keydown", onKey); - }; - }, [open]); - const display = me.name || me.email; return ( - ); } diff --git a/internal/webapp/frontend/src/style.css b/internal/webapp/frontend/src/style.css index b0800ae..c1d3cdf 100644 --- a/internal/webapp/frontend/src/style.css +++ b/internal/webapp/frontend/src/style.css @@ -177,11 +177,13 @@ button, input, a.btn { font-family: inherit; } #account-btn .acct small { font-size: 11px; color: var(--text-ghost); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #account-btn > .ico { width: 14px; height: 14px; color: var(--text-ghost); } #account-menu { - position: absolute; left: 10px; right: 10px; bottom: calc(100% + 4px); + min-width: var(--radix-dropdown-menu-trigger-width, 220px); padding: 5px; border: 1px solid var(--border-2); border-radius: 9px; - background: var(--surface); box-shadow: 0 10px 32px rgba(0, 0, 0, .35); - display: flex; flex-direction: column; z-index: 30; + background: var(--bg-raise); box-shadow: 0 10px 32px rgba(0, 0, 0, .35); + display: flex; flex-direction: column; z-index: 80; outline: none; } +#account-menu [role="menuitem"] { outline: none; } +#account-menu [role="menuitem"][data-highlighted] { background: var(--hover); color: var(--text); } #account-menu .menu-sec { padding: 7px 9px 3px; font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--text-ghost); diff --git a/internal/webapp/static/assets/index-CGscFs1l.css b/internal/webapp/static/assets/index-BFnn1reh.css similarity index 61% rename from internal/webapp/static/assets/index-CGscFs1l.css rename to internal/webapp/static/assets/index-BFnn1reh.css index de8a436..fed9791 100644 --- a/internal/webapp/static/assets/index-CGscFs1l.css +++ b/internal/webapp/static/assets/index-BFnn1reh.css @@ -1 +1 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#d3861a}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#d3861a80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{width:22px;height:22px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:13px;line-height:1;background:linear-gradient(160deg,#ffcf85,#f5a623 55%,#d3861a);box-shadow:0 1px #ffffff59 inset,0 2px 6px -1px #f5a62366}#vault-name{font-weight:600;font-size:13px;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}#tree ul{list-style:none;margin:0;padding-left:13px;position:relative}#tree>ul{padding-left:0}#tree ul ul:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--border)}#tree li>.row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree li>.row:hover{background:var(--hover);color:var(--text)}#tree li>.row.active{background:var(--glow);color:var(--accent-bright)}#tree li>.row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree li>.row:hover .ticon,#tree li>.row:hover .chev{color:var(--text-faint)}#tree li>.row.active .ticon,#tree li>.row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree li.collapsed>ul{display:none}#tree li.collapsed>.row .chev{transform:rotate(-90deg)}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}.proj-select-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.proj-select-wrap .proj-mark{position:absolute;left:9px;pointer-events:none}.proj-select-wrap>.ico{position:absolute;right:8px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}#project-select{flex:1;min-width:0;height:30px;padding:0 26px 0 30px;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{position:absolute;left:10px;right:10px;bottom:calc(100% + 4px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--surface);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:30}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-ghost)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu #signout{color:var(--danger, #e5534b)}#account-menu #signout:hover{color:var(--danger, #e5534b);background:var(--hover)}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.empty{color:var(--text-faint);text-align:center;margin-top:22vh}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-ghost)}.onboard{max-width:560px;margin:8vh auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-row{display:flex;gap:9px}.ob-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.ob-row input:focus{border-color:var(--accent);background:var(--hover)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}.admin{max-width:760px}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost);font-weight:600;margin:30px 0 10px}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:0 0 6px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:#ffffff04}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:none}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.ai-del{color:var(--del);border-color:transparent;background:transparent}.ai-del:hover{background:#f26d6d1f;color:#ff8b8b}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{width:16px;height:16px;margin-top:2px;accent-color:var(--accent);flex:none}.dirlist{max-width:704px;margin:0 auto}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}.guide{max-width:760px;margin:0 auto}.gd-tabs{display:flex;gap:2px;margin:20px 0 16px;border-bottom:1px solid var(--border);overflow-x:auto}.gd-tab{font:inherit;font-size:13px;font-weight:600;padding:7px 12px 9px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-faint);cursor:pointer;white-space:nowrap}.gd-tab:hover{color:var(--text)}.gd-tab.active{color:var(--accent-bright);border-bottom-color:var(--accent)}.gd-step{margin:0 0 18px}.gd-step-head{display:flex;align-items:center;gap:10px;margin-bottom:3px}.gd-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--glow);color:var(--accent-bright);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.gd-step-title{font-weight:600;font-size:14px;color:var(--text)}.gd-desc{margin:2px 0 8px 32px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-extra{font-size:12.5px;margin-top:6px}.gd-code{position:relative;margin:6px 0 6px 32px;padding:10px 72px 10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text);overflow-x:auto;white-space:pre}.gd-copy{position:absolute;top:7px;right:7px;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer;box-shadow:-14px 0 12px -6px var(--bg-raise)}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-done{margin:22px 0 8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);color:var(--text-faint);font-size:13px;line-height:1.5}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.insights{max-width:760px;margin:0 auto}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.history{max-width:860px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border)}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{display:inline-flex;color:var(--add)}.hkind .ico{width:13px;height:13px}.hentry.edit .hkind{color:var(--accent)}.hentry.delete .hkind{color:var(--del)}.htag{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:1px 6px;border-radius:4px}.hentry.add .htag{color:var(--add);background:#4cc38a1f}.hentry.edit .htag{color:var(--accent-bright);background:var(--glow)}.hentry.delete .htag{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:23px;font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:23px;font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"› ";color:var(--text-ghost)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}#palette-overlay{position:fixed;inset:0;background:#0607099e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:100}#palette{width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette-input{flex:1;width:100%;border:none;background:transparent;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette-input::placeholder{color:var(--text-ghost)}#palette-results{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette-results li{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette-results li.selected{background:var(--glow)}#palette-results li.selected .picon{color:var(--accent)}#palette-results li.selected .plabel,#palette-results li.selected .plabel b{color:var(--accent-bright)}#palette-results li .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette-results li .picon .ico{width:15px;height:15px}#palette-results li .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette-results li .plabel b{color:var(--accent-bright);font-weight:600}#palette-results li .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette-results .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}.modal-back{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:150;padding:20px}.modal{background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,100%);box-shadow:0 24px 70px -18px #000c}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree li>.row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown,.admin,.onboard,.history,.dirlist{max-width:100%}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.ob-row{flex-direction:column}.ob-row input{flex:none;min-height:44px}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select{height:44px}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:break-word}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button,.pbtn,#palette-results li{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-meta{display:none}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.modal-actions .ai-del{flex:0 0 100%}}.markdown{max-width:704px;width:100%;margin:0 auto}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown input[type=checkbox]{accent-color:var(--accent)}.htmlview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:12vh;text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere;max-width:900px}#content.markdown{min-width:0}.filecard{margin-top:15vh;text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:#0a0b0d;--color-foreground:#eef0f3;--color-popover:#15171b;--color-popover-foreground:#eef0f3;--color-primary:#f5a623;--color-primary-foreground:#1a1204;--color-secondary:#ffffff08;--color-secondary-foreground:#eef0f3;--color-muted:#ffffff0f;--color-muted-foreground:#9aa0a9;--color-accent:#ffffff0f;--color-accent-foreground:#eef0f3;--color-destructive:#f26d6d;--color-border:#ffffff12;--color-input:#ffffff1c;--color-ring:#d3861a}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:var(--color-input)}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-destructive{background-color:var(--color-destructive)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/50{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:#f26d6de6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#f5a623e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#d3861a80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--color-accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#f26d6d1a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-input)}.dark\:bg-destructive\/60{background-color:#f26d6d99}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#ffffff0e}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#f26d6d66}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#f26d6d33}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--color-muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{--bg: #0a0b0d;--bg-side: #0c0e10;--bg-raise: #15171b;--surface: rgba(255,255,255,.03);--hover: rgba(255,255,255,.06);--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.11);--code-bg: #0d0f12;--text: #eef0f3;--text-dim: #9aa0a9;--text-faint: #868b93;--text-ghost: #666b74;--accent: #f5a623;--accent-bright: #ffcf85;--accent-dim: #d3861a;--accent-press: #e0951a;--glow: rgba(245,166,35,.13);--add: #4cc38a;--del: #f26d6d;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--r-ctl: 7px;--r-card: 10px;--r-over: 14px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}#root{display:contents}body{display:flex;background:var(--bg);color:var(--text);font:13px/1.5 var(--ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--glow);color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}.sprite{position:absolute}.ico{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button,input,a.btn{font-family:inherit}#sidebar{width:264px;min-width:210px;background:var(--bg-side);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}#vault{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px 0 14px;border-bottom:1px solid var(--border);position:relative;z-index:45}#vault-badge{width:22px;height:22px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:13px;line-height:1;background:linear-gradient(160deg,#ffcf85,#f5a623 55%,#d3861a);box-shadow:0 1px #ffffff59 inset,0 2px 6px -1px #f5a62366}#vault-name{font-weight:600;font-size:13px;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-actions{display:flex;align-items:center;gap:4px}#vault #signout,.icon-btn2{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;text-decoration:none}#vault #signout:hover,.icon-btn2:hover{color:var(--text);background:var(--hover)}#vault #signout .ico,.icon-btn2 .ico{width:16px;height:16px}#projects{flex:none;max-height:32%;overflow-y:auto;padding:10px 8px 8px;border-bottom:1px solid var(--border)}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost)}.nav-add{display:grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;border-radius:5px}.nav-add .ico{width:14px;height:14px}.nav-add:hover{color:var(--text);background:var(--hover)}#projects ul{list-style:none;margin:0;padding:0}#projects .row{display:flex;align-items:center;gap:9px;height:31px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}.proj-mark{width:17px;height:17px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0b0d;letter-spacing:-.02em;text-transform:uppercase}#projects .row .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#projects .row:hover{background:var(--hover);color:var(--text)}#projects .row.active{background:var(--glow);color:var(--accent-bright)}#projects .row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}#tree{flex:1;overflow-y:auto;padding:8px 8px 24px}#tree ul{list-style:none;margin:0;padding-left:13px;position:relative}#tree>ul{padding-left:0}#tree ul ul:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--border)}#tree li>.row{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:7px;color:var(--text-dim);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden}#tree li>.row:hover{background:var(--hover);color:var(--text)}#tree li>.row.active{background:var(--glow);color:var(--accent-bright)}#tree li>.row.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--accent)}#tree .chev{width:14px;height:14px;flex:none;color:var(--text-ghost);transition:transform .12s;display:flex;align-items:center;justify-content:center}#tree .chev .ico{width:13px;height:13px}#tree .ticon{flex:none;display:flex;color:var(--text-ghost)}#tree .ticon .ico{width:15px;height:15px}#tree li>.row:hover .ticon,#tree li>.row:hover .chev{color:var(--text-faint)}#tree li>.row.active .ticon,#tree li>.row.active .chev{color:var(--accent)}#tree .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}#tree .file .label{font-size:12.5px}#tree .file .chev{visibility:hidden}#tree li.collapsed>ul{display:none}#tree li.collapsed>.row .chev{transform:rotate(-90deg)}.nav-menu{list-style:none;margin:6px 0 0;padding:0}.nav-menu .row .ico{width:15px;height:15px;flex:none;color:var(--text-ghost)}.nav-menu .row.active .ico{color:var(--accent-bright)}.proj-row{display:flex;align-items:center;gap:4px;padding:0 10px 4px 12px}.proj-select-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.proj-select-wrap .proj-mark{position:absolute;left:9px;pointer-events:none}.proj-select-wrap>.ico{position:absolute;right:8px;width:14px;height:14px;color:var(--text-ghost);pointer-events:none}#project-select{flex:1;min-width:0;height:30px;padding:0 26px 0 30px;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#project-select:hover{background:var(--hover);border-color:var(--border-2)}#accountbar{position:relative;border-top:1px solid var(--border);padding:7px 10px}#account-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:6px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit}#account-btn:hover{background:var(--hover);color:var(--text)}#account-btn .avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}#account-btn .acct{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#account-btn .acct b{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn .acct small{font-size:11px;color:var(--text-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#account-btn>.ico{width:14px;height:14px;color:var(--text-ghost)}#account-menu{min-width:var(--radix-dropdown-menu-trigger-width, 220px);padding:5px;border:1px solid var(--border-2);border-radius:9px;background:var(--bg-raise);box-shadow:0 10px 32px #00000059;display:flex;flex-direction:column;z-index:80;outline:none}#account-menu [role=menuitem]{outline:none}#account-menu [role=menuitem][data-highlighted]{background:var(--hover);color:var(--text)}#account-menu .menu-sec{padding:7px 9px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-ghost)}#account-menu [role=menuitem]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:6px;background:transparent;text-align:left;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}#account-menu [role=menuitem]:hover{background:var(--hover);color:var(--text)}#account-menu [role=menuitem] b{font-weight:600}#account-menu [role=menuitem] .ico{width:15px;height:15px}#account-menu #signout{color:var(--danger, #e5534b)}#account-menu #signout:hover{color:var(--danger, #e5534b);background:var(--hover)}#main{flex:1;display:flex;flex-direction:column;min-width:0}#topbar{position:relative;display:flex;align-items:center;gap:9px;height:52px;padding:0 16px;border-bottom:1px solid var(--border)}.icon-btn{display:none;width:34px;height:34px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:7px;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text);background:var(--hover)}#crumb{font-size:12.5px;color:var(--text);font-weight:500;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#crumb .crumb-seg{color:var(--text-dim);cursor:pointer}#crumb .crumb-seg:hover{color:var(--accent-bright)}#crumb .crumb-sep{color:var(--text-ghost);margin:0 5px}#meta{flex:1;min-width:0;font-size:12px;color:var(--text-faint);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 11px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.btn .ico{width:15px;height:15px}.btn.ghost{color:var(--text-dim)}.tipcard{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-solid, var(--bg-raise));color:var(--text);font-size:12.5px;font-weight:500;box-shadow:0 8px 24px #00000059;z-index:80}.tipcard kbd{font:11px var(--ui);color:var(--text-faint);background:var(--hover);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}#more-menu{position:absolute;right:12px;top:calc(100% - 4px);z-index:80;background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-card);box-shadow:0 18px 44px -14px #000000bf;padding:6px;min-width:168px}.more-item{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit;font-size:13.5px;border-radius:var(--r-ctl)}.more-item:hover{background:var(--hover)}#content{flex:1;overflow-y:auto;padding:44px 40px 110px;scroll-behavior:smooth}.empty{color:var(--text-faint);text-align:center;margin-top:22vh}.empty-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-ghost)}.onboard{max-width:560px;margin:8vh auto 0}.onboard h1{font-size:25px;font-weight:640;letter-spacing:-.02em;margin:0 0 8px;color:#f4f6f9}.onboard>p{color:var(--text-dim);margin:0 0 28px;font-size:14px}.ob-card{background:var(--bg-side);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 22px;margin-bottom:14px}.ob-card h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.ob-card p{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.ob-row{display:flex;gap:9px}.ob-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.ob-row input:focus{border-color:var(--accent);background:var(--hover)}.pbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:var(--accent);color:#241704;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.pbtn:hover{background:var(--accent-bright)}.pbtn .ico{width:15px;height:15px}.danger-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-ctl);border:none;background:#b3382e;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.danger-btn:hover{background:#c94336}.admin{max-width:760px}.admin h1{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 6px;color:#f4f6f9}.admin h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost);font-weight:600;margin:30px 0 10px}.admin-sub{color:var(--text-dim);font-size:13.5px;margin:0 0 6px;line-height:1.55}.admin-h{display:flex;align-items:center;justify-content:space-between;margin:30px 0 10px}.admin-h h3{margin:0}.admin-row{display:flex;gap:9px;margin-bottom:8px}.admin-row input{flex:1;height:34px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;outline:none}.admin-row input:focus{border-color:var(--accent);background:var(--hover)}.admin-list{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.admin-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.admin-item:last-child{border-bottom:none}.admin-item:hover{background:#ffffff04}.ai-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.ai-main.mono{font:12px var(--mono);color:var(--text-dim);cursor:pointer}.ai-tag{font-size:11.5px;color:var(--text-faint);flex:none}.admin-item select{height:28px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 8px;font:inherit;font-size:12.5px;cursor:pointer}.admin-item select:hover{border-color:var(--border-2)}.ai-btn,.ai-del{flex:none;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ai-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border-2)}.ai-del{color:var(--del);border-color:transparent;background:transparent}.ai-del:hover{background:#f26d6d1f;color:#ff8b8b}.admin-empty{padding:14px;color:var(--text-faint);font-size:13px}.admin-item.toggle{cursor:pointer;align-items:flex-start}.admin-item.toggle .ai-main{white-space:normal}.tg-label{font-size:13.5px;font-weight:550;color:var(--text)}.tg-desc{font-size:12px;color:var(--text-faint);margin-top:3px;line-height:1.5}.admin-item.toggle input{width:16px;height:16px;margin-top:2px;accent-color:var(--accent);flex:none}.dirlist{max-width:704px;margin:0 auto}.dl-title{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.dl-title-icon{display:flex;color:var(--accent)}.dl-title-icon .ico{width:20px;height:20px}.dl-sub{color:var(--text-faint);font-size:12.5px;margin:0 0 18px}.dl-items{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--bg-side)}.dl-row{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dl-row:last-child{border-bottom:none}.dl-row:hover{background:var(--hover)}.dl-row .ticon{flex:none;display:flex;color:var(--text-ghost)}.dl-row .ticon .ico{width:16px;height:16px}.dl-row:hover .ticon{color:var(--text-faint)}.dl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.dl-meta{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.heatdot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.heatdot.lvl1{opacity:.3}.heatdot.lvl2{opacity:.55}.heatdot.lvl3{opacity:.8}.heatdot.lvl4{opacity:1;box-shadow:0 0 6px #f5a6238c}.dl-empty{padding:24px 14px;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r-card);text-align:center}.dl-h3{margin:28px 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-ghost);font-weight:600}.dl-hlist{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden;max-width:none}.dl-hlist .hentry:last-child{border-bottom:none}.hentry.clickable{cursor:pointer}.hentry.clickable:hover{background:var(--hover)}.dl-more{margin-top:10px}#vault-name.vault-link{cursor:pointer}#vault-name.vault-link:hover{color:var(--accent-bright)}.guide{max-width:760px;margin:0 auto}.gd-tabs{display:flex;gap:2px;margin:20px 0 16px;border-bottom:1px solid var(--border);overflow-x:auto}.gd-tab{font:inherit;font-size:13px;font-weight:600;padding:7px 12px 9px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-faint);cursor:pointer;white-space:nowrap}.gd-tab:hover{color:var(--text)}.gd-tab.active{color:var(--accent-bright);border-bottom-color:var(--accent)}.gd-step{margin:0 0 18px}.gd-step-head{display:flex;align-items:center;gap:10px;margin-bottom:3px}.gd-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--glow);color:var(--accent-bright);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.gd-step-title{font-weight:600;font-size:14px;color:var(--text)}.gd-desc{margin:2px 0 8px 32px;color:var(--text-faint);font-size:13px;line-height:1.5}.gd-extra{font-size:12.5px;margin-top:6px}.gd-code{position:relative;margin:6px 0 6px 32px;padding:10px 72px 10px 12px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--r-card);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;color:var(--text);overflow-x:auto;white-space:pre}.gd-copy{position:absolute;top:7px;right:7px;font:inherit;font-family:inherit;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--border-2);background:var(--bg-raise);color:var(--text-faint);cursor:pointer;box-shadow:-14px 0 12px -6px var(--bg-raise)}.gd-copy:hover{color:var(--accent-bright);border-color:var(--accent-dim)}.gd-done{margin:22px 0 8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);color:var(--text-faint);font-size:13px;line-height:1.5}.home-insights{margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}.insights{max-width:760px;margin:0 auto}.in-title{font-size:21px;font-weight:640;letter-spacing:-.02em;margin:0 0 4px;color:#f4f6f9}.in-title .in-scope{color:var(--text-ghost);font-weight:500;font-size:15px}.in-lens{display:flex;gap:6px;margin:0 0 14px}.in-lens-btn{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--text-faint);cursor:pointer}.in-lens-btn:hover{color:var(--text)}.in-lens-btn.active{color:var(--accent);border-color:var(--accent)}.in-chart{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);margin-bottom:6px}.in-axis{stroke:var(--border);stroke-width:1}.in-threshold{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.in-danger-zone{fill:#f26d6d0d}.in-label{fill:var(--text-ghost);font-size:11px}.in-quad{fill:var(--text-ghost);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.in-quad-danger{fill:#e07070}.in-pt{fill:var(--accent);opacity:.5;cursor:pointer}.in-pt:hover{opacity:1}.in-pt.cold{fill:var(--text-ghost);opacity:.25}.in-pt.danger{fill:#e05d5d;opacity:.6}.in-treemap{background:#0c0d10}.in-tm-group{fill:none;stroke:var(--border);stroke-width:1;cursor:pointer;pointer-events:all}.in-tm-glabel{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.in-tm-cell{cursor:pointer}.in-tm-cell:hover{stroke:#fff;stroke-width:1}.in-tm-label{fill:#0c0d10;font-size:10.5px;font-weight:620;cursor:pointer;pointer-events:none}.in-hotpath{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-side);overflow:hidden}.in-hp-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);cursor:pointer}.in-hp-row:last-child{border-bottom:none}.in-hp-row:hover{background:var(--hover)}.in-hp-name{flex:0 0 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.in-hp-name.danger{color:var(--accent)}.in-hp-bar{flex:1;display:flex;height:10px;border-radius:3px;overflow:hidden}.in-hp-agent{background:var(--accent)}.in-hp-human{background:#5b8def}.in-hp-count{flex:none;width:40px;text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.in-legend{margin:8px 2px 0;font-size:11.5px;color:var(--text-faint)}.in-sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.in-sw.agent{background:var(--accent)}.in-sw.human{background:#5b8def}.in-matrix rect{transition:opacity .1s}.in-matrix rect:hover{opacity:.85}.history{max-width:860px}.hentry{padding:11px 12px;border-bottom:1px solid var(--border)}.hentry:hover{background:#ffffff04}.hline{display:flex;gap:10px;align-items:center}.hkind{display:inline-flex;color:var(--add)}.hkind .ico{width:13px;height:13px}.hentry.edit .hkind{color:var(--accent)}.hentry.delete .hkind{color:var(--del)}.htag{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:1px 6px;border-radius:4px}.hentry.add .htag{color:var(--add);background:#4cc38a1f}.hentry.edit .htag{color:var(--accent-bright);background:var(--glow)}.hentry.delete .htag{color:#ff8b8b;background:#f26d6d1f}.hpath{font-weight:500;cursor:pointer;color:var(--text);font-size:13px}.hpath:hover{color:var(--accent-bright)}.htime{margin-left:auto;color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.hmeta{display:flex;align-items:center;gap:14px;margin-top:4px;padding-left:23px;font-size:12px;color:var(--text-dim)}.hdev,.hsize{color:var(--text-faint)}.hsize{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hnote{margin-top:4px;padding-left:23px;font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hnote:hover{color:var(--text)}.hnote.open{white-space:normal;overflow-wrap:anywhere}.hnote:before{content:"› ";color:var(--text-ghost)}.hnote a{color:var(--accent-bright);text-decoration:none}.hnote a:hover{text-decoration:underline}#palette-overlay{position:fixed;inset:0;background:#0607099e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:100}#palette{width:min(560px,92vw);background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);box-shadow:0 24px 70px -18px #000c;overflow:hidden}#palette-inputwrap{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border)}#palette-inputwrap .ico{width:17px;height:17px;color:var(--text-faint)}#palette-input{flex:1;width:100%;border:none;background:transparent;color:var(--text);font:inherit;font-size:15px;letter-spacing:-.01em;outline:none;padding:0}#palette-input::placeholder{color:var(--text-ghost)}#palette-results{list-style:none;margin:0;padding:8px;max-height:46vh;overflow-y:auto}#palette-results li{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;cursor:pointer;color:var(--text-dim);font-size:13.5px}#palette-results li.selected{background:var(--glow)}#palette-results li.selected .picon{color:var(--accent)}#palette-results li.selected .plabel,#palette-results li.selected .plabel b{color:var(--accent-bright)}#palette-results li .picon{width:18px;flex:none;display:flex;justify-content:center;color:var(--text-faint)}#palette-results li .picon .ico{width:15px;height:15px}#palette-results li .plabel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}#palette-results li .plabel b{color:var(--accent-bright);font-weight:600}#palette-results li .pkind{flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost)}#palette-results .pempty{color:var(--text-faint);cursor:default;justify-content:center;height:auto;padding:14px}#palette-hint{padding:9px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-ghost)}.modal-back{position:fixed;inset:0;background:#06070999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:150;padding:20px}.modal{background:var(--bg-raise);border:1px solid var(--border-2);border-radius:var(--r-over);padding:22px 24px;width:min(460px,100%);box-shadow:0 24px 70px -18px #000c}.modal h3{margin:0 0 10px;font-size:16px;font-weight:620;letter-spacing:-.01em}.modal p{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal p b{color:var(--text)}.modal-url{font:12px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-ctl);padding:9px 11px;color:var(--text-dim);word-break:break-all;margin-bottom:16px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-label{display:block;font-size:12.5px;color:var(--text-dim);margin:0 0 6px}.modal-msg{margin:0 0 16px;font-size:13.5px;color:var(--text-dim);line-height:1.55}.modal-input{width:100%;height:36px;padding:0 12px;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;margin-bottom:16px;outline:none}.modal-input:focus{border-color:var(--accent);background:var(--hover)}[data-sonner-toast]{background:var(--bg-raise)!important;color:var(--text)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;font-size:13.5px!important;box-shadow:0 18px 44px -12px #000000b3!important}[data-sonner-toast][data-type=error]{border-color:#f26d6d80!important;color:#ffb0aa!important}#sb-backdrop{display:none}@media(max-width:900px){#sidebar{position:fixed;z-index:60;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0009}body.sb-open #sidebar{transform:translate(0)}body.sb-open #sb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:50}.icon-btn{display:inline-flex;width:44px;height:44px}#content{padding:24px 18px 70px}#topbar{padding:0 8px;gap:4px}.btn .lbl{display:none}#topbar .btn{min-width:44px;min-height:44px;padding:0;justify-content:center;gap:0}#topbar .btn .ico{width:18px;height:18px}#more-btn:not([hidden]){display:inline-flex}#history-btn,#upload-btn,#download{display:none!important}#meta{display:none}#crumb{flex:1}#vault{padding:0 8px 0 12px}.icon-btn2,#signout,#tree li>.row,#projects .row{height:44px}#account-btn,#project-select{min-height:44px}.nav-add{min-width:44px;min-height:44px}.markdown,.admin,.onboard,.history,.dirlist{max-width:100%}.markdown table,pre.plain{display:block;overflow-x:auto;max-width:100%}.ob-row{flex-direction:column}.ob-row input{flex:none;min-height:44px}.admin-item{flex-wrap:wrap;row-gap:8px;padding:12px 14px}.admin-item select{height:44px}.ai-btn,.ai-del{height:auto;min-height:44px;padding:0 12px}.admin-item .ai-main{flex:1 1 100%;white-space:normal;overflow-wrap:break-word}.gd-code{min-height:62px;padding-top:12px;padding-bottom:12px}.gd-copy{min-height:44px;padding:0 14px}.gd-tab{min-height:44px}.in-lens-btn{min-height:44px;padding:0 14px}.modal-input{height:44px}.modal-actions button,.pbtn,#palette-results li{height:auto;min-height:44px}.more-item{min-height:44px}}.modal-actions .ai-del{margin-right:auto}@media(max-width:430px){.dl-meta{display:none}.ai-tag{font-size:11px}.htime{white-space:nowrap;font-size:12px}.hline{flex-wrap:wrap}.modal-actions .ai-del{flex:0 0 100%}}.markdown{max-width:704px;width:100%;margin:0 auto}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:#f4f6f9;line-height:1.25;letter-spacing:-.018em;margin:1.5em 0 .5em;text-wrap:balance}.markdown h1:first-child{margin-top:0}.markdown h1{font-size:1.85em;font-weight:660;letter-spacing:-.024em}.markdown h2{font-size:1.32em;font-weight:620;margin-top:1.7em}.markdown h3{font-size:1.08em;font-weight:620}.markdown p,.markdown li{color:#c6cbd3;font-size:14.5px;line-height:1.72}.markdown p{margin:0 0 1em}.markdown strong{color:var(--text);font-weight:620}.markdown a{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.28)}.markdown a:hover{border-bottom-color:var(--accent)}.markdown ul,.markdown ol{margin:0 0 1em;padding-left:1.4em}.markdown li{margin-bottom:.4em}.markdown li::marker{color:var(--text-ghost)}.markdown code{background:var(--hover);border:1px solid var(--border);padding:.1em .4em;border-radius:5px;font:12.5px/1.5 var(--mono);color:#e4d9c4}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;margin:1.3em 0}.markdown pre code{background:none;border:none;padding:0;color:#c6cbd3}.markdown blockquote{margin:1.3em 0;padding:.3em 1em;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--glow),transparent);border-radius:0 8px 8px 0;color:#d8cdb6}.markdown blockquote p{margin:.3em 0;color:#d8cdb6}.markdown table{border-collapse:collapse;margin:1.3em 0;font-size:13.5px}.markdown th,.markdown td{border-bottom:1px solid var(--border);padding:9px 13px;text-align:left}.markdown th{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-2)}.markdown tr:hover td{background:#ffffff05}.markdown img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.markdown table.frontmatter{margin:0 0 1.8em;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-collapse:separate;border-spacing:0}.markdown table.frontmatter th{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint);font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;padding:6px 14px 6px 12px;border-bottom:1px solid var(--border)}.markdown table.frontmatter td{color:var(--text-dim);padding:6px 12px 6px 0;border-bottom:1px solid var(--border)}.markdown table.frontmatter tr:last-child th,.markdown table.frontmatter tr:last-child td{border-bottom:none}.markdown table.frontmatter code{white-space:pre-wrap;font-size:11px}.markdown input[type=checkbox]{accent-color:var(--accent)}.htmlview{display:block;width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}.notfound{margin-top:12vh;text-align:center;color:var(--text-dim)}.notfound h1{color:var(--text);font-size:1.4em;margin-bottom:.5em}.notfound code{background:var(--hover);border:1px solid var(--border);padding:.15em .5em;border-radius:6px}.notfound .nf-sub{max-width:440px;margin:12px auto 20px;font-size:13px;color:var(--text-faint);line-height:1.6}pre.plain{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;overflow-x:auto;font:12.5px/1.6 var(--mono);color:#c6cbd3;white-space:pre-wrap;overflow-wrap:anywhere;max-width:900px}#content.markdown{min-width:0}.filecard{margin-top:15vh;text-align:center;color:var(--text-dim)}.filecard .name{font-size:1.2em;color:var(--text);margin-bottom:.3em}.filecard .btn{margin-top:14px} diff --git a/internal/webapp/static/assets/index-BLeSJqYs.js b/internal/webapp/static/assets/index-BLeSJqYs.js deleted file mode 100644 index 104f823..0000000 --- a/internal/webapp/static/assets/index-BLeSJqYs.js +++ /dev/null @@ -1,11 +0,0 @@ -function q0(a,i){for(var s=0;so[u]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))o(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&o(h)}).observe(document,{childList:!0,subtree:!0});function s(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function o(u){if(u.ep)return;u.ep=!0;const f=s(u);fetch(u.href,f)}})();function ty(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var du={exports:{}},$i={};var np;function Q0(){if(np)return $i;np=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function s(o,u,f){var h=null;if(f!==void 0&&(h=""+f),u.key!==void 0&&(h=""+u.key),"key"in u){f={};for(var v in u)v!=="key"&&(f[v]=u[v])}else f=u;return u=f.ref,{$$typeof:a,type:o,key:h,ref:u!==void 0?u:null,props:f}}return $i.Fragment=i,$i.jsx=s,$i.jsxs=s,$i}var ap;function Y0(){return ap||(ap=1,du.exports=Q0()),du.exports}var p=Y0(),hu={exports:{}},be={};var lp;function G0(){if(lp)return be;lp=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),x=Symbol.iterator;function E(j){return j===null||typeof j!="object"?null:(j=x&&j[x]||j["@@iterator"],typeof j=="function"?j:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,M={};function k(j,L,G){this.props=j,this.context=L,this.refs=M,this.updater=G||w}k.prototype.isReactComponent={},k.prototype.setState=function(j,L){if(typeof j!="object"&&typeof j!="function"&&j!=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,j,L,"setState")},k.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function Z(){}Z.prototype=k.prototype;function V(j,L,G){this.props=j,this.context=L,this.refs=M,this.updater=G||w}var W=V.prototype=new Z;W.constructor=V,O(W,k.prototype),W.isPureReactComponent=!0;var ee=Array.isArray;function K(){}var J={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function ue(j,L,G){var $=G.ref;return{$$typeof:a,type:j,key:L,ref:$!==void 0?$:null,props:G}}function de(j,L){return ue(j.type,L,j.props)}function re(j){return typeof j=="object"&&j!==null&&j.$$typeof===a}function ye(j){var L={"=":"=0",":":"=2"};return"$"+j.replace(/[=:]/g,function(G){return L[G]})}var oe=/\/+/g;function Ee(j,L){return typeof j=="object"&&j!==null&&j.key!=null?ye(""+j.key):L.toString(36)}function he(j){switch(j.status){case"fulfilled":return j.value;case"rejected":throw j.reason;default:switch(typeof j.status=="string"?j.then(K,K):(j.status="pending",j.then(function(L){j.status==="pending"&&(j.status="fulfilled",j.value=L)},function(L){j.status==="pending"&&(j.status="rejected",j.reason=L)})),j.status){case"fulfilled":return j.value;case"rejected":throw j.reason}}throw j}function N(j,L,G,$,P){var te=typeof j;(te==="undefined"||te==="boolean")&&(j=null);var ge=!1;if(j===null)ge=!0;else switch(te){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(j.$$typeof){case a:case i:ge=!0;break;case S:return ge=j._init,N(ge(j._payload),L,G,$,P)}}if(ge)return P=P(j),ge=$===""?"."+Ee(j,0):$,ee(P)?(G="",ge!=null&&(G=ge.replace(oe,"$&/")+"/"),N(P,L,G,"",function(dt){return dt})):P!=null&&(re(P)&&(P=de(P,G+(P.key==null||j&&j.key===P.key?"":(""+P.key).replace(oe,"$&/")+"/")+ge)),L.push(P)),1;ge=0;var pe=$===""?".":$+":";if(ee(j))for(var fe=0;fe>>1,X=N[ie];if(0>>1;ieu(G,F))$u(P,G)?(N[ie]=P,N[$]=F,ie=$):(N[ie]=G,N[L]=F,ie=L);else if($u(P,F))N[ie]=P,N[$]=F,ie=$;else break e}}return Q}function u(N,Q){var F=N.sortIndex-Q.sortIndex;return F!==0?F:N.id-Q.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;a.unstable_now=function(){return f.now()}}else{var h=Date,v=h.now();a.unstable_now=function(){return h.now()-v}}var g=[],m=[],S=1,y=null,x=3,E=!1,w=!1,O=!1,M=!1,k=typeof setTimeout=="function"?setTimeout:null,Z=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function W(N){for(var Q=s(m);Q!==null;){if(Q.callback===null)o(m);else if(Q.startTime<=N)o(m),Q.sortIndex=Q.expirationTime,i(g,Q);else break;Q=s(m)}}function ee(N){if(O=!1,W(N),!w)if(s(g)!==null)w=!0,K||(K=!0,ye());else{var Q=s(m);Q!==null&&he(ee,Q.startTime-N)}}var K=!1,J=-1,B=5,ue=-1;function de(){return M?!0:!(a.unstable_now()-ueN&&de());){var ie=y.callback;if(typeof ie=="function"){y.callback=null,x=y.priorityLevel;var X=ie(y.expirationTime<=N);if(N=a.unstable_now(),typeof X=="function"){y.callback=X,W(N),Q=!0;break t}y===s(g)&&o(g),W(N)}else o(g);y=s(g)}if(y!==null)Q=!0;else{var j=s(m);j!==null&&he(ee,j.startTime-N),Q=!1}}break e}finally{y=null,x=F,E=!1}Q=void 0}}finally{Q?ye():K=!1}}}var ye;if(typeof V=="function")ye=function(){V(re)};else if(typeof MessageChannel<"u"){var oe=new MessageChannel,Ee=oe.port2;oe.port1.onmessage=re,ye=function(){Ee.postMessage(null)}}else ye=function(){k(re,0)};function he(N,Q){J=k(function(){N(a.unstable_now())},Q)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(N){N.callback=null},a.unstable_forceFrameRate=function(N){0>N||125ie?(N.sortIndex=F,i(m,N),s(g)===null&&N===s(m)&&(O?(Z(J),J=-1):O=!0,he(ee,F-ie))):(N.sortIndex=X,i(g,N),w||E||(w=!0,K||(K=!0,ye()))),N},a.unstable_shouldYield=de,a.unstable_wrapCallback=function(N){var Q=x;return function(){var F=x;x=Q;try{return N.apply(this,arguments)}finally{x=F}}}})(yu)),yu}var rp;function X0(){return rp||(rp=1,pu.exports=V0()),pu.exports}var gu={exports:{}},wt={};var op;function K0(){if(op)return wt;op=1;var a=Qu();function i(g){var m="https://react.dev/errors/"+g;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),gu.exports=K0(),gu.exports}var up;function Z0(){if(up)return Wi;up=1;var a=X0(),i=Qu(),s=ny();function o(e){var t="https://react.dev/errors/"+e;if(1X||(e.current=ie[X],ie[X]=null,X--)}function G(e,t){X++,ie[X]=e.current,e.current=t}var $=j(null),P=j(null),te=j(null),ge=j(null);function pe(e,t){switch(G(te,t),G(P,e),G($,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Cm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Cm(t),e=jm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}L($),G($,e)}function fe(){L($),L(P),L(te)}function dt(e){e.memoizedState!==null&&G(ge,e);var t=$.current,n=jm(t,e.type);t!==n&&(G(P,e),G($,n))}function rt(e){P.current===e&&(L($),L(P)),ge.current===e&&(L(ge),Ki._currentValue=F)}var We,Et;function Ze(e){if(We===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);We=t&&t[1]||"",Et=-1)":-1r||C[l]!==D[r]){var U=` -`+C[l].replace(" at new "," at ");return e.displayName&&U.includes("")&&(U=U.replace("",e.displayName)),U}while(1<=l&&0<=r);break}}}finally{yn=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ze(n):""}function ot(e,t){switch(e.tag){case 26:case 27:case 5:return Ze(e.type);case 16:return Ze("Lazy");case 13:return e.child!==t&&t!==null?Ze("Suspense Fallback"):Ze("Suspense");case 19:return Ze("SuspenseList");case 0:case 15:return At(e.type,!1);case 11:return At(e.type.render,!1);case 1:return At(e.type,!0);case 31:return Ze("Activity");default:return""}}function za(e){try{var t="",n=null;do t+=ot(e,n),n=e,e=e.return;while(e);return t}catch(l){return` -Error generating stack: `+l.message+` -`+l.stack}}var Tt=Object.prototype.hasOwnProperty,xe=a.unstable_scheduleCallback,Re=a.unstable_cancelCallback,Te=a.unstable_shouldYield,Pt=a.unstable_requestPaint,ht=a.unstable_now,li=a.unstable_getCurrentPriorityLevel,ka=a.unstable_ImmediatePriority,ms=a.unstable_UserBlockingPriority,Ha=a.unstable_NormalPriority,ii=a.unstable_LowPriority,On=a.unstable_IdlePriority,ps=a.log,ea=a.unstable_setDisableYieldValue,Ua=null,Ct=null;function un(e){if(typeof ps=="function"&&ea(e),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(Ua,e)}catch{}}var xt=Math.clz32?Math.clz32:gn,eo=Math.log,si=Math.LN2;function gn(e){return e>>>=0,e===0?32:31-(eo(e)/si|0)|0}var ul=256,fl=262144,La=4194304;function vn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ve(e,t,n){var l=e.pendingLanes;if(l===0)return 0;var r=0,c=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var b=l&134217727;return b!==0?(l=b&~c,l!==0?r=vn(l):(d&=b,d!==0?r=vn(d):n||(n=b&~e,n!==0&&(r=vn(n))))):(b=l&~c,b!==0?r=vn(b):d!==0?r=vn(d):n||(n=l&~e,n!==0&&(r=vn(n)))),r===0?0:t!==0&&t!==r&&(t&c)===0&&(c=r&-r,n=t&-t,c>=n||c===32&&(n&4194048)!==0)?t:r}function Xe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ct(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function St(){var e=La;return La<<=1,(La&62914560)===0&&(La=4194304),e}function ta(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ot(e,t,n,l,r,c){var d=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var b=e.entanglements,C=e.expirationTimes,D=e.hiddenUpdates;for(n=d&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var zg=/[\n"\\]/g;function en(e){return e.replace(zg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function io(e,t,n,l,r,c,d,b){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+It(t)):e.value!==""+It(t)&&(e.value=""+It(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?so(e,d,It(t)):n!=null?so(e,d,It(n)):l!=null&&e.removeAttribute("value"),r==null&&c!=null&&(e.defaultChecked=!!c),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?e.name=""+It(b):e.removeAttribute("name")}function bf(e,t,n,l,r,c,d,b){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||n!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){lo(e);return}n=n!=null?""+It(n):"",t=t!=null?""+It(t):n,b||t===e.value||(e.value=t),e.defaultValue=t}l=l??r,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=b?e.checked:!!l,e.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),lo(e)}function so(e,t,n){t==="number"&&vs(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function vl(e,t,n,l){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fo=!1;if(Mn)try{var ui={};Object.defineProperty(ui,"passive",{get:function(){fo=!0}}),window.addEventListener("test",ui,ui),window.removeEventListener("test",ui,ui)}catch{fo=!1}var aa=null,ho=null,xs=null;function jf(){if(xs)return xs;var e,t=ho,n=t.length,l,r="value"in aa?aa.value:aa.textContent,c=r.length;for(e=0;e=hi),_f=" ",Df=!1;function zf(e,t){switch(e){case"keyup":return ov.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function kf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wl=!1;function uv(e,t){switch(e){case"compositionend":return kf(t);case"keypress":return t.which!==32?null:(Df=!0,_f);case"textInput":return e=t.data,e===_f&&Df?null:e;default:return null}}function fv(e,t){if(wl)return e==="compositionend"||!vo&&zf(e,t)?(e=jf(),xs=ho=aa=null,wl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Gf(n)}}function Xf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Xf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Kf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=vs(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=vs(e.document)}return t}function So(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var bv=Mn&&"documentMode"in document&&11>=document.documentMode,El=null,wo=null,gi=null,Eo=!1;function Zf(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Eo||El==null||El!==vs(l)||(l=El,"selectionStart"in l&&So(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),gi&&yi(gi,l)||(gi=l,l=hr(wo,"onSelect"),0>=d,r-=d,bn=1<<32-xt(t)+r|n<we?(Ne=se,se=null):Ne=se.sibling;var ze=z(R,se,_[we],q);if(ze===null){se===null&&(se=Ne);break}e&&se&&ze.alternate===null&&t(R,se),A=c(ze,A,we),De===null?ce=ze:De.sibling=ze,De=ze,se=Ne}if(we===_.length)return n(R,se),Me&&Dn(R,we),ce;if(se===null){for(;we<_.length;we++)se=Y(R,_[we],q),se!==null&&(A=c(se,A,we),De===null?ce=se:De.sibling=se,De=se);return Me&&Dn(R,we),ce}for(se=l(se);we<_.length;we++)Ne=H(se,R,we,_[we],q),Ne!==null&&(e&&Ne.alternate!==null&&se.delete(Ne.key===null?we:Ne.key),A=c(Ne,A,we),De===null?ce=Ne:De.sibling=Ne,De=Ne);return e&&se.forEach(function(Ca){return t(R,Ca)}),Me&&Dn(R,we),ce}function me(R,A,_,q){if(_==null)throw Error(o(151));for(var ce=null,De=null,se=A,we=A=0,Ne=null,ze=_.next();se!==null&&!ze.done;we++,ze=_.next()){se.index>we?(Ne=se,se=null):Ne=se.sibling;var Ca=z(R,se,ze.value,q);if(Ca===null){se===null&&(se=Ne);break}e&&se&&Ca.alternate===null&&t(R,se),A=c(Ca,A,we),De===null?ce=Ca:De.sibling=Ca,De=Ca,se=Ne}if(ze.done)return n(R,se),Me&&Dn(R,we),ce;if(se===null){for(;!ze.done;we++,ze=_.next())ze=Y(R,ze.value,q),ze!==null&&(A=c(ze,A,we),De===null?ce=ze:De.sibling=ze,De=ze);return Me&&Dn(R,we),ce}for(se=l(se);!ze.done;we++,ze=_.next())ze=H(se,R,we,ze.value,q),ze!==null&&(e&&ze.alternate!==null&&se.delete(ze.key===null?we:ze.key),A=c(ze,A,we),De===null?ce=ze:De.sibling=ze,De=ze);return e&&se.forEach(function(B0){return t(R,B0)}),Me&&Dn(R,we),ce}function Qe(R,A,_,q){if(typeof _=="object"&&_!==null&&_.type===O&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case E:e:{for(var ce=_.key;A!==null;){if(A.key===ce){if(ce=_.type,ce===O){if(A.tag===7){n(R,A.sibling),q=r(A,_.props.children),q.return=R,R=q;break e}}else if(A.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===B&&$a(ce)===A.type){n(R,A.sibling),q=r(A,_.props),Ei(q,_),q.return=R,R=q;break e}n(R,A);break}else t(R,A);A=A.sibling}_.type===O?(q=Xa(_.props.children,R.mode,q,_.key),q.return=R,R=q):(q=Rs(_.type,_.key,_.props,null,R.mode,q),Ei(q,_),q.return=R,R=q)}return d(R);case w:e:{for(ce=_.key;A!==null;){if(A.key===ce)if(A.tag===4&&A.stateNode.containerInfo===_.containerInfo&&A.stateNode.implementation===_.implementation){n(R,A.sibling),q=r(A,_.children||[]),q.return=R,R=q;break e}else{n(R,A);break}else t(R,A);A=A.sibling}q=Ro(_,R.mode,q),q.return=R,R=q}return d(R);case B:return _=$a(_),Qe(R,A,_,q)}if(he(_))return le(R,A,_,q);if(ye(_)){if(ce=ye(_),typeof ce!="function")throw Error(o(150));return _=ce.call(_),me(R,A,_,q)}if(typeof _.then=="function")return Qe(R,A,Us(_),q);if(_.$$typeof===V)return Qe(R,A,Ds(R,_),q);Ls(R,_)}return typeof _=="string"&&_!==""||typeof _=="number"||typeof _=="bigint"?(_=""+_,A!==null&&A.tag===6?(n(R,A.sibling),q=r(A,_),q.return=R,R=q):(n(R,A),q=No(_,R.mode,q),q.return=R,R=q),d(R)):n(R,A)}return function(R,A,_,q){try{wi=0;var ce=Qe(R,A,_,q);return zl=null,ce}catch(se){if(se===Dl||se===ks)throw se;var De=Vt(29,se,null,R.mode);return De.lanes=q,De.return=R,De}}}var Pa=yd(!0),gd=yd(!1),oa=!1;function Yo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ca(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ua(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(ke&2)!==0){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,t=Ns(e),ed(e,null,n),t}return Os(e,l,t,n),Ns(e)}function Ti(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,Nt(e,n)}}function Vo(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var r=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?r=c=d:c=c.next=d,n=n.next}while(n!==null);c===null?r=c=t:c=c.next=t}else r=c=t;n={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Xo=!1;function Ci(){if(Xo){var e=_l;if(e!==null)throw e}}function ji(e,t,n,l){Xo=!1;var r=e.updateQueue;oa=!1;var c=r.firstBaseUpdate,d=r.lastBaseUpdate,b=r.shared.pending;if(b!==null){r.shared.pending=null;var C=b,D=C.next;C.next=null,d===null?c=D:d.next=D,d=C;var U=e.alternate;U!==null&&(U=U.updateQueue,b=U.lastBaseUpdate,b!==d&&(b===null?U.firstBaseUpdate=D:b.next=D,U.lastBaseUpdate=C))}if(c!==null){var Y=r.baseState;d=0,U=D=C=null,b=c;do{var z=b.lane&-536870913,H=z!==b.lane;if(H?(Oe&z)===z:(l&z)===z){z!==0&&z===Ml&&(Xo=!0),U!==null&&(U=U.next={lane:0,tag:b.tag,payload:b.payload,callback:null,next:null});e:{var le=e,me=b;z=t;var Qe=n;switch(me.tag){case 1:if(le=me.payload,typeof le=="function"){Y=le.call(Qe,Y,z);break e}Y=le;break e;case 3:le.flags=le.flags&-65537|128;case 0:if(le=me.payload,z=typeof le=="function"?le.call(Qe,Y,z):le,z==null)break e;Y=y({},Y,z);break e;case 2:oa=!0}}z=b.callback,z!==null&&(e.flags|=64,H&&(e.flags|=8192),H=r.callbacks,H===null?r.callbacks=[z]:H.push(z))}else H={lane:z,tag:b.tag,payload:b.payload,callback:b.callback,next:null},U===null?(D=U=H,C=Y):U=U.next=H,d|=z;if(b=b.next,b===null){if(b=r.shared.pending,b===null)break;H=b,b=H.next,H.next=null,r.lastBaseUpdate=H,r.shared.pending=null}}while(!0);U===null&&(C=Y),r.baseState=C,r.firstBaseUpdate=D,r.lastBaseUpdate=U,c===null&&(r.shared.lanes=0),pa|=d,e.lanes=d,e.memoizedState=Y}}function vd(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function bd(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ec?c:8;var d=N.T,b={};N.T=b,uc(e,!1,t,n);try{var C=r(),D=N.S;if(D!==null&&D(b,C),C!==null&&typeof C=="object"&&typeof C.then=="function"){var U=Ov(C,l);Ni(e,t,U,Ft(e))}else Ni(e,t,l,Ft(e))}catch(Y){Ni(e,t,{then:function(){},status:"rejected",reason:Y},Ft())}finally{Q.p=c,d!==null&&b.types!==null&&(d.types=b.types),N.T=d}}function zv(){}function oc(e,t,n,l){if(e.tag!==5)throw Error(o(476));var r=Wd(e).queue;$d(e,r,t,F,n===null?zv:function(){return Pd(e),n(l)})}function Wd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:F},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Pd(e){var t=Wd(e);t.next===null&&(t=e.alternate.memoizedState),Ni(e,t.next.queue,{},Ft())}function cc(){return yt(Ki)}function Id(){return Ie().memoizedState}function eh(){return Ie().memoizedState}function kv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ft();e=ca(n);var l=ua(t,e,n);l!==null&&(Ut(l,t,n),Ti(l,t,n)),t={cache:Lo()},e.payload=t;return}t=t.return}}function Hv(e,t,n){var l=Ft();n={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Js(e)?nh(t,n):(n=Ao(e,t,n,l),n!==null&&(Ut(n,e,l),ah(n,t,l)))}function th(e,t,n){var l=Ft();Ni(e,t,n,l)}function Ni(e,t,n,l){var r={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Js(e))nh(t,r);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var d=t.lastRenderedState,b=c(d,n);if(r.hasEagerState=!0,r.eagerState=b,Gt(b,d))return Os(e,t,r,0),Ye===null&&As(),!1}catch{}if(n=Ao(e,t,r,l),n!==null)return Ut(n,e,l),ah(n,t,l),!0}return!1}function uc(e,t,n,l){if(l={lane:2,revertLane:Yc(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Js(e)){if(t)throw Error(o(479))}else t=Ao(e,n,l,2),t!==null&&Ut(t,e,2)}function Js(e){var t=e.alternate;return e===Se||t!==null&&t===Se}function nh(e,t){Hl=Qs=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ah(e,t,n){if((n&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,Nt(e,n)}}var Ri={readContext:yt,use:Vs,useCallback:Fe,useContext:Fe,useEffect:Fe,useImperativeHandle:Fe,useLayoutEffect:Fe,useInsertionEffect:Fe,useMemo:Fe,useReducer:Fe,useRef:Fe,useState:Fe,useDebugValue:Fe,useDeferredValue:Fe,useTransition:Fe,useSyncExternalStore:Fe,useId:Fe,useHostTransitionStatus:Fe,useFormState:Fe,useActionState:Fe,useOptimistic:Fe,useMemoCache:Fe,useCacheRefresh:Fe};Ri.useEffectEvent=Fe;var lh={readContext:yt,use:Vs,useCallback:function(e,t){return jt().memoizedState=[e,t===void 0?null:t],e},useContext:yt,useEffect:Qd,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Ks(4194308,4,Xd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ks(4194308,4,e,t)},useInsertionEffect:function(e,t){Ks(4,2,e,t)},useMemo:function(e,t){var n=jt();t=t===void 0?null:t;var l=e();if(Ia){un(!0);try{e()}finally{un(!1)}}return n.memoizedState=[l,t],l},useReducer:function(e,t,n){var l=jt();if(n!==void 0){var r=n(t);if(Ia){un(!0);try{n(t)}finally{un(!1)}}}else r=t;return l.memoizedState=l.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},l.queue=e,e=e.dispatch=Hv.bind(null,Se,e),[l.memoizedState,e]},useRef:function(e){var t=jt();return e={current:e},t.memoizedState=e},useState:function(e){e=ac(e);var t=e.queue,n=th.bind(null,Se,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:sc,useDeferredValue:function(e,t){var n=jt();return rc(n,e,t)},useTransition:function(){var e=ac(!1);return e=$d.bind(null,Se,e.queue,!0,!1),jt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var l=Se,r=jt();if(Me){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),Ye===null)throw Error(o(349));(Oe&127)!==0||Cd(l,t,n)}r.memoizedState=n;var c={value:n,getSnapshot:t};return r.queue=c,Qd(Ad.bind(null,l,c,e),[e]),l.flags|=2048,Ll(9,{destroy:void 0},jd.bind(null,l,c,n,t),null),n},useId:function(){var e=jt(),t=Ye.identifierPrefix;if(Me){var n=xn,l=bn;n=(l&~(1<<32-xt(l)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Ys++,0<\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?d.createElement(r,{is:l.is}):d.createElement(r)}}c[mt]=t,c[Mt]=l;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)c.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=c;e:switch(vt(c,r,l),r){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Bn(t)}}return Ve(t),Tc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Bn(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=te.current,Nl(t)){if(e=t.stateNode,n=t.memoizedProps,l=null,r=pt,r!==null)switch(r.tag){case 27:case 5:l=r.memoizedProps}e[mt]=t,e=!!(e.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||Em(e.nodeValue,n)),e||sa(t,!0)}else e=mr(e).createTextNode(l),e[mt]=t,t.stateNode=e}return Ve(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(l=Nl(t),n!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[mt]=t}else Ka(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ve(t),e=!1}else n=zo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Kt(t),t):(Kt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Ve(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Nl(t),l!==null&&l.dehydrated!==null){if(e===null){if(!r)throw Error(o(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(o(317));r[mt]=t}else Ka(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ve(t),r=!1}else r=zo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Kt(t),t):(Kt(t),null)}return Kt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=l!==null,e=e!==null&&e.memoizedState!==null,n&&(l=t.child,r=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(r=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==r&&(l.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Is(t,t.updateQueue),Ve(t),null);case 4:return fe(),e===null&&Kc(t.stateNode.containerInfo),Ve(t),null;case 10:return kn(t.type),Ve(t),null;case 19:if(L(Pe),l=t.memoizedState,l===null)return Ve(t),null;if(r=(t.flags&128)!==0,c=l.rendering,c===null)if(r)_i(l,!1);else{if($e!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=qs(e),c!==null){for(t.flags|=128,_i(l,!1),e=c.updateQueue,t.updateQueue=e,Is(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)td(n,e),n=n.sibling;return G(Pe,Pe.current&1|2),Me&&Dn(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&ht()>lr&&(t.flags|=128,r=!0,_i(l,!1),t.lanes=4194304)}else{if(!r)if(e=qs(c),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Is(t,e),_i(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!Me)return Ve(t),null}else 2*ht()-l.renderingStartTime>lr&&n!==536870912&&(t.flags|=128,r=!0,_i(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=ht(),e.sibling=null,n=Pe.current,G(Pe,r?n&1|2:n&1),Me&&Dn(t,l.treeForkCount),e):(Ve(t),null);case 22:case 23:return Kt(t),Zo(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(n&536870912)!==0&&(t.flags&128)===0&&(Ve(t),t.subtreeFlags&6&&(t.flags|=8192)):Ve(t),n=t.updateQueue,n!==null&&Is(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==n&&(t.flags|=2048),e!==null&&L(Fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),kn(et),Ve(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Qv(e,t){switch(_o(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return kn(et),fe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return rt(t),null;case 31:if(t.memoizedState!==null){if(Kt(t),t.alternate===null)throw Error(o(340));Ka()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Kt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Ka()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return L(Pe),null;case 4:return fe(),null;case 10:return kn(t.type),null;case 22:case 23:return Kt(t),Zo(),e!==null&&L(Fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return kn(et),null;case 25:return null;default:return null}}function Oh(e,t){switch(_o(t),t.tag){case 3:kn(et),fe();break;case 26:case 27:case 5:rt(t);break;case 4:fe();break;case 31:t.memoizedState!==null&&Kt(t);break;case 13:Kt(t);break;case 19:L(Pe);break;case 10:kn(t.type);break;case 22:case 23:Kt(t),Zo(),e!==null&&L(Fa);break;case 24:kn(et)}}function Di(e,t){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var r=l.next;n=r;do{if((n.tag&e)===e){l=void 0;var c=n.create,d=n.inst;l=c(),d.destroy=l}n=n.next}while(n!==r)}}catch(b){Le(t,t.return,b)}}function ha(e,t,n){try{var l=t.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var c=r.next;l=c;do{if((l.tag&e)===e){var d=l.inst,b=d.destroy;if(b!==void 0){d.destroy=void 0,r=t;var C=n,D=b;try{D()}catch(U){Le(r,C,U)}}}l=l.next}while(l!==c)}}catch(U){Le(t,t.return,U)}}function Nh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{bd(t,n)}catch(l){Le(e,e.return,l)}}}function Rh(e,t,n){n.props=el(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(l){Le(e,t,l)}}function zi(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof n=="function"?e.refCleanup=n(l):n.current=l}}catch(r){Le(e,t,r)}}function Sn(e,t){var n=e.ref,l=e.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(r){Le(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Le(e,t,r)}else n.current=null}function Mh(e){var t=e.type,n=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break e;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(r){Le(e,e.return,r)}}function Cc(e,t,n){try{var l=e.stateNode;c0(l,e.type,n,t),l[Mt]=t}catch(r){Le(e,e.return,r)}}function _h(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&xa(e.type)||e.tag===4}function jc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_h(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&xa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ac(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Rn));else if(l!==4&&(l===27&&xa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ac(e,t,n),e=e.sibling;e!==null;)Ac(e,t,n),e=e.sibling}function er(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(l===27&&xa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(er(e,t,n),e=e.sibling;e!==null;)er(e,t,n),e=e.sibling}function Dh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var l=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);vt(t,l,n),t[mt]=e,t[Mt]=n}catch(c){Le(e,e.return,c)}}var qn=!1,at=!1,Oc=!1,zh=typeof WeakSet=="function"?WeakSet:Set,ft=null;function Yv(e,t){if(e=e.containerInfo,Fc=Sr,e=Kf(e),So(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var r=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var d=0,b=-1,C=-1,D=0,U=0,Y=e,z=null;t:for(;;){for(var H;Y!==n||r!==0&&Y.nodeType!==3||(b=d+r),Y!==c||l!==0&&Y.nodeType!==3||(C=d+l),Y.nodeType===3&&(d+=Y.nodeValue.length),(H=Y.firstChild)!==null;)z=Y,Y=H;for(;;){if(Y===e)break t;if(z===n&&++D===r&&(b=d),z===c&&++U===l&&(C=d),(H=Y.nextSibling)!==null)break;Y=z,z=Y.parentNode}Y=H}n=b===-1||C===-1?null:{start:b,end:C}}else n=null}n=n||{start:0,end:0}}else n=null;for($c={focusedElem:e,selectionRange:n},Sr=!1,ft=t;ft!==null;)if(t=ft,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ft=e;else for(;ft!==null;){switch(t=ft,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),vt(c,l,n),c[mt]=e,ut(c),l=c;break e;case"link":var d=qm("link","href",r).get(l+(n.href||""));if(d){for(var b=0;bQe&&(d=Qe,Qe=me,me=d);var R=Vf(b,me),A=Vf(b,Qe);if(R&&A&&(H.rangeCount!==1||H.anchorNode!==R.node||H.anchorOffset!==R.offset||H.focusNode!==A.node||H.focusOffset!==A.offset)){var _=Y.createRange();_.setStart(R.node,R.offset),H.removeAllRanges(),me>Qe?(H.addRange(_),H.extend(A.node,A.offset)):(_.setEnd(A.node,A.offset),H.addRange(_))}}}}for(Y=[],H=b;H=H.parentNode;)H.nodeType===1&&Y.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;bn?32:n,N.T=null,n=kc,kc=null;var c=ga,d=Xn;if(lt=0,Gl=ga=null,Xn=0,(ke&6)!==0)throw Error(o(331));var b=ke;if(ke|=4,Xh(c.current),Yh(c,c.current,d,n),ke=b,qi(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(Ua,c)}catch{}return!0}finally{Q.p=r,N.T=l,cm(e,t)}}function fm(e,t,n){t=nn(n,t),t=mc(e.stateNode,t,2),e=ua(e,t,2),e!==null&&(Je(e,2),wn(e))}function Le(e,t,n){if(e.tag===3)fm(e,e,n);else for(;t!==null;){if(t.tag===3){fm(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(ya===null||!ya.has(l))){e=nn(n,e),n=dh(2),l=ua(t,n,2),l!==null&&(hh(n,l,t,e),Je(l,2),wn(l));break}}t=t.return}}function Bc(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Xv;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(n)||(Mc=!0,r.add(n),e=$v.bind(null,e,t,n),t.then(e,e))}function $v(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ye===e&&(Oe&n)===n&&($e===4||$e===3&&(Oe&62914560)===Oe&&300>ht()-ar?(ke&2)===0&&Vl(e,0):_c|=n,Yl===Oe&&(Yl=0)),wn(e)}function dm(e,t){t===0&&(t=St()),e=Va(e,t),e!==null&&(Je(e,t),wn(e))}function Wv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dm(e,n)}function Pv(e,t){var n=0;switch(e.tag){case 31:case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),dm(e,n)}function Iv(e,t){return xe(e,t)}var ur=null,Kl=null,qc=!1,fr=!1,Qc=!1,ba=0;function wn(e){e!==Kl&&e.next===null&&(Kl===null?ur=Kl=e:Kl=Kl.next=e),fr=!0,qc||(qc=!0,t0())}function qi(e,t){if(!Qc&&fr){Qc=!0;do for(var n=!1,l=ur;l!==null;){if(e!==0){var r=l.pendingLanes;if(r===0)var c=0;else{var d=l.suspendedLanes,b=l.pingedLanes;c=(1<<31-xt(42|e)+1)-1,c&=r&~(d&~b),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,ym(l,c))}else c=Oe,c=ve(l,l===Ye?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||Xe(l,c)||(n=!0,ym(l,c));l=l.next}while(n);Qc=!1}}function e0(){hm()}function hm(){fr=qc=!1;var e=0;ba!==0&&f0()&&(e=ba);for(var t=ht(),n=null,l=ur;l!==null;){var r=l.next,c=mm(l,t);c===0?(l.next=null,n===null?ur=r:n.next=r,r===null&&(Kl=n)):(n=l,(e!==0||(c&3)!==0)&&(fr=!0)),l=r}lt!==0&<!==5||qi(e),ba!==0&&(ba=0)}function mm(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,c=e.pendingLanes&-62914561;0b)break;var U=C.transferSize,Y=C.initiatorType;U&&Tm(Y)&&(C=C.responseEnd,d+=U*(C"u"?null:document;function Hm(e,t,n){var l=Zl;if(l&&typeof t=="string"&&t){var r=en(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),km.has(r)||(km.add(r),e={rel:e,crossOrigin:n,href:t},l.querySelector(r)===null&&(t=l.createElement("link"),vt(t,"link",e),ut(t),l.head.appendChild(t)))}}function x0(e){Kn.D(e),Hm("dns-prefetch",e,null)}function S0(e,t){Kn.C(e,t),Hm("preconnect",e,t)}function w0(e,t,n){Kn.L(e,t,n);var l=Zl;if(l&&e&&t){var r='link[rel="preload"][as="'+en(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+en(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+en(n.imageSizes)+'"]')):r+='[href="'+en(e)+'"]';var c=r;switch(t){case"style":c=Jl(e);break;case"script":c=Fl(e)}cn.has(c)||(e=y({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),cn.set(c,e),l.querySelector(r)!==null||t==="style"&&l.querySelector(Vi(c))||t==="script"&&l.querySelector(Xi(c))||(t=l.createElement("link"),vt(t,"link",e),ut(t),l.head.appendChild(t)))}}function E0(e,t){Kn.m(e,t);var n=Zl;if(n&&e){var l=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+en(l)+'"][href="'+en(e)+'"]',c=r;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=Fl(e)}if(!cn.has(c)&&(e=y({rel:"modulepreload",href:e},t),cn.set(c,e),n.querySelector(r)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Xi(c)))return}l=n.createElement("link"),vt(l,"link",e),ut(l),n.head.appendChild(l)}}}function T0(e,t,n){Kn.S(e,t,n);var l=Zl;if(l&&e){var r=yl(l).hoistableStyles,c=Jl(e);t=t||"default";var d=r.get(c);if(!d){var b={loading:0,preload:null};if(d=l.querySelector(Vi(c)))b.loading=5;else{e=y({rel:"stylesheet",href:e,"data-precedence":t},n),(n=cn.get(c))&&au(e,n);var C=d=l.createElement("link");ut(C),vt(C,"link",e),C._p=new Promise(function(D,U){C.onload=D,C.onerror=U}),C.addEventListener("load",function(){b.loading|=1}),C.addEventListener("error",function(){b.loading|=2}),b.loading|=4,yr(d,t,l)}d={type:"stylesheet",instance:d,count:1,state:b},r.set(c,d)}}}function C0(e,t){Kn.X(e,t);var n=Zl;if(n&&e){var l=yl(n).hoistableScripts,r=Fl(e),c=l.get(r);c||(c=n.querySelector(Xi(r)),c||(e=y({src:e,async:!0},t),(t=cn.get(r))&&lu(e,t),c=n.createElement("script"),ut(c),vt(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(r,c))}}function j0(e,t){Kn.M(e,t);var n=Zl;if(n&&e){var l=yl(n).hoistableScripts,r=Fl(e),c=l.get(r);c||(c=n.querySelector(Xi(r)),c||(e=y({src:e,async:!0,type:"module"},t),(t=cn.get(r))&&lu(e,t),c=n.createElement("script"),ut(c),vt(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(r,c))}}function Um(e,t,n,l){var r=(r=te.current)?pr(r):null;if(!r)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Jl(n.href),n=yl(r).hoistableStyles,l=n.get(t),l||(l={type:"style",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Jl(n.href);var c=yl(r).hoistableStyles,d=c.get(e);if(d||(r=r.ownerDocument||r,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,d),(c=r.querySelector(Vi(e)))&&!c._p&&(d.instance=c,d.state.loading=5),cn.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},cn.set(e,n),c||A0(r,e,n,d.state))),t&&l===null)throw Error(o(528,""));return d}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Fl(n),n=yl(r).hoistableScripts,l=n.get(t),l||(l={type:"script",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Jl(e){return'href="'+en(e)+'"'}function Vi(e){return'link[rel="stylesheet"]['+e+"]"}function Lm(e){return y({},e,{"data-precedence":e.precedence,precedence:null})}function A0(e,t,n,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),vt(t,"link",n),ut(t),e.head.appendChild(t))}function Fl(e){return'[src="'+en(e)+'"]'}function Xi(e){return"script[async]"+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+en(n.href)+'"]');if(l)return t.instance=l,ut(l),l;var r=y({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ut(l),vt(l,"style",r),yr(l,n.precedence,e),t.instance=l;case"stylesheet":r=Jl(n.href);var c=e.querySelector(Vi(r));if(c)return t.state.loading|=4,t.instance=c,ut(c),c;l=Lm(n),(r=cn.get(r))&&au(l,r),c=(e.ownerDocument||e).createElement("link"),ut(c);var d=c;return d._p=new Promise(function(b,C){d.onload=b,d.onerror=C}),vt(c,"link",l),t.state.loading|=4,yr(c,n.precedence,e),t.instance=c;case"script":return c=Fl(n.src),(r=e.querySelector(Xi(c)))?(t.instance=r,ut(r),r):(l=n,(r=cn.get(c))&&(l=y({},n),lu(l,r)),e=e.ownerDocument||e,r=e.createElement("script"),ut(r),vt(r,"link",l),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,yr(l,n.precedence,e));return t.instance}function yr(e,t,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=l.length?l[l.length-1]:null,c=r,d=0;d title"):null)}function O0(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ym(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function N0(e,t,n,l){if(n.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var r=Jl(l.href),c=t.querySelector(Vi(r));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=vr.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=c,ut(c);return}c=t.ownerDocument||t,l=Lm(l),(r=cn.get(r))&&au(l,r),c=c.createElement("link"),ut(c);var d=c;d._p=new Promise(function(b,C){d.onload=b,d.onerror=C}),vt(c,"link",l),n.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=vr.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var iu=0;function R0(e,t){return e.stylesheets&&e.count===0&&xr(e,e.stylesheets),0iu?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(r)}}:null}function vr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xr(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var br=null;function xr(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,br=new Map,t.forEach(M0,e),br=null,vr.call(e))}function M0(e,t){if(!(t.state.loading&4)){var n=br.get(e);if(n)var l=n.get(null);else{n=new Map,br.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),mu.exports=Z0(),mu.exports}var F0=J0(),fs=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(a){return this.listeners.add(a),this.onSubscribe(),()=>{this.listeners.delete(a),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},$0=class extends fs{#e;#t;#n;constructor(){super(),this.#n=a=>{if(typeof window<"u"&&window.addEventListener){const i=()=>a();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(a){this.#n=a,this.#t?.(),this.#t=a(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()})}setFocused(a){this.#e!==a&&(this.#e=a,this.onFocus())}onFocus(){const a=this.isFocused();this.listeners.forEach(i=>{i(a)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Gu=new $0,W0={setTimeout:(a,i)=>setTimeout(a,i),clearTimeout:a=>clearTimeout(a),setInterval:(a,i)=>setInterval(a,i),clearInterval:a=>clearInterval(a)},P0=class{#e=W0;#t=!1;setTimeoutProvider(a){this.#e=a}setTimeout(a,i){return this.#e.setTimeout(a,i)}clearTimeout(a){this.#e.clearTimeout(a)}setInterval(a,i){return this.#e.setInterval(a,i)}clearInterval(a){this.#e.clearInterval(a)}},il=new P0;function I0(a){setTimeout(a,0)}var eb=typeof window>"u"||"Deno"in globalThis;function Bt(){}function tb(a,i){return typeof a=="function"?a(i):a}function Cu(a){return typeof a=="number"&&a>=0&&a!==1/0}function ay(a,i){return Math.max(a+(i||0)-Date.now(),0)}function Oa(a,i){return typeof a=="function"?a(i):a}function $t(a,i){return typeof a=="function"?a(i):a}function dp(a,i){const{type:s="all",exact:o,fetchStatus:u,predicate:f,queryKey:h,stale:v}=a;if(h){if(o){if(i.queryHash!==Vu(h,i.options))return!1}else if(!ns(i.queryKey,h))return!1}if(s!=="all"){const g=i.isActive();if(s==="active"&&!g||s==="inactive"&&g)return!1}return!(typeof v=="boolean"&&i.isStale()!==v||u&&u!==i.state.fetchStatus||f&&!f(i))}function hp(a,i){const{exact:s,status:o,predicate:u,mutationKey:f}=a;if(f){if(!i.options.mutationKey)return!1;if(s){if(ts(i.options.mutationKey)!==ts(f))return!1}else if(!ns(i.options.mutationKey,f))return!1}return!(o&&i.state.status!==o||u&&!u(i))}function Vu(a,i){return(i?.queryKeyHashFn||ts)(a)}function ts(a){return JSON.stringify(a,(i,s)=>Au(s)?Object.keys(s).sort().reduce((o,u)=>(o[u]=s[u],o),{}):s)}function ns(a,i){return a===i?!0:typeof a!=typeof i?!1:a&&i&&typeof a=="object"&&typeof i=="object"?Object.keys(i).every(s=>ns(a[s],i[s])):!1}var nb=Object.prototype.hasOwnProperty;function ly(a,i,s=0){if(a===i)return a;if(s>500)return i;const o=mp(a)&&mp(i);if(!o&&!(Au(a)&&Au(i)))return i;const f=(o?a:Object.keys(a)).length,h=o?i:Object.keys(i),v=h.length,g=o?new Array(v):{};let m=0;for(let S=0;S{il.setTimeout(i,a)})}function Ou(a,i,s){return typeof s.structuralSharing=="function"?s.structuralSharing(a,i):s.structuralSharing!==!1?ly(a,i):i}function lb(a,i,s=0){const o=[...a,i];return s&&o.length>s?o.slice(1):o}function ib(a,i,s=0){const o=[i,...a];return s&&o.length>s?o.slice(0,-1):o}var Xu=Symbol();function iy(a,i){return!a.queryFn&&i?.initialPromise?()=>i.initialPromise:!a.queryFn||a.queryFn===Xu?()=>Promise.reject(new Error(`Missing queryFn: '${a.queryHash}'`)):a.queryFn}function sy(a,i){return typeof a=="function"?a(...i):!!a}function sb(a,i,s){let o=!1,u;return Object.defineProperty(a,"signal",{enumerable:!0,get:()=>(u??=i(),o||(o=!0,u.aborted?s():u.addEventListener("abort",s,{once:!0})),u)}),a}var as=(()=>{let a=()=>eb;return{isServer(){return a()},setIsServer(i){a=i}}})();function Nu(){let a,i;const s=new Promise((u,f)=>{a=u,i=f});s.status="pending",s.catch(()=>{});function o(u){Object.assign(s,u),delete s.resolve,delete s.reject}return s.resolve=u=>{o({status:"fulfilled",value:u}),a(u)},s.reject=u=>{o({status:"rejected",reason:u}),i(u)},s}var rb=I0;function ob(){let a=[],i=0,s=v=>{v()},o=v=>{v()},u=rb;const f=v=>{i?a.push(v):u(()=>{s(v)})},h=()=>{const v=a;a=[],v.length&&u(()=>{o(()=>{v.forEach(g=>{s(g)})})})};return{batch:v=>{let g;i++;try{g=v()}finally{i--,i||h()}return g},batchCalls:v=>(...g)=>{f(()=>{v(...g)})},schedule:f,setNotifyFunction:v=>{s=v},setBatchNotifyFunction:v=>{o=v},setScheduler:v=>{u=v}}}var bt=ob(),cb=class extends fs{#e=!0;#t;#n;constructor(){super(),this.#n=a=>{if(typeof window<"u"&&window.addEventListener){const i=()=>a(!0),s=()=>a(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(a){this.#n=a,this.#t?.(),this.#t=a(this.setOnline.bind(this))}setOnline(a){this.#e!==a&&(this.#e=a,this.listeners.forEach(s=>{s(a)}))}isOnline(){return this.#e}},Lr=new cb;function ub(a){return Math.min(1e3*2**a,3e4)}function ry(a){return(a??"online")==="online"?Lr.isOnline():!0}var Ru=class extends Error{constructor(a){super("CancelledError"),this.revert=a?.revert,this.silent=a?.silent}};function oy(a){let i=!1,s=0,o;const u=Nu(),f=()=>u.status!=="pending",h=O=>{if(!f()){const M=new Ru(O);x(M),a.onCancel?.(M)}},v=()=>{i=!0},g=()=>{i=!1},m=()=>Gu.isFocused()&&(a.networkMode==="always"||Lr.isOnline())&&a.canRun(),S=()=>ry(a.networkMode)&&a.canRun(),y=O=>{f()||(o?.(),u.resolve(O))},x=O=>{f()||(o?.(),u.reject(O))},E=()=>new Promise(O=>{o=M=>{(f()||m())&&O(M)},a.onPause?.()}).then(()=>{o=void 0,f()||a.onContinue?.()}),w=()=>{if(f())return;let O;const M=s===0?a.initialPromise:void 0;try{O=M??a.fn()}catch(k){O=Promise.reject(k)}Promise.resolve(O).then(y).catch(k=>{if(f())return;const Z=a.retry??(as.isServer()?0:3),V=a.retryDelay??ub,W=typeof V=="function"?V(s,k):V,ee=Z===!0||typeof Z=="number"&&sm()?void 0:E()).then(()=>{i?x(k):w()})})};return{promise:u,status:()=>u.status,cancel:h,continue:()=>(o?.(),u),cancelRetry:v,continueRetry:g,canStart:S,start:()=>(S()?w():E().then(w),u)}}var cy=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Cu(this.gcTime)&&(this.#e=il.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(a){this.gcTime=Math.max(this.gcTime||0,a??(as.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(il.clearTimeout(this.#e),this.#e=void 0)}};function fb(a){return{onFetch:(i,s)=>{const o=i.options,u=i.fetchOptions?.meta?.fetchMore?.direction,f=i.state.data?.pages||[],h=i.state.data?.pageParams||[];let v={pages:[],pageParams:[]},g=0;const m=async()=>{let S=!1;const y=w=>{sb(w,()=>i.signal,()=>S=!0)},x=iy(i.options,i.fetchOptions),E=async(w,O,M)=>{if(S)return Promise.reject(i.signal.reason);if(O==null&&w.pages.length)return Promise.resolve(w);const Z=(()=>{const K={client:i.client,queryKey:i.queryKey,pageParam:O,direction:M?"backward":"forward",meta:i.options.meta};return y(K),K})(),V=await x(Z),{maxPages:W}=i.options,ee=M?ib:lb;return{pages:ee(w.pages,V,W),pageParams:ee(w.pageParams,O,W)}};if(u&&f.length){const w=u==="backward",O=w?db:yp,M={pages:f,pageParams:h},k=O(o,M);v=await E(M,k,w)}else{const w=a??f.length;do{const O=g===0?h[0]??o.initialPageParam:yp(o,v);if(g>0&&O==null)break;v=await E(v,O),g++}while(gi.options.persister?.(m,{client:i.client,queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},s):i.fetchFn=m}}}function yp(a,{pages:i,pageParams:s}){const o=i.length-1;return i.length>0?a.getNextPageParam(i[o],i,s[o],s):void 0}function db(a,{pages:i,pageParams:s}){return i.length>0?a.getPreviousPageParam?.(i[0],i,s[0],s):void 0}var hb=class extends cy{#e;#t;#n;#a;#i;#l;#r;#s;constructor(a){super(),this.#s=!1,this.#r=a.defaultOptions,this.setOptions(a.options),this.observers=[],this.#i=a.client,this.#a=this.#i.getQueryCache(),this.queryKey=a.queryKey,this.queryHash=a.queryHash,this.#t=vp(this.options),this.state=a.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#l?.promise}setOptions(a){if(this.options={...this.#r,...a},a?._type&&(this.#e=a._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=vp(this.options);i.data!==void 0&&(this.setState(gp(i.data,i.dataUpdatedAt)),this.#t=i)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#a.remove(this)}setData(a,i){const s=Ou(this.state.data,a,this.options);return this.#o({data:s,type:"success",dataUpdatedAt:i?.updatedAt,manual:i?.manual}),s}setState(a){this.#o({type:"setState",state:a})}cancel(a){const i=this.#l?.promise;return this.#l?.cancel(a),i?i.then(Bt).catch(Bt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(a=>$t(a.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Xu||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(a=>Oa(a.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(a=>a.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(a=0){return this.state.data===void 0?!0:a==="static"?!1:this.state.isInvalidated?!0:!ay(this.state.dataUpdatedAt,a)}onFocus(){this.observers.find(i=>i.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#l?.continue()}onOnline(){this.observers.find(i=>i.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#l?.continue()}addObserver(a){this.observers.includes(a)||(this.observers.push(a),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",query:this,observer:a}))}removeObserver(a){this.observers.includes(a)&&(this.observers=this.observers.filter(i=>i!==a),this.observers.length||(this.#l&&(this.#s||this.#u()?this.#l.cancel({revert:!0}):this.#l.cancelRetry()),this.scheduleGc()),this.#a.notify({type:"observerRemoved",query:this,observer:a}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}async fetch(a,i){if(this.state.fetchStatus!=="idle"&&this.#l?.status()!=="rejected"){if(this.state.data!==void 0&&i?.cancelRefetch)this.cancel({silent:!0});else if(this.#l)return this.#l.continueRetry(),this.#l.promise}if(a&&this.setOptions(a),!this.options.queryFn){const g=this.observers.find(m=>m.options.queryFn);g&&this.setOptions(g.options)}const s=new AbortController,o=g=>{Object.defineProperty(g,"signal",{enumerable:!0,get:()=>(this.#s=!0,s.signal)})},u=()=>{const g=iy(this.options,i),S=(()=>{const y={client:this.#i,queryKey:this.queryKey,meta:this.meta};return o(y),y})();return this.#s=!1,this.options.persister?this.options.persister(g,S,this):g(S)},h=(()=>{const g={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:u};return o(g),g})();(this.#e==="infinite"?fb(this.options.pages):this.options.behavior)?.onFetch(h,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==h.fetchOptions?.meta)&&this.#o({type:"fetch",meta:h.fetchOptions?.meta}),this.#l=oy({initialPromise:i?.initialPromise,fn:h.fetchFn,onCancel:g=>{g instanceof Ru&&g.revert&&this.setState({...this.#n,fetchStatus:"idle"}),s.abort()},onFail:(g,m)=>{this.#o({type:"failed",failureCount:g,error:m})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0});try{const g=await this.#l.start();if(g===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(g),this.#a.config.onSuccess?.(g,this),this.#a.config.onSettled?.(g,this.state.error,this),g}catch(g){if(g instanceof Ru){if(g.silent)return this.#l.promise;if(g.revert){if(this.state.data===void 0)throw g;return this.state.data}}throw this.#o({type:"error",error:g}),this.#a.config.onError?.(g,this),this.#a.config.onSettled?.(this.state.data,g,this),g}finally{this.scheduleGc()}}#o(a){const i=s=>{switch(a.type){case"failed":return{...s,fetchFailureCount:a.failureCount,fetchFailureReason:a.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...uy(s.data,this.options),fetchMeta:a.meta??null};case"success":const o={...s,...gp(a.data,a.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!a.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=a.manual?o:void 0,o;case"error":const u=a.error;return{...s,error:u,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:u,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...a.state}}};this.state=i(this.state),bt.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),this.#a.notify({query:this,type:"updated",action:a})})}};function uy(a,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ry(i.networkMode)?"fetching":"paused",...a===void 0&&{error:null,status:"pending"}}}function gp(a,i){return{data:a,dataUpdatedAt:i??Date.now(),error:null,isInvalidated:!1,status:"success"}}function vp(a){const i=typeof a.initialData=="function"?a.initialData():a.initialData,s=i!==void 0,o=s?typeof a.initialDataUpdatedAt=="function"?a.initialDataUpdatedAt():a.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:s?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var mb=class extends fs{constructor(a,i){super(),this.options=i,this.#e=a,this.#s=null,this.#r=Nu(),this.bindMethods(),this.setOptions(i)}#e;#t=void 0;#n=void 0;#a=void 0;#i;#l;#r;#s;#u;#o;#m;#f;#d;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),bp(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Mu(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Mu(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#S(),this.#t.removeObserver(this)}setOptions(a){const i=this.options,s=this.#t;if(this.options=this.#e.defaultQueryOptions(a),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof $t(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#w(),this.#t.setOptions(this.options),i._defaulted&&!ju(this.options,i)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const o=this.hasListeners();o&&xp(this.#t,s,this.options,i)&&this.#h(),this.updateResult(),o&&(this.#t!==s||$t(this.options.enabled,this.#t)!==$t(i.enabled,this.#t)||Oa(this.options.staleTime,this.#t)!==Oa(i.staleTime,this.#t))&&this.#y();const u=this.#g();o&&(this.#t!==s||$t(this.options.enabled,this.#t)!==$t(i.enabled,this.#t)||u!==this.#c)&&this.#v(u)}getOptimisticResult(a){const i=this.#e.getQueryCache().build(this.#e,a),s=this.createResult(i,a);return yb(this,s)&&(this.#a=s,this.#l=this.options,this.#i=this.#t.state),s}getCurrentResult(){return this.#a}trackResult(a,i){return new Proxy(a,{get:(s,o)=>(this.trackProp(o),i?.(o),o==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,o))})}trackProp(a){this.#p.add(a)}getCurrentQuery(){return this.#t}refetch({...a}={}){return this.fetch({...a})}fetchOptimistic(a){const i=this.#e.defaultQueryOptions(a),s=this.#e.getQueryCache().build(this.#e,i);return s.fetch().then(()=>this.createResult(s,i))}fetch(a){return this.#h({...a,cancelRefetch:a.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#a))}#h(a){this.#w();let i=this.#t.fetch(this.options,a);return a?.throwOnError||(i=i.catch(Bt)),i}#y(){this.#x();const a=Oa(this.options.staleTime,this.#t);if(as.isServer()||this.#a.isStale||!Cu(a))return;const s=ay(this.#a.dataUpdatedAt,a)+1;this.#f=il.setTimeout(()=>{this.#a.isStale||this.updateResult()},s)}#g(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(a){this.#S(),this.#c=a,!(as.isServer()||$t(this.options.enabled,this.#t)===!1||!Cu(this.#c)||this.#c===0)&&(this.#d=il.setInterval(()=>{(this.options.refetchIntervalInBackground||Gu.isFocused())&&this.#h()},this.#c))}#b(){this.#y(),this.#v(this.#g())}#x(){this.#f!==void 0&&(il.clearTimeout(this.#f),this.#f=void 0)}#S(){this.#d!==void 0&&(il.clearInterval(this.#d),this.#d=void 0)}createResult(a,i){const s=this.#t,o=this.options,u=this.#a,f=this.#i,h=this.#l,g=a!==s?a.state:this.#n,{state:m}=a;let S={...m},y=!1,x;if(i._optimisticResults){const B=this.hasListeners(),ue=!B&&bp(a,i),de=B&&xp(a,s,i,o);(ue||de)&&(S={...S,...uy(m.data,a.options)}),i._optimisticResults==="isRestoring"&&(S.fetchStatus="idle")}let{error:E,errorUpdatedAt:w,status:O}=S;x=S.data;let M=!1;if(i.placeholderData!==void 0&&x===void 0&&O==="pending"){let B;u?.isPlaceholderData&&i.placeholderData===h?.placeholderData?(B=u.data,M=!0):B=typeof i.placeholderData=="function"?i.placeholderData(this.#m?.state.data,this.#m):i.placeholderData,B!==void 0&&(O="success",x=Ou(u?.data,B,i),y=!0)}if(i.select&&x!==void 0&&!M)if(u&&x===f?.data&&i.select===this.#u)x=this.#o;else try{this.#u=i.select,x=i.select(x),x=Ou(u?.data,x,i),this.#o=x,this.#s=null}catch(B){this.#s=B}this.#s&&(E=this.#s,x=this.#o,w=Date.now(),O="error");const k=S.fetchStatus==="fetching",Z=O==="pending",V=O==="error",W=Z&&k,ee=x!==void 0,J={status:O,fetchStatus:S.fetchStatus,isPending:Z,isSuccess:O==="success",isError:V,isInitialLoading:W,isLoading:W,data:x,dataUpdatedAt:S.dataUpdatedAt,error:E,errorUpdatedAt:w,failureCount:S.fetchFailureCount,failureReason:S.fetchFailureReason,errorUpdateCount:S.errorUpdateCount,isFetched:a.isFetched(),isFetchedAfterMount:S.dataUpdateCount>g.dataUpdateCount||S.errorUpdateCount>g.errorUpdateCount,isFetching:k,isRefetching:k&&!Z,isLoadingError:V&&!ee,isPaused:S.fetchStatus==="paused",isPlaceholderData:y,isRefetchError:V&&ee,isStale:Ku(a,i),refetch:this.refetch,promise:this.#r,isEnabled:$t(i.enabled,a)!==!1};if(this.options.experimental_prefetchInRender){const B=J.data!==void 0,ue=J.status==="error"&&!B,de=oe=>{ue?oe.reject(J.error):B&&oe.resolve(J.data)},re=()=>{const oe=this.#r=J.promise=Nu();de(oe)},ye=this.#r;switch(ye.status){case"pending":a.queryHash===s.queryHash&&de(ye);break;case"fulfilled":(ue||J.data!==ye.value)&&re();break;case"rejected":(!ue||J.error!==ye.reason)&&re();break}}return J}updateResult(){const a=this.#a,i=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#l=this.options,this.#i.data!==void 0&&(this.#m=this.#t),ju(i,a))return;this.#a=i;const s=()=>{if(!a)return!0;const{notifyOnChangeProps:o}=this.options,u=typeof o=="function"?o():o;if(u==="all"||!u&&!this.#p.size)return!0;const f=new Set(u??this.#p);return this.options.throwOnError&&f.add("error"),Object.keys(this.#a).some(h=>{const v=h;return this.#a[v]!==a[v]&&f.has(v)})};this.#E({listeners:s()})}#w(){const a=this.#e.getQueryCache().build(this.#e,this.options);if(a===this.#t)return;const i=this.#t;this.#t=a,this.#n=a.state,this.hasListeners()&&(i?.removeObserver(this),a.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#E(a){bt.batch(()=>{a.listeners&&this.listeners.forEach(i=>{i(this.#a)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function pb(a,i){return $t(i.enabled,a)!==!1&&a.state.data===void 0&&!(a.state.status==="error"&&$t(i.retryOnMount,a)===!1)}function bp(a,i){return pb(a,i)||a.state.data!==void 0&&Mu(a,i,i.refetchOnMount)}function Mu(a,i,s){if($t(i.enabled,a)!==!1&&Oa(i.staleTime,a)!=="static"){const o=typeof s=="function"?s(a):s;return o==="always"||o!==!1&&Ku(a,i)}return!1}function xp(a,i,s,o){return(a!==i||$t(o.enabled,a)===!1)&&(!s.suspense||a.state.status!=="error")&&Ku(a,s)}function Ku(a,i){return $t(i.enabled,a)!==!1&&a.isStaleByTime(Oa(i.staleTime,a))}function yb(a,i){return!ju(a.getCurrentResult(),i)}var gb=class extends cy{#e;#t;#n;#a;constructor(a){super(),this.#e=a.client,this.mutationId=a.mutationId,this.#n=a.mutationCache,this.#t=[],this.state=a.state||vb(),this.setOptions(a.options),this.scheduleGc()}setOptions(a){this.options=a,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(a){this.#t.includes(a)||(this.#t.push(a),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:a}))}removeObserver(a){this.#t=this.#t.filter(i=>i!==a),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:a})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#a?.continue()??this.execute(this.state.variables)}async execute(a){const i=()=>{this.#i({type:"continue"})},s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#a=oy({fn:()=>this.options.mutationFn?this.options.mutationFn(a,s):Promise.reject(new Error("No mutationFn found")),onFail:(f,h)=>{this.#i({type:"failed",failureCount:f,error:h})},onPause:()=>{this.#i({type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const o=this.state.status==="pending",u=!this.#a.canStart();try{if(o)i();else{this.#i({type:"pending",variables:a,isPaused:u}),this.#n.config.onMutate&&await this.#n.config.onMutate(a,this,s);const h=await this.options.onMutate?.(a,s);h!==this.state.context&&this.#i({type:"pending",context:h,variables:a,isPaused:u})}const f=await this.#a.start();return await this.#n.config.onSuccess?.(f,a,this.state.context,this,s),await this.options.onSuccess?.(f,a,this.state.context,s),await this.#n.config.onSettled?.(f,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(f,null,a,this.state.context,s),this.#i({type:"success",data:f}),f}catch(f){try{await this.#n.config.onError?.(f,a,this.state.context,this,s)}catch(h){Promise.reject(h)}try{await this.options.onError?.(f,a,this.state.context,s)}catch(h){Promise.reject(h)}try{await this.#n.config.onSettled?.(void 0,f,this.state.variables,this.state.context,this,s)}catch(h){Promise.reject(h)}try{await this.options.onSettled?.(void 0,f,a,this.state.context,s)}catch(h){Promise.reject(h)}throw this.#i({type:"error",error:f}),f}finally{this.#n.runNext(this)}}#i(a){const i=s=>{switch(a.type){case"failed":return{...s,failureCount:a.failureCount,failureReason:a.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:a.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:a.isPaused,status:"pending",variables:a.variables,submittedAt:Date.now()};case"success":return{...s,data:a.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:a.error,failureCount:s.failureCount+1,failureReason:a.error,isPaused:!1,status:"error"}}};this.state=i(this.state),bt.batch(()=>{this.#t.forEach(s=>{s.onMutationUpdate(a)}),this.#n.notify({mutation:this,type:"updated",action:a})})}};function vb(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var bb=class extends fs{constructor(a={}){super(),this.config=a,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(a,i,s){const o=new gb({client:a,mutationCache:this,mutationId:++this.#n,options:a.defaultMutationOptions(i),state:s});return this.add(o),o}add(a){this.#e.add(a);const i=Or(a);if(typeof i=="string"){const s=this.#t.get(i);s?s.push(a):this.#t.set(i,[a])}this.notify({type:"added",mutation:a})}remove(a){if(this.#e.delete(a)){const i=Or(a);if(typeof i=="string"){const s=this.#t.get(i);if(s)if(s.length>1){const o=s.indexOf(a);o!==-1&&s.splice(o,1)}else s[0]===a&&this.#t.delete(i)}}this.notify({type:"removed",mutation:a})}canRun(a){const i=Or(a);if(typeof i=="string"){const o=this.#t.get(i)?.find(u=>u.state.status==="pending");return!o||o===a}else return!0}runNext(a){const i=Or(a);return typeof i=="string"?this.#t.get(i)?.find(o=>o!==a&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){bt.batch(()=>{this.#e.forEach(a=>{this.notify({type:"removed",mutation:a})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(a){const i={exact:!0,...a};return this.getAll().find(s=>hp(i,s))}findAll(a={}){return this.getAll().filter(i=>hp(a,i))}notify(a){bt.batch(()=>{this.listeners.forEach(i=>{i(a)})})}resumePausedMutations(){const a=this.getAll().filter(i=>i.state.isPaused);return bt.batch(()=>Promise.all(a.map(i=>i.continue().catch(Bt))))}};function Or(a){return a.options.scope?.id}var xb=class extends fs{constructor(a={}){super(),this.config=a,this.#e=new Map}#e;build(a,i,s){const o=i.queryKey,u=i.queryHash??Vu(o,i);let f=this.get(u);return f||(f=new hb({client:a,queryKey:o,queryHash:u,options:a.defaultQueryOptions(i),state:s,defaultOptions:a.getQueryDefaults(o)}),this.add(f)),f}add(a){this.#e.has(a.queryHash)||(this.#e.set(a.queryHash,a),this.notify({type:"added",query:a}))}remove(a){const i=this.#e.get(a.queryHash);i&&(a.destroy(),i===a&&this.#e.delete(a.queryHash),this.notify({type:"removed",query:a}))}clear(){bt.batch(()=>{this.getAll().forEach(a=>{this.remove(a)})})}get(a){return this.#e.get(a)}getAll(){return[...this.#e.values()]}find(a){const i={exact:!0,...a};return this.getAll().find(s=>dp(i,s))}findAll(a={}){const i=this.getAll();return Object.keys(a).length>0?i.filter(s=>dp(a,s)):i}notify(a){bt.batch(()=>{this.listeners.forEach(i=>{i(a)})})}onFocus(){bt.batch(()=>{this.getAll().forEach(a=>{a.onFocus()})})}onOnline(){bt.batch(()=>{this.getAll().forEach(a=>{a.onOnline()})})}},Sb=class{#e;#t;#n;#a;#i;#l;#r;#s;constructor(a={}){this.#e=a.queryCache||new xb,this.#t=a.mutationCache||new bb,this.#n=a.defaultOptions||{},this.#a=new Map,this.#i=new Map,this.#l=0}mount(){this.#l++,this.#l===1&&(this.#r=Gu.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Lr.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#l--,this.#l===0&&(this.#r?.(),this.#r=void 0,this.#s?.(),this.#s=void 0)}isFetching(a){return this.#e.findAll({...a,fetchStatus:"fetching"}).length}isMutating(a){return this.#t.findAll({...a,status:"pending"}).length}getQueryData(a){const i=this.defaultQueryOptions({queryKey:a});return this.#e.get(i.queryHash)?.state.data}ensureQueryData(a){const i=this.defaultQueryOptions(a),s=this.#e.build(this,i),o=s.state.data;return o===void 0?this.fetchQuery(a):(a.revalidateIfStale&&s.isStaleByTime(Oa(i.staleTime,s))&&this.prefetchQuery(i),Promise.resolve(o))}getQueriesData(a){return this.#e.findAll(a).map(({queryKey:i,state:s})=>{const o=s.data;return[i,o]})}setQueryData(a,i,s){const o=this.defaultQueryOptions({queryKey:a}),f=this.#e.get(o.queryHash)?.state.data,h=tb(i,f);if(h!==void 0)return this.#e.build(this,o).setData(h,{...s,manual:!0})}setQueriesData(a,i,s){return bt.batch(()=>this.#e.findAll(a).map(({queryKey:o})=>[o,this.setQueryData(o,i,s)]))}getQueryState(a){const i=this.defaultQueryOptions({queryKey:a});return this.#e.get(i.queryHash)?.state}removeQueries(a){const i=this.#e;bt.batch(()=>{i.findAll(a).forEach(s=>{i.remove(s)})})}resetQueries(a,i){const s=this.#e;return bt.batch(()=>(s.findAll(a).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...a},i)))}cancelQueries(a,i={}){const s={revert:!0,...i},o=bt.batch(()=>this.#e.findAll(a).map(u=>u.cancel(s)));return Promise.all(o).then(Bt).catch(Bt)}invalidateQueries(a,i={}){return bt.batch(()=>(this.#e.findAll(a).forEach(s=>{s.invalidate()}),a?.refetchType==="none"?Promise.resolve():this.refetchQueries({...a,type:a?.refetchType??a?.type??"active"},i)))}refetchQueries(a,i={}){const s={...i,cancelRefetch:i.cancelRefetch??!0},o=bt.batch(()=>this.#e.findAll(a).filter(u=>!u.isDisabled()&&!u.isStatic()).map(u=>{let f=u.fetch(void 0,s);return s.throwOnError||(f=f.catch(Bt)),u.state.fetchStatus==="paused"?Promise.resolve():f}));return Promise.all(o).then(Bt)}fetchQuery(a){const i=this.defaultQueryOptions(a);i.retry===void 0&&(i.retry=!1);const s=this.#e.build(this,i);return s.isStaleByTime(Oa(i.staleTime,s))?s.fetch(i):Promise.resolve(s.state.data)}prefetchQuery(a){return this.fetchQuery(a).then(Bt).catch(Bt)}fetchInfiniteQuery(a){return a._type="infinite",this.fetchQuery(a)}prefetchInfiniteQuery(a){return this.fetchInfiniteQuery(a).then(Bt).catch(Bt)}ensureInfiniteQueryData(a){return a._type="infinite",this.ensureQueryData(a)}resumePausedMutations(){return Lr.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(a){this.#n=a}setQueryDefaults(a,i){this.#a.set(ts(a),{queryKey:a,defaultOptions:i})}getQueryDefaults(a){const i=[...this.#a.values()],s={};return i.forEach(o=>{ns(a,o.queryKey)&&Object.assign(s,o.defaultOptions)}),s}setMutationDefaults(a,i){this.#i.set(ts(a),{mutationKey:a,defaultOptions:i})}getMutationDefaults(a){const i=[...this.#i.values()],s={};return i.forEach(o=>{ns(a,o.mutationKey)&&Object.assign(s,o.defaultOptions)}),s}defaultQueryOptions(a){if(a._defaulted)return a;const i={...this.#n.queries,...this.getQueryDefaults(a.queryKey),...a,_defaulted:!0};return i.queryHash||(i.queryHash=Vu(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.queryFn===Xu&&(i.enabled=!1),i}defaultMutationOptions(a){return a?._defaulted?a:{...this.#n.mutations,...a?.mutationKey&&this.getMutationDefaults(a.mutationKey),...a,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},fy=T.createContext(void 0),ds=a=>{const i=T.useContext(fy);if(!i)throw new Error("No QueryClient set, use QueryClientProvider to set one");return i},wb=({client:a,children:i})=>(T.useEffect(()=>(a.mount(),()=>{a.unmount()}),[a]),p.jsx(fy.Provider,{value:a,children:i})),dy=T.createContext(!1),Eb=()=>T.useContext(dy);dy.Provider;function Tb(){let a=!1;return{clearReset:()=>{a=!1},reset:()=>{a=!0},isReset:()=>a}}var Cb=T.createContext(Tb()),jb=()=>T.useContext(Cb),Ab=(a,i,s)=>{const o=s?.state.error&&typeof a.throwOnError=="function"?sy(a.throwOnError,[s.state.error,s]):a.throwOnError;(a.suspense||a.experimental_prefetchInRender||o)&&(i.isReset()||(a.retryOnMount=!1))},Ob=a=>{T.useEffect(()=>{a.clearReset()},[a])},Nb=({result:a,errorResetBoundary:i,throwOnError:s,query:o,suspense:u})=>a.isError&&!i.isReset()&&!a.isFetching&&o&&(u&&a.data===void 0||sy(s,[a.error,o])),Rb=a=>{if(a.suspense){const s=u=>u==="static"?u:Math.max(u??1e3,1e3),o=a.staleTime;a.staleTime=typeof o=="function"?(...u)=>s(o(...u)):s(o),typeof a.gcTime=="number"&&(a.gcTime=Math.max(a.gcTime,1e3))}},Mb=(a,i)=>a.isLoading&&a.isFetching&&!i,_b=(a,i)=>a?.suspense&&i.isPending,Sp=(a,i,s)=>i.fetchOptimistic(a).catch(()=>{s.clearReset()});function Db(a,i,s){const o=Eb(),u=jb(),f=ds(),h=f.defaultQueryOptions(a);f.getDefaultOptions().queries?._experimental_beforeQuery?.(h);const v=f.getQueryCache().get(h.queryHash),g=a.subscribed!==!1;h._optimisticResults=o?"isRestoring":g?"optimistic":void 0,Rb(h),Ab(h,u,v),Ob(u);const m=!f.getQueryCache().get(h.queryHash),[S]=T.useState(()=>new i(f,h)),y=S.getOptimisticResult(h),x=!o&&g;if(T.useSyncExternalStore(T.useCallback(E=>{const w=x?S.subscribe(bt.batchCalls(E)):Bt;return S.updateResult(),w},[S,x]),()=>S.getCurrentResult(),()=>S.getCurrentResult()),T.useEffect(()=>{S.setOptions(h)},[h,S]),_b(h,y))throw Sp(h,S,u);if(Nb({result:y,errorResetBoundary:u,throwOnError:h.throwOnError,query:v,suspense:h.suspense}))throw y.error;return f.getDefaultOptions().queries?._experimental_afterQuery?.(h,y),h.experimental_prefetchInRender&&!as.isServer()&&Mb(y,o)&&(m?Sp(h,S,u):v?.promise)?.catch(Bt).finally(()=>{S.updateResult()}),h.notifyOnChangeProps?y:S.trackResult(y)}function Yt(a,i){return Db(a,mb)}function hy(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}async function Wt(a){const i=await fetch(a);if(i.status===401&&hy(),!i.ok)throw new Error(await i.text());return i.json()}async function Aa(a,i,s){const o={method:a};s!==void 0&&(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(s));const u=await fetch(i,o);if(!u.ok)throw new Error(await u.text());return u.status===204?{}:u.json()}async function ei(a,i){const s=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i||{})});if(s.status===401&&hy(),!s.ok)throw new Error(await s.text());return s.json()}function zb(){return Yt({queryKey:["config"],queryFn:async()=>{const a=await Wt("/api/config");return a.auth.enabled&&!a.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),a},staleTime:1/0})}var Vr=ny();const kb=ty(Vr);function wp(a,i){if(typeof a=="function")return a(i);a!=null&&(a.current=i)}function Hb(...a){return i=>{let s=!1;const o=a.map(u=>{const f=wp(u,i);return!s&&typeof f=="function"&&(s=!0),f});if(s)return()=>{for(let u=0;u{let{children:u,...f}=s,h=null,v=!1;const g=[];Ep(u)&&typeof Nr=="function"&&(u=Nr(u._payload)),T.Children.forEach(u,x=>{if(Yb(x)){v=!0;const E=x;let w="child"in E.props?E.props.child:E.props.children;Ep(w)&&typeof Nr=="function"&&(w=Nr(w._payload)),h=Bb(E,w),g.push(h?.props?.children)}else g.push(x)}),h?h=T.cloneElement(h,void 0,g):!v&&T.Children.count(u)===1&&T.isValidElement(u)&&(h=u);const m=h?Qb(h):void 0,S=ol(o,m);if(!h){if(u||u===0)throw new Error(v?Kb(a):Xb(a));return u}const y=qb(f,h.props??{});return h.type!==T.Fragment&&(y.ref=o?S:m),T.cloneElement(h,y)});return i.displayName=`${a}.Slot`,i}var my=Symbol.for("radix.slottable");function Lb(a){const i=s=>"child"in s?s.children(s.child):s.children;return i.displayName=`${a}.Slottable`,i.__radixId=my,i}var Bb=(a,i)=>{if("child"in a.props){const s=a.props.child;return T.isValidElement(s)?T.cloneElement(s,void 0,a.props.children(s.props.children)):null}return T.isValidElement(i)?i:null};function qb(a,i){const s={...i};for(const o in i){const u=a[o],f=i[o];/^on[A-Z]/.test(o)?u&&f?s[o]=(...v)=>{const g=f(...v);return u(...v),g}:u&&(s[o]=u):o==="style"?s[o]={...u,...f}:o==="className"&&(s[o]=[u,f].filter(Boolean).join(" "))}return{...a,...s}}function Qb(a){let i=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,s=i&&"isReactWarning"in i&&i.isReactWarning;return s?a.ref:(i=Object.getOwnPropertyDescriptor(a,"ref")?.get,s=i&&"isReactWarning"in i&&i.isReactWarning,s?a.props.ref:a.props.ref||a.ref)}function Yb(a){return T.isValidElement(a)&&typeof a.type=="function"&&"__radixId"in a.type&&a.type.__radixId===my}var Gb=Symbol.for("react.lazy");function Ep(a){return a!=null&&typeof a=="object"&&"$$typeof"in a&&a.$$typeof===Gb&&"_payload"in a&&Vb(a._payload)}function Vb(a){return typeof a=="object"&&a!==null&&"then"in a}var Xb=a=>`${a} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Kb=a=>`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Nr=Yu[" use ".trim().toString()],Zb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ma=Zb.reduce((a,i)=>{const s=Ub(`Primitive.${i}`),o=T.forwardRef((u,f)=>{const{asChild:h,...v}=u,g=h?s:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(g,{...v,ref:f})});return o.displayName=`Primitive.${i}`,{...a,[i]:o}},{});function Jb(a,i){a&&Vr.flushSync(()=>a.dispatchEvent(i))}var Fb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),$b="VisuallyHidden",py=T.forwardRef((a,i)=>p.jsx(Ma.span,{...a,ref:i,style:{...Fb,...a.style}}));py.displayName=$b;var Wb=py;function yy(a,i=[]){let s=[];function o(f,h){const v=T.createContext(h);v.displayName=f+"Context";const g=s.length;s=[...s,h];const m=y=>{const{scope:x,children:E,...w}=y,O=x?.[a]?.[g]||v,M=T.useMemo(()=>w,Object.values(w));return p.jsx(O.Provider,{value:M,children:E})};m.displayName=f+"Provider";function S(y,x,E={}){const{optional:w=!1}=E,O=x?.[a]?.[g]||v,M=T.useContext(O);if(M)return M;if(h!==void 0)return h;if(!w)throw new Error(`\`${y}\` must be used within \`${f}\``)}return[m,S]}const u=()=>{const f=s.map(h=>T.createContext(h));return function(v){const g=v?.[a]||f;return T.useMemo(()=>({[`__scope${a}`]:{...v,[a]:g}}),[v,g])}};return u.scopeName=a,[o,Pb(u,...i)]}function Pb(...a){const i=a[0];if(a.length===1)return i;const s=()=>{const o=a.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(f){const h=o.reduce((v,{useScope:g,scopeName:m})=>{const y=g(f)[`__scope${m}`];return{...v,...y}},{});return T.useMemo(()=>({[`__scope${i.scopeName}`]:h}),[h])}};return s.scopeName=i.scopeName,s}function Jn(a,i,{checkForDefaultPrevented:s=!0}={}){return function(u){if(a?.(u),s===!1||!u||!u.defaultPrevented)return i?.(u)}}var Fn=globalThis?.document?T.useLayoutEffect:()=>{},Ib=Yu[" useInsertionEffect ".trim().toString()]||Fn;function e1({prop:a,defaultProp:i,onChange:s=()=>{},caller:o}){const[u,f,h]=t1({defaultProp:i,onChange:s}),v=a!==void 0,g=v?a:u;{const S=T.useRef(a!==void 0);T.useEffect(()=>{const y=S.current;y!==v&&console.warn(`${o} is changing from ${y?"controlled":"uncontrolled"} to ${v?"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.`),S.current=v},[v,o])}const m=T.useCallback(S=>{if(v){const y=n1(S)?S(a):S;y!==a&&h.current?.(y)}else f(S)},[v,a,f,h]);return[g,m]}function t1({defaultProp:a,onChange:i}){const[s,o]=T.useState(a),u=T.useRef(s),f=T.useRef(i);return Ib(()=>{f.current=i},[i]),T.useEffect(()=>{u.current!==s&&(f.current?.(s),u.current=s)},[s,u]),[s,o,f]}function n1(a){return typeof a=="function"}function a1(a,i){return T.useReducer((s,o)=>i[s][o]??s,a)}var Zu=a=>{const{present:i,children:s}=a,o=l1(i),u=typeof s=="function"?s({present:o.isPresent}):T.Children.only(s),f=i1(o.ref,s1(u));return typeof s=="function"||o.isPresent?T.cloneElement(u,{ref:f}):null};Zu.displayName="Presence";function l1(a){const[i,s]=T.useState(),o=T.useRef(null),u=T.useRef(a),f=T.useRef("none"),h=T.useRef(void 0),v=a?"mounted":"unmounted",[g,m]=a1(v,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return T.useEffect(()=>{g==="mounted"?(f.current=h.current??Pi(o.current),h.current=void 0):f.current="none"},[g]),Fn(()=>{const S=o.current,y=u.current;if(y!==a){const E=f.current,w=Pi(S);a?(h.current=w,m("MOUNT")):w==="none"||S?.display==="none"?m("UNMOUNT"):m(y&&E!==w?"ANIMATION_OUT":"UNMOUNT"),u.current=a}},[a,m]),Fn(()=>{if(i){let S;const y=i.ownerDocument.defaultView??window,x=w=>{const M=Pi(o.current).includes(CSS.escape(w.animationName));if(w.target===i&&M&&(m("ANIMATION_END"),!u.current)){const k=i.style.animationFillMode;i.style.animationFillMode="forwards",S=y.setTimeout(()=>{i.style.animationFillMode==="forwards"&&(i.style.animationFillMode=k)})}},E=w=>{w.target===i&&(f.current=Pi(o.current))};return i.addEventListener("animationstart",E),i.addEventListener("animationcancel",x),i.addEventListener("animationend",x),()=>{y.clearTimeout(S),i.removeEventListener("animationstart",E),i.removeEventListener("animationcancel",x),i.removeEventListener("animationend",x)}}else m("ANIMATION_END")},[i,m]),{isPresent:["mounted","unmountSuspended"].includes(g),ref:T.useCallback(S=>{if(S){const y=getComputedStyle(S);o.current=y,h.current=Pi(y)}else o.current=null;s(S)},[])}}function Tp(a,i){if(typeof a=="function")return a(i);a!=null&&(a.current=i)}function i1(...a){const i=T.useRef(a);return i.current=a,T.useCallback(s=>{const o=i.current;let u=!1;const f=o.map(h=>{const v=Tp(h,s);return!u&&typeof v=="function"&&(u=!0),v});if(u)return()=>{for(let h=0;h{}),o1=0;function c1(a){const[i,s]=T.useState(r1());return Fn(()=>{s(o=>o??String(o1++))},[a]),i?`radix-${i}`:""}function Xr(a){const i=T.useRef(a);return T.useEffect(()=>{i.current=a}),T.useMemo(()=>((...s)=>i.current?.(...s)),[])}var u1="DismissableLayer",_u="dismissableLayer.update",f1="dismissableLayer.pointerDownOutside",d1="dismissableLayer.focusOutside",Cp,gy=T.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),vy=T.forwardRef((a,i)=>{const{disableOutsidePointerEvents:s=!1,deferPointerDownOutside:o=!1,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:h,onInteractOutside:v,onDismiss:g,...m}=a,S=T.useContext(gy),[y,x]=T.useState(null),E=y?.ownerDocument??globalThis?.document,[,w]=T.useState({}),O=ol(i,x),M=Array.from(S.layers),[k]=[...S.layersWithOutsidePointerEventsDisabled].slice(-1),Z=k?M.indexOf(k):-1,V=y?M.indexOf(y):-1,W=S.layersWithOutsidePointerEventsDisabled.size>0,ee=V>=Z,K=T.useRef(!1),J=y1(re=>{f?.(re),v?.(re),re.defaultPrevented||g?.()},{ownerDocument:E,deferPointerDownOutside:o,isDeferredPointerDownOutsideRef:K,dismissableSurfaces:S.dismissableSurfaces,shouldHandlePointerDownOutside:T.useCallback(re=>{if(!(re instanceof Node))return!1;const ye=[...S.branches].some(oe=>oe.contains(re));return ee&&!ye},[S.branches,ee])}),B=g1(re=>{if(o&&K.current)return;const ye=re.target;[...S.branches].some(Ee=>Ee.contains(ye))||(h?.(re),v?.(re),re.defaultPrevented||g?.())},E),ue=y?V===M.length-1:!1,de=Xr(re=>{re.key==="Escape"&&(u?.(re),!re.defaultPrevented&&g&&(re.preventDefault(),g()))});return T.useEffect(()=>{if(ue)return E.addEventListener("keydown",de,{capture:!0}),()=>E.removeEventListener("keydown",de,{capture:!0})},[E,ue,de]),T.useEffect(()=>{if(y)return s&&(S.layersWithOutsidePointerEventsDisabled.size===0&&(Cp=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),S.layersWithOutsidePointerEventsDisabled.add(y)),S.layers.add(y),jp(),()=>{s&&(S.layersWithOutsidePointerEventsDisabled.delete(y),S.layersWithOutsidePointerEventsDisabled.size===0&&(E.body.style.pointerEvents=Cp))}},[y,E,s,S]),T.useEffect(()=>()=>{y&&(S.layers.delete(y),S.layersWithOutsidePointerEventsDisabled.delete(y),jp())},[y,S]),T.useEffect(()=>{const re=()=>w({});return document.addEventListener(_u,re),()=>document.removeEventListener(_u,re)},[]),p.jsx(Ma.div,{...m,ref:O,style:{pointerEvents:W?ee?"auto":"none":void 0,...a.style},onFocusCapture:Jn(a.onFocusCapture,B.onFocusCapture),onBlurCapture:Jn(a.onBlurCapture,B.onBlurCapture),onPointerDownCapture:Jn(a.onPointerDownCapture,J.onPointerDownCapture)})});vy.displayName=u1;var h1="DismissableLayerBranch",m1=T.forwardRef((a,i)=>{const s=T.useContext(gy),o=T.useRef(null),u=ol(i,o);return T.useEffect(()=>{const f=o.current;if(f)return s.branches.add(f),()=>{s.branches.delete(f)}},[s.branches]),p.jsx(Ma.div,{...a,ref:u})});m1.displayName=h1;var p1=()=>!0;function y1(a,i){const{ownerDocument:s=globalThis?.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:u,dismissableSurfaces:f,shouldHandlePointerDownOutside:h=p1}=i,v=Xr(a),g=T.useRef(!1),m=T.useRef(!1),S=T.useRef(new Map),y=T.useRef(()=>{});return T.useEffect(()=>{function x(){m.current=!1,u.current=!1,S.current.clear()}function E(){return Array.from(S.current.values()).some(Boolean)}function w(V){if(!m.current)return;const W=V.target;W instanceof Node&&[...f].some(K=>K.contains(W))||S.current.set(V.type,!0),V.type==="click"&&window.setTimeout(()=>{m.current&&y.current()},0)}function O(V){m.current&&S.current.set(V.type,!1)}const M=V=>{if(V.target&&!g.current){let W=function(){s.removeEventListener("click",y.current);const K=E();x(),K||by(f1,v,ee,{discrete:!0})};if(!h(V.target)){s.removeEventListener("click",y.current),x(),g.current=!1;return}const ee={originalEvent:V};m.current=!0,u.current=o&&V.button===0,S.current.clear(),!o||V.button!==0?W():(s.removeEventListener("click",y.current),y.current=W,s.addEventListener("click",y.current,{once:!0}))}else s.removeEventListener("click",y.current),x();g.current=!1},k=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const V of k)s.addEventListener(V,w,!0),s.addEventListener(V,O);const Z=window.setTimeout(()=>{s.addEventListener("pointerdown",M)},0);return()=>{window.clearTimeout(Z),s.removeEventListener("pointerdown",M),s.removeEventListener("click",y.current);for(const V of k)s.removeEventListener(V,w,!0),s.removeEventListener(V,O)}},[s,v,o,u,f,h]),{onPointerDownCapture:()=>g.current=!0}}function g1(a,i=globalThis?.document){const s=Xr(a),o=T.useRef(!1);return T.useEffect(()=>{const u=f=>{f.target&&!o.current&&by(d1,s,{originalEvent:f},{discrete:!1})};return i.addEventListener("focusin",u),()=>i.removeEventListener("focusin",u)},[i,s]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function jp(){const a=new CustomEvent(_u);document.dispatchEvent(a)}function by(a,i,s,{discrete:o}){const u=s.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:s});i&&u.addEventListener(a,i,{once:!0}),o?Jb(u,f):u.dispatchEvent(f)}var v1="Portal",xy=T.forwardRef((a,i)=>{const{container:s,...o}=a,[u,f]=T.useState(!1);Fn(()=>f(!0),[]);const h=s||u&&globalThis?.document?.body;return h?Vr.createPortal(p.jsx(Ma.div,{...o,ref:i}),h):null});xy.displayName=v1;function b1(a){const[i,s]=T.useState(void 0);return Fn(()=>{if(a){s({width:a.offsetWidth,height:a.offsetHeight});const o=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const f=u[0];let h,v;if("borderBoxSize"in f){const g=f.borderBoxSize,m=Array.isArray(g)?g[0]:g;h=m.inlineSize,v=m.blockSize}else h=a.offsetWidth,v=a.offsetHeight;s({width:h,height:v})});return o.observe(a,{box:"border-box"}),()=>o.unobserve(a)}else s(void 0)},[a]),i}const x1=["top","right","bottom","left"],Na=Math.min,$n=Math.max,Br=Math.round,Rr=Math.floor,Wn=a=>({x:a,y:a}),S1={left:"right",right:"left",bottom:"top",top:"bottom"};function Sy(a,i,s){return $n(a,Na(i,s))}function Pn(a,i){return typeof a=="function"?a(i):a}function Ra(a){return a.split("-")[0]}function ni(a){return a.split("-")[1]}function Ju(a){return a==="x"?"y":"x"}function Fu(a){return a==="y"?"height":"width"}function Cn(a){const i=a[0];return i==="t"||i==="b"?"y":"x"}function $u(a){return Ju(Cn(a))}function w1(a,i,s){s===void 0&&(s=!1);const o=ni(a),u=$u(a),f=Fu(u);let h=u==="x"?o===(s?"end":"start")?"right":"left":o==="start"?"bottom":"top";return i.reference[f]>i.floating[f]&&(h=qr(h)),[h,qr(h)]}function E1(a){const i=qr(a);return[Du(a),i,Du(i)]}function Du(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}const Ap=["left","right"],Op=["right","left"],T1=["top","bottom"],C1=["bottom","top"];function j1(a,i,s){switch(a){case"top":case"bottom":return s?i?Op:Ap:i?Ap:Op;case"left":case"right":return i?T1:C1;default:return[]}}function A1(a,i,s,o){const u=ni(a);let f=j1(Ra(a),s==="start",o);return u&&(f=f.map(h=>h+"-"+u),i&&(f=f.concat(f.map(Du)))),f}function qr(a){const i=Ra(a);return S1[i]+a.slice(i.length)}function O1(a){var i,s,o,u;return{top:(i=a.top)!=null?i:0,right:(s=a.right)!=null?s:0,bottom:(o=a.bottom)!=null?o:0,left:(u=a.left)!=null?u:0}}function wy(a){return typeof a!="number"?O1(a):{top:a,right:a,bottom:a,left:a}}function Qr(a){const{x:i,y:s,width:o,height:u}=a;return{width:o,height:u,top:s,left:i,right:i+o,bottom:s+u,x:i,y:s}}function Np(a,i,s){let{reference:o,floating:u}=a;const f=Cn(i),h=$u(i),v=Fu(h),g=Ra(i),m=f==="y",S=o.x+o.width/2-u.width/2,y=o.y+o.height/2-u.height/2,x=o[v]/2-u[v]/2;let E;switch(g){case"top":E={x:S,y:o.y-u.height};break;case"bottom":E={x:S,y:o.y+o.height};break;case"right":E={x:o.x+o.width,y};break;case"left":E={x:o.x-u.width,y};break;default:E={x:o.x,y:o.y}}const w=ni(i);return w&&(E[h]+=x*(w==="end"?1:-1)*(s&&m?-1:1)),E}async function N1(a,i){var s;i===void 0&&(i={});const{x:o,y:u,platform:f,rects:h,elements:v,strategy:g}=a,{boundary:m="clippingAncestors",rootBoundary:S="viewport",elementContext:y="floating",altBoundary:x=!1,padding:E=0}=Pn(i,a),w=wy(E),M=v[x?y==="floating"?"reference":"floating":y],k=Qr(await f.getClippingRect({element:(s=await(f.isElement==null?void 0:f.isElement(M)))==null||s?M:M.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(v.floating)),boundary:m,rootBoundary:S,strategy:g})),Z=y==="floating"?{x:o,y:u,width:h.floating.width,height:h.floating.height}:h.reference,V=await(f.getOffsetParent==null?void 0:f.getOffsetParent(v.floating)),W=await(f.isElement==null?void 0:f.isElement(V))&&await(f.getScale==null?void 0:f.getScale(V))||{x:1,y:1},ee=Qr(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:v,rect:Z,offsetParent:V,strategy:g}):Z);return{top:(k.top-ee.top+w.top)/W.y,bottom:(ee.bottom-k.bottom+w.bottom)/W.y,left:(k.left-ee.left+w.left)/W.x,right:(ee.right-k.right+w.right)/W.x}}const R1=50,M1=async(a,i,s)=>{const{placement:o="bottom",strategy:u="absolute",middleware:f=[],platform:h}=s,v=h.detectOverflow?h:{...h,detectOverflow:N1},g=await(h.isRTL==null?void 0:h.isRTL(i));let m=await h.getElementRects({reference:a,floating:i,strategy:u}),{x:S,y}=Np(m,o,g),x=o,E=0;const w={};for(let O=0;O({name:"arrow",options:a,async fn(i){const{x:s,y:o,placement:u,rects:f,platform:h,elements:v,middlewareData:g}=i,{element:m,padding:S=0}=Pn(a,i)||{};if(m==null)return{};const y=wy(S),x={x:s,y:o},E=$u(u),w=Fu(E),O=await h.getDimensions(m),M=E==="y",k=M?"top":"left",Z=M?"bottom":"right",V=M?"clientHeight":"clientWidth",W=f.reference[w]+f.reference[E]-x[E]-f.floating[w],ee=x[E]-f.reference[E],K=await(h.getOffsetParent==null?void 0:h.getOffsetParent(m));let J=K?K[V]:0;(!J||!await(h.isElement==null?void 0:h.isElement(K)))&&(J=v.floating[V]||f.floating[w]);const B=W/2-ee/2,ue=J/2-O[w]/2-1,de=Na(y[k],ue),re=Na(y[Z],ue),ye=J-O[w]-re,oe=J/2-O[w]/2+B,Ee=Sy(de,oe,ye),he=!g.arrow&&ni(u)!=null&&oe!==Ee&&f.reference[w]/2-(oeEe<=0)){var re,ye;const Ee=(((re=f.flip)==null?void 0:re.index)||0)+1,he=J[Ee];if(he&&(!(y==="alignment"?Z!==Cn(he):!1)||de.every(F=>Cn(F.placement)===Z?F.overflows[0]>0:!0)))return{data:{index:Ee,overflows:de},reset:{placement:he}};let N=(ye=de.filter(Q=>Q.overflows[0]<=0).sort((Q,F)=>Q.overflows[1]-F.overflows[1])[0])==null?void 0:ye.placement;if(!N)switch(E){case"bestFit":{var oe;const Q=(oe=de.filter(F=>{if(K){const ie=Cn(F.placement);return ie===Z||ie==="y"}return!0}).map(F=>[F.placement,F.overflows.filter(ie=>ie>0).reduce((ie,X)=>ie+X,0)]).sort((F,ie)=>F[1]-ie[1])[0])==null?void 0:oe[0];Q&&(N=Q);break}case"initialPlacement":N=v;break}if(u!==N)return{reset:{placement:N}}}return{}}}};function Rp(a,i){return{top:a.top-i.height,right:a.right-i.width,bottom:a.bottom-i.height,left:a.left-i.width}}function Mp(a){return x1.some(i=>a[i]>=0)}const z1=function(a){return a===void 0&&(a={}),{name:"hide",options:a,async fn(i){const{rects:s,platform:o}=i,{strategy:u="referenceHidden",...f}=Pn(a,i);switch(u){case"referenceHidden":{const h=await o.detectOverflow(i,{...f,elementContext:"reference"}),v=Rp(h,s.reference);return{data:{referenceHiddenOffsets:v,referenceHidden:Mp(v)}}}case"escaped":{const h=await o.detectOverflow(i,{...f,altBoundary:!0}),v=Rp(h,s.floating);return{data:{escapedOffsets:v,escaped:Mp(v)}}}default:return{}}}}},Ey=new Set(["left","top"]);async function k1(a,i){const{placement:s,platform:o,elements:u}=a,f=await(o.isRTL==null?void 0:o.isRTL(u.floating)),h=Ra(s),v=ni(s),g=Cn(s)==="y",m=Ey.has(h)?-1:1,S=f&&g?-1:1,y=Pn(i,a);let{mainAxis:x,crossAxis:E,alignmentAxis:w}=typeof y=="number"?{mainAxis:y,crossAxis:0,alignmentAxis:null}:{mainAxis:y.mainAxis||0,crossAxis:y.crossAxis||0,alignmentAxis:y.alignmentAxis};return v&&typeof w=="number"&&(E=v==="end"?w*-1:w),g?{x:E*S,y:x*m}:{x:x*m,y:E*S}}const H1=function(a){return a===void 0&&(a=0),{name:"offset",options:a,async fn(i){var s,o;const{x:u,y:f,placement:h,middlewareData:v}=i,g=await k1(i,a);return h===((s=v.offset)==null?void 0:s.placement)&&(o=v.arrow)!=null&&o.alignmentOffset?{}:{x:u+g.x,y:f+g.y,data:{...g,placement:h}}}}},U1=function(a){return a===void 0&&(a={}),{name:"shift",options:a,async fn(i){const{x:s,y:o,placement:u,platform:f}=i,{mainAxis:h=!0,crossAxis:v=!1,limiter:g={fn:Z=>{let{x:V,y:W}=Z;return{x:V,y:W}}},...m}=Pn(a,i),S={x:s,y:o},y=await f.detectOverflow(i,m),x=Cn(u),E=Ju(x);let w=S[E],O=S[x];const M=(Z,V)=>Sy(V+y[Z==="y"?"top":"left"],V,V-y[Z==="y"?"bottom":"right"]);h&&(w=M(E,w)),v&&(O=M(x,O));const k=g.fn({...i,[E]:w,[x]:O});return{...k,data:{x:k.x-s,y:k.y-o,enabled:{[E]:h,[x]:v}}}}}},L1=function(a){return a===void 0&&(a={}),{options:a,fn(i){var s,o;const{x:u,y:f,placement:h,rects:v,middlewareData:g}=i,{offset:m=0,mainAxis:S=!0,crossAxis:y=!0}=Pn(a,i),x={x:u,y:f},E=Cn(h),w=Ju(E);let O=x[w],M=x[E];const k=Pn(m,i),Z=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:(s=k.mainAxis)!=null?s:0,crossAxis:(o=k.crossAxis)!=null?o:0};if(S){const ee=w==="y"?"height":"width",K=v.reference[w]-v.floating[ee]+Z.mainAxis,J=v.reference[w]+v.reference[ee]-Z.mainAxis;OJ&&(O=J)}if(y){var V,W;const ee=w==="y"?"width":"height",K=Ey.has(Ra(h)),J=v.reference[E]-v.floating[ee]+(K&&((V=g.offset)==null?void 0:V[E])||0)+(K?0:Z.crossAxis),B=v.reference[E]+v.reference[ee]+(K?0:((W=g.offset)==null?void 0:W[E])||0)-(K?Z.crossAxis:0);MB&&(M=B)}return{[w]:O,[E]:M}}}},B1=function(a){return a===void 0&&(a={}),{name:"size",options:a,async fn(i){const{placement:s,rects:o,platform:u,elements:f}=i,{apply:h=()=>{},...v}=Pn(a,i),g=await u.detectOverflow(i,v),m=Ra(s),S=ni(s),y=Cn(s)==="y",{width:x,height:E}=o.floating;let w,O;m==="top"||m==="bottom"?(w=m,O=S===(await(u.isRTL==null?void 0:u.isRTL(f.floating))?"start":"end")?"left":"right"):(O=m,w=S==="end"?"top":"bottom");const M=E-g.top-g.bottom,k=x-g.left-g.right,Z=Na(E-g[w],M),V=Na(x-g[O],k),W=i.middlewareData.shift,ee=!W;let K=Z,J=V;W!=null&&W.enabled.x&&(J=k),W!=null&&W.enabled.y&&(K=M),ee&&!S&&(y?J=x-2*$n(g.left,g.right):K=E-2*$n(g.top,g.bottom)),await h({...i,availableWidth:J,availableHeight:K});const B=await u.getDimensions(f.floating);return x!==B.width||E!==B.height?{reset:{rects:!0}}:{}}}};function Kr(){return typeof window<"u"}function ai(a){return Ty(a)?(a.nodeName||"").toLowerCase():"#document"}function Qt(a){var i;return(a==null||(i=a.ownerDocument)==null?void 0:i.defaultView)||window}function In(a){var i;return(i=(Ty(a)?a.ownerDocument:a.document)||window.document)==null?void 0:i.documentElement}function Ty(a){return Kr()?a instanceof Node||a instanceof Qt(a).Node:!1}function jn(a){return Kr()?a instanceof Element||a instanceof Qt(a).Element:!1}function _a(a){return Kr()?a instanceof HTMLElement||a instanceof Qt(a).HTMLElement:!1}function _p(a){return!Kr()||typeof ShadowRoot>"u"?!1:a instanceof ShadowRoot||a instanceof Qt(a).ShadowRoot}function Zr(a){const{overflow:i,overflowX:s,overflowY:o,display:u}=An(a);return/auto|scroll|overlay|hidden|clip/.test(i+o+s)&&u!=="inline"&&u!=="contents"}function q1(a){return/^(table|td|th)$/.test(ai(a))}function Jr(a){try{if(a.matches(":popover-open"))return!0}catch{}try{return a.matches(":modal")}catch{return!1}}const Q1=/transform|translate|scale|rotate|perspective|filter/,Y1=/paint|layout|strict|content/,al=a=>!!a&&a!=="none";let vu;function Wu(a){const i=jn(a)?An(a):a;return al(i.transform)||al(i.translate)||al(i.scale)||al(i.rotate)||al(i.perspective)||!Pu()&&(al(i.backdropFilter)||al(i.filter))||Q1.test(i.willChange||"")||Y1.test(i.contain||"")}function G1(a){let i=sl(a);for(;_a(i)&&!ls(i);){if(Wu(i))return i;if(Jr(i))return null;i=sl(i)}return null}function Pu(){return vu==null&&(vu=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),vu}function ls(a){return/^(html|body|#document)$/.test(ai(a))}function An(a){return Qt(a).getComputedStyle(a)}function Fr(a){return jn(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function sl(a){if(ai(a)==="html")return a;const i=a.assignedSlot||a.parentNode||_p(a)&&a.host||In(a);return _p(i)?i.host:i}function Cy(a){const i=sl(a);return ls(i)?(a.ownerDocument||a).body:_a(i)&&Zr(i)?i:Cy(i)}function is(a,i,s){var o;i===void 0&&(i=[]),s===void 0&&(s=!0);const u=Cy(a),f=u===((o=a.ownerDocument)==null?void 0:o.body),h=Qt(u);if(f){const v=zu(h);return i.concat(h,h.visualViewport||[],Zr(u)?u:[],v&&s?is(v):[])}else return i.concat(u,is(u,[],s))}function zu(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function jy(a){const i=An(a);let s=parseFloat(i.width)||0,o=parseFloat(i.height)||0;const u=_a(a),f=u?a.offsetWidth:s,h=u?a.offsetHeight:o,v=Br(s)!==f||Br(o)!==h;return v&&(s=f,o=h),{width:s,height:o,$:v}}function Iu(a){return jn(a)?a:a.contextElement}function Il(a){const i=Iu(a);if(!_a(i))return Wn(1);const s=i.getBoundingClientRect(),{width:o,height:u,$:f}=jy(i);let h=(f?Br(s.width):s.width)/o,v=(f?Br(s.height):s.height)/u;return(!h||!Number.isFinite(h))&&(h=1),(!v||!Number.isFinite(v))&&(v=1),{x:h,y:v}}const V1=Wn(0);function Ay(a){const i=Qt(a);return!Pu()||!i.visualViewport?V1:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function X1(a,i,s){return i===void 0&&(i=!1),!!s&&i&&s===Qt(a)}function rl(a,i,s,o){i===void 0&&(i=!1),s===void 0&&(s=!1);const u=a.getBoundingClientRect(),f=Iu(a);let h=Wn(1);i&&(o?jn(o)&&(h=Il(o)):h=Il(a));const v=X1(f,s,o)?Ay(f):Wn(0);let g=(u.left+v.x)/h.x,m=(u.top+v.y)/h.y,S=u.width/h.x,y=u.height/h.y;if(f&&o){const x=Qt(f),E=jn(o)?Qt(o):o;let w=x,O=zu(w);for(;O&&E!==w;){const M=Il(O),k=O.getBoundingClientRect(),Z=An(O),V=k.left+(O.clientLeft+parseFloat(Z.paddingLeft))*M.x,W=k.top+(O.clientTop+parseFloat(Z.paddingTop))*M.y;g*=M.x,m*=M.y,S*=M.x,y*=M.y,g+=V,m+=W,w=Qt(O),O=zu(w)}}return Qr({width:S,height:y,x:g,y:m})}function $r(a,i){const s=Fr(a).scrollLeft;return i?i.left+s:rl(In(a)).left+s}function Oy(a,i){const s=a.getBoundingClientRect(),o=s.left+i.scrollLeft-$r(a,s),u=s.top+i.scrollTop;return{x:o,y:u}}function K1(a){let{elements:i,rect:s,offsetParent:o,strategy:u}=a;const f=u==="fixed",h=In(o),v=i?Jr(i.floating):!1;if(o===h||v&&f)return s;let g={scrollLeft:0,scrollTop:0},m=Wn(1);const S=Wn(0),y=_a(o);if((y||!f)&&((ai(o)!=="body"||Zr(h))&&(g=Fr(o)),y)){const E=rl(o);m=Il(o),S.x=E.x+o.clientLeft,S.y=E.y+o.clientTop}const x=h&&!y&&!f?Oy(h,g):Wn(0);return{width:s.width*m.x,height:s.height*m.y,x:s.x*m.x-g.scrollLeft*m.x+S.x+x.x,y:s.y*m.y-g.scrollTop*m.y+S.y+x.y}}function Z1(a){return a.getClientRects?Array.from(a.getClientRects()):[]}function J1(a){const i=Fr(a),s=a.ownerDocument.body,o=$n(a.scrollWidth,a.clientWidth,s.scrollWidth,s.clientWidth),u=$n(a.scrollHeight,a.clientHeight,s.scrollHeight,s.clientHeight);let f=-i.scrollLeft+$r(a);const h=-i.scrollTop;return An(s).direction==="rtl"&&(f+=$n(a.clientWidth,s.clientWidth)-o),{width:o,height:u,x:f,y:h}}const F1=25;function $1(a,i,s){s===void 0&&(s="viewport");const o=s==="layoutViewport",u=Qt(a),f=In(a),h=u.visualViewport;let v=f.clientWidth,g=f.clientHeight,m=0,S=0;if(h){const x=!Pu()||i==="fixed";o?x||(m=-h.offsetLeft,S=-h.offsetTop):(v=h.width,g=h.height,x&&(m=h.offsetLeft,S=h.offsetTop))}if($r(f)<=0){const x=f.ownerDocument,E=x.body,w=getComputedStyle(E),O=x.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,M=Math.abs(f.clientWidth-E.clientWidth-O),k=getComputedStyle(f).scrollbarGutter==="stable both-edges"?M/2:M;k<=F1&&(v-=k)}return{width:v,height:g,x:m,y:S}}function W1(a,i){const s=rl(a,!0,i==="fixed"),o=s.top+a.clientTop,u=s.left+a.clientLeft,f=Il(a),h=a.clientWidth*f.x,v=a.clientHeight*f.y,g=u*f.x,m=o*f.y;return{width:h,height:v,x:g,y:m}}function Dp(a,i,s){let o;if(i==="viewport"||i==="layoutViewport")o=$1(a,s,i);else if(i==="document")o=J1(In(a));else if(jn(i))o=W1(i,s);else{const u=Ay(a);o={x:i.x-u.x,y:i.y-u.y,width:i.width,height:i.height}}return Qr(o)}function P1(a,i){const s=i.get(a);if(s)return s;let o=is(a,[],!1).filter(v=>jn(v)&&ai(v)!=="body"),u=null;const f=An(a).position==="fixed";let h=f?sl(a):a;for(;jn(h)&&!ls(h);){const v=An(h),g=Wu(h),m=u?u.position:f?"fixed":"";!g&&(m==="fixed"||m==="absolute"&&v.position==="static")?o=o.filter(y=>y!==h):u=v,h=sl(h)}return i.set(a,o),o}function I1(a){let{element:i,boundary:s,rootBoundary:o,strategy:u}=a;const h=[...s==="clippingAncestors"?Jr(i)?[]:P1(i,this._c):[].concat(s),o],v=Dp(i,h[0],u);let g=v.top,m=v.right,S=v.bottom,y=v.left;for(let x=1;x{v(!1,1e-7)},1e3)}J=!1}try{o=new IntersectionObserver(B,{...K,root:f.ownerDocument})}catch{o=new IntersectionObserver(B,K)}o.observe(a)}const g=Qt(a),m=()=>v(s);return g.addEventListener("resize",m),v(!0),()=>{g.removeEventListener("resize",m),h()}}function sx(a,i,s,o){o===void 0&&(o={});const{ancestorScroll:u=!0,ancestorResize:f=!0,elementResize:h=typeof ResizeObserver=="function",layoutShift:v=typeof IntersectionObserver=="function",animationFrame:g=!1}=o,m=Iu(a),S=u||f?[...m?is(m):[],...i?is(i):[]]:[];S.forEach(k=>{u&&k.addEventListener("scroll",s),f&&k.addEventListener("resize",s)});const y=m&&v?ix(m,s,f):null;let x=-1,E=null;h&&(E=new ResizeObserver(k=>{let[Z]=k;Z&&Z.target===m&&E&&i&&(E.unobserve(i),cancelAnimationFrame(x),x=requestAnimationFrame(()=>{var V;(V=E)==null||V.observe(i)})),s()}),m&&!g&&E.observe(m),i&&E.observe(i));let w,O=g?rl(a):null;g&&M();function M(){const k=rl(a);O&&!Ry(O,k)&&s(),O=k,w=requestAnimationFrame(M)}return s(),()=>{var k;S.forEach(Z=>{u&&Z.removeEventListener("scroll",s),f&&Z.removeEventListener("resize",s)}),y?.(),(k=E)==null||k.disconnect(),E=null,g&&cancelAnimationFrame(w)}}const rx=H1,ox=U1,cx=D1,ux=B1,fx=z1,kp=_1,dx=L1,hx=(a,i,s)=>{const o=new Map,u=s??{},f={...lx,...u.platform,_c:o};return M1(a,i,{...u,platform:f})};var mx=typeof document<"u",px=function(){},kr=mx?T.useLayoutEffect:px;function Yr(a,i){if(a===i)return!0;if(typeof a!=typeof i)return!1;if(typeof a=="function"&&a.toString()===i.toString())return!0;let s,o,u;if(a&&i&&typeof a=="object"){if(Array.isArray(a)){if(s=a.length,s!==i.length)return!1;for(o=s;o--!==0;)if(!Yr(a[o],i[o]))return!1;return!0}if(u=Object.keys(a),s=u.length,s!==Object.keys(i).length)return!1;for(o=s;o--!==0;)if(!{}.hasOwnProperty.call(i,u[o]))return!1;for(o=s;o--!==0;){const f=u[o];if(!(f==="_owner"&&a.$$typeof)&&!Yr(a[f],i[f]))return!1}return!0}return a!==a&&i!==i}function My(a){return typeof window>"u"?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function Hp(a,i){const s=My(a);return Math.round(i*s)/s}function xu(a){const i=T.useRef(a);return kr(()=>{i.current=a}),i}function yx(a){a===void 0&&(a={});const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:u,elements:{reference:f,floating:h}={},transform:v=!0,whileElementsMounted:g,open:m}=a,[S,y]=T.useState({x:0,y:0,strategy:s,placement:i,middlewareData:{},isPositioned:!1}),[x,E]=T.useState(o);Yr(x,o)||E(o);const[w,O]=T.useState(null),[M,k]=T.useState(null),Z=T.useCallback(F=>{F!==K.current&&(K.current=F,O(F))},[]),V=T.useCallback(F=>{F!==J.current&&(J.current=F,k(F))},[]),W=f||w,ee=h||M,K=T.useRef(null),J=T.useRef(null),B=T.useRef(S),ue=g!=null,de=xu(g),re=xu(u),ye=xu(m),oe=T.useCallback(()=>{if(!K.current||!J.current)return;const F={placement:i,strategy:s,middleware:x};re.current&&(F.platform=re.current),hx(K.current,J.current,F).then(ie=>{const X={...ie,isPositioned:ye.current!==!1};Ee.current&&!Yr(B.current,X)&&(B.current=X,Vr.flushSync(()=>{y(X)}))})},[x,i,s,re,ye]);kr(()=>{m===!1&&B.current.isPositioned&&(B.current.isPositioned=!1,y(F=>({...F,isPositioned:!1})))},[m]);const Ee=T.useRef(!1);kr(()=>(Ee.current=!0,()=>{Ee.current=!1}),[]),kr(()=>{if(W&&(K.current=W),ee&&(J.current=ee),W&&ee){if(de.current)return de.current(W,ee,oe);oe()}},[W,ee,oe,de,ue]);const he=T.useMemo(()=>({reference:K,floating:J,setReference:Z,setFloating:V}),[Z,V]),N=T.useMemo(()=>({reference:W,floating:ee}),[W,ee]),Q=T.useMemo(()=>{const F={position:s,left:0,top:0};if(!N.floating)return F;const ie=Hp(N.floating,S.x),X=Hp(N.floating,S.y);return v?{...F,transform:"translate("+ie+"px, "+X+"px)",...My(N.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:ie,top:X}},[s,v,N.floating,S.x,S.y]);return T.useMemo(()=>({...S,update:oe,refs:he,elements:N,floatingStyles:Q}),[S,oe,he,N,Q])}const gx=a=>{function i(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:a,fn(s){const{element:o,padding:u}=typeof a=="function"?a(s):a;return o&&i(o)?o.current!=null?kp({element:o.current,padding:u}).fn(s):{}:o?kp({element:o,padding:u}).fn(s):{}}}},vx=(a,i)=>{const s=rx(a);return{name:s.name,fn:s.fn,options:[a,i]}},bx=(a,i)=>{const s=ox(a);return{name:s.name,fn:s.fn,options:[a,i]}},xx=(a,i)=>({fn:dx(a).fn,options:[a,i]}),Sx=(a,i)=>{const s=cx(a);return{name:s.name,fn:s.fn,options:[a,i]}},wx=(a,i)=>{const s=ux(a);return{name:s.name,fn:s.fn,options:[a,i]}},Ex=(a,i)=>{const s=fx(a);return{name:s.name,fn:s.fn,options:[a,i]}},Tx=(a,i)=>{const s=gx(a);return{name:s.name,fn:s.fn,options:[a,i]}};var Cx="Arrow",_y=T.forwardRef((a,i)=>{const{children:s,width:o=10,height:u=5,...f}=a;return p.jsx(Ma.svg,{...f,ref:i,width:o,height:u,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?s:p.jsx("polygon",{points:"0,0 30,0 15,10"})})});_y.displayName=Cx;var jx=_y,ef="Popper",[Dy,zy]=yy(ef),[Ax,ky]=Dy(ef),Hy=a=>{const{__scopePopper:i,children:s}=a,[o,u]=T.useState(null),[f,h]=T.useState(void 0);return p.jsx(Ax,{scope:i,anchor:o,onAnchorChange:u,placementState:f,setPlacementState:h,children:s})};Hy.displayName=ef;var Uy="PopperAnchor",Ly=T.forwardRef((a,i)=>{const{__scopePopper:s,virtualRef:o,...u}=a,f=ky(Uy,s),h=T.useRef(null),v=f.onAnchorChange,g=T.useCallback(w=>{h.current=w,w&&v(w)},[v]),m=ol(i,g),S=T.useRef(null);T.useEffect(()=>{if(!o)return;const w=S.current;S.current=o.current,w!==S.current&&v(S.current)});const y=f.placementState&&nf(f.placementState),x=y?.[0],E=y?.[1];return o?null:p.jsx(Ma.div,{"data-radix-popper-side":x,"data-radix-popper-align":E,...u,ref:m})});Ly.displayName=Uy;var tf="PopperContent",[Ox,Nx]=Dy(tf),By=T.forwardRef((a,i)=>{const{__scopePopper:s,side:o="bottom",sideOffset:u=0,align:f="center",alignOffset:h=0,arrowPadding:v=0,avoidCollisions:g=!0,collisionBoundary:m=[],collisionPadding:S=0,sticky:y="partial",hideWhenDetached:x=!1,updatePositionStrategy:E="optimized",onPlaced:w,...O}=a,M=ky(tf,s),[k,Z]=T.useState(null),V=ol(i,Z),[W,ee]=T.useState(null),K=b1(W),J=K?.width??0,B=K?.height??0,ue=o+(f!=="center"?"-"+f:""),de=typeof S=="number"?S:{top:0,right:0,bottom:0,left:0,...S},re=Array.isArray(m)?m:[m],ye=re.length>0,oe={padding:de,boundary:re.filter(Mx),altBoundary:ye},{refs:Ee,floatingStyles:he,placement:N,isPositioned:Q,middlewareData:F}=yx({strategy:"fixed",placement:ue,whileElementsMounted:(...pe)=>sx(...pe,{animationFrame:E==="always"}),elements:{reference:M.anchor},middleware:[vx({mainAxis:u+B,alignmentAxis:h}),g&&bx({mainAxis:!0,crossAxis:!1,limiter:y==="partial"?xx():void 0,...oe}),g&&Sx({...oe}),wx({...oe,apply:({elements:pe,rects:fe,availableWidth:dt,availableHeight:rt})=>{const{width:We,height:Et}=fe.reference,Ze=pe.floating.style;Ze.setProperty("--radix-popper-available-width",`${dt}px`),Ze.setProperty("--radix-popper-available-height",`${rt}px`),Ze.setProperty("--radix-popper-anchor-width",`${We}px`),Ze.setProperty("--radix-popper-anchor-height",`${Et}px`)}}),W&&Tx({element:W,padding:v}),_x({arrowWidth:J,arrowHeight:B}),x&&Ex({strategy:"referenceHidden",...oe,boundary:ye?oe.boundary:void 0})]}),ie=M.setPlacementState;Fn(()=>(ie(N),()=>{ie(void 0)}),[N,ie]);const[X,j]=nf(N),L=Xr(w);Fn(()=>{Q&&L?.()},[Q,L]);const G=F.arrow?.x,$=F.arrow?.y,P=F.arrow?.centerOffset!==0,[te,ge]=T.useState();return Fn(()=>{k&&ge(window.getComputedStyle(k).zIndex)},[k]),p.jsx("div",{ref:Ee.setFloating,"data-radix-popper-content-wrapper":"",style:{...he,transform:Q?he.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:te,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(" "),...F.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:p.jsx(Ox,{scope:s,placedSide:X,placedAlign:j,onArrowChange:ee,arrowX:G,arrowY:$,shouldHideArrow:P,children:p.jsx(Ma.div,{"data-side":X,"data-align":j,...O,ref:V,style:{...O.style,animation:Q?void 0:"none"}})})})});By.displayName=tf;var qy="PopperArrow",Rx={top:"bottom",right:"left",bottom:"top",left:"right"},Qy=T.forwardRef(function(i,s){const{__scopePopper:o,...u}=i,f=Nx(qy,o),h=Rx[f.placedSide];return p.jsx("span",{ref:f.onArrowChange,style:{position:"absolute",left:f.arrowX,top:f.arrowY,[h]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[f.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[f.placedSide],visibility:f.shouldHideArrow?"hidden":void 0},children:p.jsx(jx,{...u,ref:s,style:{...u.style,display:"block"}})})});Qy.displayName=qy;function Mx(a){return a!==null}var _x=a=>({name:"transformOrigin",options:a,fn(i){const{placement:s,rects:o,middlewareData:u}=i,h=u.arrow?.centerOffset!==0,v=h?0:a.arrowWidth,g=h?0:a.arrowHeight,[m,S]=nf(s),y={start:"0%",center:"50%",end:"100%"}[S],x=(u.arrow?.x??0)+v/2,E=(u.arrow?.y??0)+g/2;let w="",O="";return m==="bottom"?(w=h?y:`${x}px`,O=`${-g}px`):m==="top"?(w=h?y:`${x}px`,O=`${o.floating.height+g}px`):m==="right"?(w=`${-g}px`,O=h?y:`${E}px`):m==="left"&&(w=`${o.floating.width+g}px`,O=h?y:`${E}px`),{data:{x:w,y:O}}}});function nf(a){const[i,s="center"]=a.split("-");return[i,s]}var Dx=Hy,zx=Ly,kx=By,Hx=Qy,[Wr]=yy("Tooltip",[zy]),Pr=zy(),Yy="TooltipProvider",Ux=700,ku="tooltip.open",[Lx,af]=Wr(Yy),Gy=a=>{const{__scopeTooltip:i,delayDuration:s=Ux,skipDelayDuration:o=300,disableHoverableContent:u=!1,children:f}=a,h=T.useRef(!0),v=T.useRef(!1),g=T.useRef(0);return T.useEffect(()=>{const m=g.current;return()=>window.clearTimeout(m)},[]),p.jsx(Lx,{scope:i,isOpenDelayedRef:h,delayDuration:s,onOpen:T.useCallback(()=>{o<=0||(window.clearTimeout(g.current),h.current=!1)},[o]),onClose:T.useCallback(()=>{o<=0||(window.clearTimeout(g.current),g.current=window.setTimeout(()=>h.current=!0,o))},[o]),isPointerInTransitRef:v,onPointerInTransitChange:T.useCallback(m=>{v.current=m},[]),disableHoverableContent:u,children:f})};Gy.displayName=Yy;var ss="Tooltip",[Bx,hs]=Wr(ss),Vy=a=>{const{__scopeTooltip:i,children:s,open:o,defaultOpen:u,onOpenChange:f,disableHoverableContent:h,delayDuration:v}=a,g=af(ss,a.__scopeTooltip),m=Pr(i),[S,y]=T.useState(null),x=c1(),E=T.useRef(0),w=h??g.disableHoverableContent,O=v??g.delayDuration,M=T.useRef(!1),[k,Z]=e1({prop:o,defaultProp:u??!1,onChange:J=>{J?(g.onOpen(),document.dispatchEvent(new CustomEvent(ku))):g.onClose(),f?.(J)},caller:ss}),V=T.useMemo(()=>k?M.current?"delayed-open":"instant-open":"closed",[k]),W=T.useCallback(()=>{window.clearTimeout(E.current),E.current=0,M.current=!1,Z(!0)},[Z]),ee=T.useCallback(()=>{window.clearTimeout(E.current),E.current=0,Z(!1)},[Z]),K=T.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{M.current=!0,Z(!0),E.current=0},O)},[O,Z]);return T.useEffect(()=>()=>{E.current&&(window.clearTimeout(E.current),E.current=0)},[]),p.jsx(Dx,{...m,children:p.jsx(Bx,{scope:i,contentId:x,open:k,stateAttribute:V,trigger:S,onTriggerChange:y,onTriggerEnter:T.useCallback(()=>{g.isOpenDelayedRef.current?K():W()},[g.isOpenDelayedRef,K,W]),onTriggerLeave:T.useCallback(()=>{w?ee():(window.clearTimeout(E.current),E.current=0)},[ee,w]),onOpen:W,onClose:ee,disableHoverableContent:w,children:s})})};Vy.displayName=ss;var Hu="TooltipTrigger",Xy=T.forwardRef((a,i)=>{const{__scopeTooltip:s,...o}=a,u=hs(Hu,s),f=af(Hu,s),h=Pr(s),v=T.useRef(null),g=ol(i,v,u.onTriggerChange),m=T.useRef(!1),S=T.useRef(!1),y=T.useCallback(()=>m.current=!1,[]);return T.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),p.jsx(zx,{asChild:!0,...h,children:p.jsx(Ma.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...o,ref:g,onPointerMove:Jn(a.onPointerMove,x=>{x.pointerType!=="touch"&&!S.current&&!f.isPointerInTransitRef.current&&(u.onTriggerEnter(),S.current=!0)}),onPointerLeave:Jn(a.onPointerLeave,()=>{u.onTriggerLeave(),S.current=!1}),onPointerDown:Jn(a.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:Jn(a.onFocus,()=>{m.current||u.onOpen()}),onBlur:Jn(a.onBlur,u.onClose),onClick:Jn(a.onClick,u.onClose)})})});Xy.displayName=Hu;var lf="TooltipPortal",[qx,Qx]=Wr(lf,{forceMount:void 0}),Ky=a=>{const{__scopeTooltip:i,forceMount:s,children:o,container:u}=a,f=hs(lf,i);return p.jsx(qx,{scope:i,forceMount:s,children:p.jsx(Zu,{present:s||f.open,children:p.jsx(xy,{asChild:!0,container:u,children:o})})})};Ky.displayName=lf;var ti="TooltipContent",Zy=T.forwardRef((a,i)=>{const s=Qx(ti,a.__scopeTooltip),{forceMount:o=s.forceMount,side:u="top",...f}=a,h=hs(ti,a.__scopeTooltip);return p.jsx(Zu,{present:o||h.open,children:h.disableHoverableContent?p.jsx(Jy,{side:u,...f,ref:i}):p.jsx(Yx,{side:u,...f,ref:i})})}),Yx=T.forwardRef((a,i)=>{const s=hs(ti,a.__scopeTooltip),o=af(ti,a.__scopeTooltip),u=T.useRef(null),f=ol(i,u),[h,v]=T.useState(null),{trigger:g,onClose:m}=s,S=u.current,{onPointerInTransitChange:y}=o,x=T.useCallback(()=>{v(null),y(!1)},[y]),E=T.useCallback((w,O)=>{const M=w.currentTarget,k={x:w.clientX,y:w.clientY},Z=Kx(k,M.getBoundingClientRect()),V=Zx(k,Z),W=Jx(O.getBoundingClientRect()),ee=$x([...V,...W]);v(ee),y(!0)},[y]);return T.useEffect(()=>()=>x(),[x]),T.useEffect(()=>{if(g&&S){const w=M=>E(M,S),O=M=>E(M,g);return g.addEventListener("pointerleave",w),S.addEventListener("pointerleave",O),()=>{g.removeEventListener("pointerleave",w),S.removeEventListener("pointerleave",O)}}},[g,S,E,x]),T.useEffect(()=>{if(h){const w=O=>{const M=O.target,k={x:O.clientX,y:O.clientY},Z=g?.contains(M)||S?.contains(M),V=!Fx(k,h);Z?x():V&&(x(),m())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[g,S,h,m,x]),p.jsx(Jy,{...a,ref:f})}),[Gx,Vx]=Wr(ss,{isInside:!1}),Xx=Lb("TooltipContent"),Jy=T.forwardRef((a,i)=>{const{__scopeTooltip:s,children:o,"aria-label":u,onEscapeKeyDown:f,onPointerDownOutside:h,...v}=a,g=hs(ti,s),m=Pr(s),{onClose:S}=g;return T.useEffect(()=>(document.addEventListener(ku,S),()=>document.removeEventListener(ku,S)),[S]),T.useEffect(()=>{if(g.trigger){const y=x=>{x.target instanceof Node&&x.target.contains(g.trigger)&&S()};return window.addEventListener("scroll",y,{capture:!0}),()=>window.removeEventListener("scroll",y,{capture:!0})}},[g.trigger,S]),p.jsx(vy,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:y=>y.preventDefault(),onDismiss:S,children:p.jsxs(kx,{"data-state":g.stateAttribute,...m,...v,ref:i,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[p.jsx(Xx,{children:o}),p.jsx(Gx,{scope:s,isInside:!0,children:p.jsx(Wb,{id:g.contentId,role:"tooltip",children:u||o})})]})})});Zy.displayName=ti;var Fy="TooltipArrow",$y=T.forwardRef((a,i)=>{const{__scopeTooltip:s,...o}=a,u=Pr(s);return Vx(Fy,s).isInside?null:p.jsx(Hx,{...u,...o,ref:i})});$y.displayName=Fy;function Kx(a,i){const s=Math.abs(i.top-a.y),o=Math.abs(i.bottom-a.y),u=Math.abs(i.right-a.x),f=Math.abs(i.left-a.x);switch(Math.min(s,o,u,f)){case f:return"left";case u:return"right";case s:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function Zx(a,i,s=5){const o=[];switch(i){case"top":o.push({x:a.x-s,y:a.y+s},{x:a.x+s,y:a.y+s});break;case"bottom":o.push({x:a.x-s,y:a.y-s},{x:a.x+s,y:a.y-s});break;case"left":o.push({x:a.x+s,y:a.y-s},{x:a.x+s,y:a.y+s});break;case"right":o.push({x:a.x-s,y:a.y-s},{x:a.x-s,y:a.y+s});break}return o}function Jx(a){const{top:i,right:s,bottom:o,left:u}=a;return[{x:u,y:i},{x:s,y:i},{x:s,y:o},{x:u,y:o}]}function Fx(a,i){const{x:s,y:o}=a;let u=!1;for(let f=0,h=i.length-1;fo!=x>o&&s<(y-m)*(o-S)/(x-S)+m&&(u=!u)}return u}function $x(a){const i=a.slice();return i.sort((s,o)=>s.xo.x?1:s.yo.y?1:0),Wx(i)}function Wx(a){if(a.length<=1)return a.slice();const i=[];for(let o=0;o=2;){const f=i[i.length-1],h=i[i.length-2];if((f.x-h.x)*(u.y-h.y)>=(f.y-h.y)*(u.x-h.x))i.pop();else break}i.push(u)}i.pop();const s=[];for(let o=a.length-1;o>=0;o--){const u=a[o];for(;s.length>=2;){const f=s[s.length-1],h=s[s.length-2];if((f.x-h.x)*(u.y-h.y)>=(f.y-h.y)*(u.x-h.x))s.pop();else break}s.push(u)}return s.pop(),i.length===1&&s.length===1&&i[0].x===s[0].x&&i[0].y===s[0].y?i:i.concat(s)}var Px=Gy,Ix=Vy,eS=Xy,tS=Ky,nS=Zy,aS=$y;function Wy(a){var i,s,o="";if(typeof a=="string"||typeof a=="number")o+=a;else if(typeof a=="object")if(Array.isArray(a)){var u=a.length;for(i=0;i{const s=new Array(a.length+i.length);for(let o=0;o({classGroupId:a,validator:i}),Py=(a=new Map,i=null,s)=>({nextPart:a,validators:i,classGroupId:s}),Gr="-",Up=[],rS="arbitrary..",oS=a=>{const i=uS(a),{conflictingClassGroups:s,conflictingClassGroupModifiers:o}=a;return{getClassGroupId:h=>{if(h.startsWith("[")&&h.endsWith("]"))return cS(h);const v=h.split(Gr),g=v[0]===""&&v.length>1?1:0;return Iy(v,g,i)},getConflictingClassGroupIds:(h,v)=>{if(v){const g=o[h],m=s[h];return g?m?iS(m,g):g:m||Up}return s[h]||Up}}},Iy=(a,i,s)=>{if(a.length-i===0)return s.classGroupId;const u=a[i],f=s.nextPart.get(u);if(f){const m=Iy(a,i+1,f);if(m)return m}const h=s.validators;if(h===null)return;const v=i===0?a.join(Gr):a.slice(i).join(Gr),g=h.length;for(let m=0;ma.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const i=a.slice(1,-1),s=i.indexOf(":"),o=i.slice(0,s);return o?rS+o:void 0})(),uS=a=>{const{theme:i,classGroups:s}=a;return fS(s,i)},fS=(a,i)=>{const s=Py();for(const o in a){const u=a[o];sf(u,s,o,i)}return s},sf=(a,i,s,o)=>{const u=a.length;for(let f=0;f{if(typeof a=="string"){hS(a,i,s);return}if(typeof a=="function"){mS(a,i,s,o);return}pS(a,i,s,o)},hS=(a,i,s)=>{const o=a===""?i:eg(i,a);o.classGroupId=s},mS=(a,i,s,o)=>{if(yS(a)){sf(a(o),i,s,o);return}i.validators===null&&(i.validators=[]),i.validators.push(sS(s,a))},pS=(a,i,s,o)=>{const u=Object.entries(a),f=u.length;for(let h=0;h{let s=a;const o=i.split(Gr),u=o.length;for(let f=0;f"isThemeGetter"in a&&a.isThemeGetter===!0,gS=a=>{if(a<1)return{get:()=>{},set:()=>{}};let i=0,s=Object.create(null),o=Object.create(null);const u=(f,h)=>{s[f]=h,i++,i>a&&(i=0,o=s,s=Object.create(null))};return{get(f){let h=s[f];if(h!==void 0)return h;if((h=o[f])!==void 0)return u(f,h),h},set(f,h){f in s?s[f]=h:u(f,h)}}},Uu="!",Lp=":",vS=[],Bp=(a,i,s,o,u)=>({modifiers:a,hasImportantModifier:i,baseClassName:s,maybePostfixModifierPosition:o,isExternal:u}),bS=a=>{const{prefix:i,experimentalParseClassName:s}=a;let o=u=>{const f=[];let h=0,v=0,g=0,m;const S=u.length;for(let O=0;Og?m-g:void 0;return Bp(f,E,x,w)};if(i){const u=i+Lp,f=o;o=h=>h.startsWith(u)?f(h.slice(u.length)):Bp(vS,!1,h,void 0,!0)}if(s){const u=o;o=f=>s({className:f,parseClassName:u})}return o},xS=a=>{const i=new Map;return a.orderSensitiveModifiers.forEach((s,o)=>{i.set(s,1e6+o)}),s=>{const o=[];let u=[];for(let f=0;f0&&(u.sort(),o.push(...u),u=[]),o.push(h)):u.push(h)}return u.length>0&&(u.sort(),o.push(...u)),o}},SS=a=>({cache:gS(a.cacheSize),parseClassName:bS(a),sortModifiers:xS(a),postfixLookupClassGroupIds:wS(a),...oS(a)}),wS=a=>{const i=Object.create(null),s=a.postfixLookupClassGroups;if(s)for(let o=0;o{const{parseClassName:s,getClassGroupId:o,getConflictingClassGroupIds:u,sortModifiers:f,postfixLookupClassGroupIds:h}=i,v=[],g=a.trim().split(ES);let m="";for(let S=g.length-1;S>=0;S-=1){const y=g[S],{isExternal:x,modifiers:E,hasImportantModifier:w,baseClassName:O,maybePostfixModifierPosition:M}=s(y);if(x){m=y+(m.length>0?" "+m:m);continue}let k=!!M,Z;if(k){const J=O.substring(0,M);Z=o(J);const B=Z&&h[Z]?o(O):void 0;B&&B!==Z&&(Z=B,k=!1)}else Z=o(O);if(!Z){if(!k){m=y+(m.length>0?" "+m:m);continue}if(Z=o(O),!Z){m=y+(m.length>0?" "+m:m);continue}k=!1}const V=E.length===0?"":E.length===1?E[0]:f(E).join(":"),W=w?V+Uu:V,ee=W+Z;if(v.indexOf(ee)>-1)continue;v.push(ee);const K=u(Z,k);for(let J=0;J0?" "+m:m)}return m},CS=(...a)=>{let i=0,s,o,u="";for(;i{if(typeof a=="string")return a;let i,s="";for(let o=0;o{let s,o,u,f;const h=g=>{const m=i.reduce((S,y)=>y(S),a());return s=SS(m),o=s.cache.get,u=s.cache.set,f=v,v(g)},v=g=>{const m=o(g);if(m)return m;const S=TS(g,s);return u(g,S),S};return f=h,(...g)=>f(CS(...g))},AS=[],it=a=>{const i=s=>s[a]||AS;return i.isThemeGetter=!0,i},ng=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ag=/^\((?:(\w[\w-]*):)?(.+)\)$/i,OS=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,NS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,RS=/\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$/,MS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_S=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,DS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ja=a=>OS.test(a),Ce=a=>!!a&&!Number.isNaN(Number(a)),En=a=>!!a&&Number.isInteger(Number(a)),Su=a=>a.endsWith("%")&&Ce(a.slice(0,-1)),Zn=a=>NS.test(a),lg=()=>!0,zS=a=>RS.test(a)&&!MS.test(a),rf=()=>!1,kS=a=>_S.test(a),HS=a=>DS.test(a),US=a=>!ne(a)&&!ae(a),LS=a=>a.startsWith("@container")&&(a[10]==="/"&&a[11]!==void 0||a[11]==="s"&&a[16]!==void 0&&a.startsWith("-size/",10)||a[11]==="n"&&a[18]!==void 0&&a.startsWith("-normal/",10)),BS=a=>Da(a,rg,rf),ne=a=>ng.test(a),ll=a=>Da(a,og,zS),qp=a=>Da(a,ZS,Ce),qS=a=>Da(a,ug,lg),QS=a=>Da(a,cg,rf),Qp=a=>Da(a,ig,rf),YS=a=>Da(a,sg,HS),Mr=a=>Da(a,fg,kS),ae=a=>ag.test(a),Ii=a=>cl(a,og),GS=a=>cl(a,cg),Yp=a=>cl(a,ig),VS=a=>cl(a,rg),XS=a=>cl(a,sg),_r=a=>cl(a,fg,!0),KS=a=>cl(a,ug,!0),Da=(a,i,s)=>{const o=ng.exec(a);return o?o[1]?i(o[1]):s(o[2]):!1},cl=(a,i,s=!1)=>{const o=ag.exec(a);return o?o[1]?i(o[1]):s:!1},ig=a=>a==="position"||a==="percentage",sg=a=>a==="image"||a==="url",rg=a=>a==="length"||a==="size"||a==="bg-size",og=a=>a==="length",ZS=a=>a==="number",cg=a=>a==="family-name",ug=a=>a==="number"||a==="weight",fg=a=>a==="shadow",JS=()=>{const a=it("color"),i=it("font"),s=it("text"),o=it("font-weight"),u=it("tracking"),f=it("leading"),h=it("breakpoint"),v=it("container"),g=it("spacing"),m=it("radius"),S=it("shadow"),y=it("inset-shadow"),x=it("text-shadow"),E=it("drop-shadow"),w=it("blur"),O=it("perspective"),M=it("aspect"),k=it("ease"),Z=it("animate"),V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],ee=()=>[...W(),ae,ne],K=()=>["auto","hidden","clip","visible","scroll"],J=()=>["auto","contain","none"],B=()=>[ae,ne,g],ue=()=>[ja,"full","auto",...B()],de=()=>[En,"none","subgrid",ae,ne],re=()=>["auto",{span:["full",En,ae,ne]},En,ae,ne],ye=()=>[En,"auto",ae,ne],oe=()=>["auto","min","max","fr",ae,ne],Ee=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],he=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...B()],Q=()=>[ja,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...B()],F=()=>[ja,"screen","full","dvw","lvw","svw","min","max","fit",...B()],ie=()=>[ja,"screen","full","lh","dvh","lvh","svh","min","max","fit",...B()],X=()=>[a,ae,ne],j=()=>[...W(),Yp,Qp,{position:[ae,ne]}],L=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",VS,BS,{size:[ae,ne]}],$=()=>[Su,Ii,ll],P=()=>["","none","full",m,ae,ne],te=()=>["",Ce,Ii,ll],ge=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],fe=()=>[Ce,Su,Yp,Qp],dt=()=>["","none",w,ae,ne],rt=()=>["none",Ce,ae,ne],We=()=>["none",Ce,ae,ne],Et=()=>[Ce,ae,ne],Ze=()=>[ja,"full",...B()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Zn],breakpoint:[Zn],color:[lg],container:[Zn],"drop-shadow":[Zn],ease:["in","out","in-out"],font:[US],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Zn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Zn],shadow:[Zn],spacing:["px",Ce],text:[Zn],"text-shadow":[Zn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ja,ne,ae,M]}],container:["container"],"container-type":[{"@container":["","normal","size",ae,ne]}],"container-named":[LS],columns:[{columns:[Ce,ne,ae,v]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"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:ee()}],overflow:[{overflow:K()}],"overflow-x":[{"overflow-x":K()}],"overflow-y":[{"overflow-y":K()}],overscroll:[{overscroll:J()}],"overscroll-x":[{"overscroll-x":J()}],"overscroll-y":[{"overscroll-y":J()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ue()}],"inset-x":[{"inset-x":ue()}],"inset-y":[{"inset-y":ue()}],start:[{"inset-s":ue(),start:ue()}],end:[{"inset-e":ue(),end:ue()}],"inset-bs":[{"inset-bs":ue()}],"inset-be":[{"inset-be":ue()}],top:[{top:ue()}],right:[{right:ue()}],bottom:[{bottom:ue()}],left:[{left:ue()}],visibility:["visible","invisible","collapse"],z:[{z:[En,"auto",ae,ne]}],basis:[{basis:[ja,"full","auto",v,...B()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ce,ja,"auto","initial","none",ne]}],grow:[{grow:["",Ce,ae,ne]}],shrink:[{shrink:["",Ce,ae,ne]}],order:[{order:[En,"first","last","none",ae,ne]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":ye()}],"col-end":[{"col-end":ye()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":ye()}],"row-end":[{"row-end":ye()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":oe()}],"auto-rows":[{"auto-rows":oe()}],gap:[{gap:B()}],"gap-x":[{"gap-x":B()}],"gap-y":[{"gap-y":B()}],"justify-content":[{justify:[...Ee(),"normal"]}],"justify-items":[{"justify-items":[...he(),"normal"]}],"justify-self":[{"justify-self":["auto",...he()]}],"align-content":[{content:["normal",...Ee()]}],"align-items":[{items:[...he(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...he(),{baseline:["","last"]}]}],"place-content":[{"place-content":Ee()}],"place-items":[{"place-items":[...he(),"baseline"]}],"place-self":[{"place-self":["auto",...he()]}],p:[{p:B()}],px:[{px:B()}],py:[{py:B()}],ps:[{ps:B()}],pe:[{pe:B()}],pbs:[{pbs:B()}],pbe:[{pbe:B()}],pt:[{pt:B()}],pr:[{pr:B()}],pb:[{pb:B()}],pl:[{pl:B()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":B()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":B()}],"space-y-reverse":["space-y-reverse"],size:[{size:Q()}],"inline-size":[{inline:["auto",...F()]}],"min-inline-size":[{"min-inline":["auto",...F()]}],"max-inline-size":[{"max-inline":["none",...F()]}],"block-size":[{block:["auto",...ie()]}],"min-block-size":[{"min-block":["auto",...ie()]}],"max-block-size":[{"max-block":["none",...ie()]}],w:[{w:[v,"screen",...Q()]}],"min-w":[{"min-w":[v,"screen","none",...Q()]}],"max-w":[{"max-w":[v,"screen","none","prose",{screen:[h]},...Q()]}],h:[{h:["screen","lh",...Q()]}],"min-h":[{"min-h":["screen","lh","none",...Q()]}],"max-h":[{"max-h":["screen","lh",...Q()]}],"font-size":[{text:["base",s,Ii,ll]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,KS,qS]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Su,ne]}],"font-family":[{font:[GS,QS,i]}],"font-features":[{"font-features":[ne]}],"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:[u,ae,ne]}],"line-clamp":[{"line-clamp":[Ce,"none",ae,qp]}],leading:[{leading:[f,...B()]}],"list-image":[{"list-image":["none",ae,ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ae,ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:X()}],"text-color":[{text:X()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ge(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ce,"from-font","auto",ae,ll]}],"text-decoration-color":[{decoration:X()}],"underline-offset":[{"underline-offset":[Ce,"auto",ae,ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"tab-size":[{tab:[En,ae,ne]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ae,ne]}],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",ae,ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:j()}],"bg-repeat":[{bg:L()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},En,ae,ne],radial:["",ae,ne],conic:[En,ae,ne]},XS,YS]}],"bg-color":[{bg:X()}],"gradient-from-pos":[{from:$()}],"gradient-via-pos":[{via:$()}],"gradient-to-pos":[{to:$()}],"gradient-from":[{from:X()}],"gradient-via":[{via:X()}],"gradient-to":[{to:X()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:te()}],"border-w-x":[{"border-x":te()}],"border-w-y":[{"border-y":te()}],"border-w-s":[{"border-s":te()}],"border-w-e":[{"border-e":te()}],"border-w-bs":[{"border-bs":te()}],"border-w-be":[{"border-be":te()}],"border-w-t":[{"border-t":te()}],"border-w-r":[{"border-r":te()}],"border-w-b":[{"border-b":te()}],"border-w-l":[{"border-l":te()}],"divide-x":[{"divide-x":te()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":te()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ge(),"hidden","none"]}],"divide-style":[{divide:[...ge(),"hidden","none"]}],"border-color":[{border:X()}],"border-color-x":[{"border-x":X()}],"border-color-y":[{"border-y":X()}],"border-color-s":[{"border-s":X()}],"border-color-e":[{"border-e":X()}],"border-color-bs":[{"border-bs":X()}],"border-color-be":[{"border-be":X()}],"border-color-t":[{"border-t":X()}],"border-color-r":[{"border-r":X()}],"border-color-b":[{"border-b":X()}],"border-color-l":[{"border-l":X()}],"divide-color":[{divide:X()}],"outline-style":[{outline:[...ge(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ce,ae,ne]}],"outline-w":[{outline:["",Ce,Ii,ll]}],"outline-color":[{outline:X()}],shadow:[{shadow:["","none",S,_r,Mr]}],"shadow-color":[{shadow:X()}],"inset-shadow":[{"inset-shadow":["none",y,_r,Mr]}],"inset-shadow-color":[{"inset-shadow":X()}],"ring-w":[{ring:te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:X()}],"ring-offset-w":[{"ring-offset":[Ce,ll]}],"ring-offset-color":[{"ring-offset":X()}],"inset-ring-w":[{"inset-ring":te()}],"inset-ring-color":[{"inset-ring":X()}],"text-shadow":[{"text-shadow":["none",x,_r,Mr]}],"text-shadow-color":[{"text-shadow":X()}],opacity:[{opacity:[Ce,ae,ne]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"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":[Ce]}],"mask-image-linear-from-pos":[{"mask-linear-from":fe()}],"mask-image-linear-to-pos":[{"mask-linear-to":fe()}],"mask-image-linear-from-color":[{"mask-linear-from":X()}],"mask-image-linear-to-color":[{"mask-linear-to":X()}],"mask-image-t-from-pos":[{"mask-t-from":fe()}],"mask-image-t-to-pos":[{"mask-t-to":fe()}],"mask-image-t-from-color":[{"mask-t-from":X()}],"mask-image-t-to-color":[{"mask-t-to":X()}],"mask-image-r-from-pos":[{"mask-r-from":fe()}],"mask-image-r-to-pos":[{"mask-r-to":fe()}],"mask-image-r-from-color":[{"mask-r-from":X()}],"mask-image-r-to-color":[{"mask-r-to":X()}],"mask-image-b-from-pos":[{"mask-b-from":fe()}],"mask-image-b-to-pos":[{"mask-b-to":fe()}],"mask-image-b-from-color":[{"mask-b-from":X()}],"mask-image-b-to-color":[{"mask-b-to":X()}],"mask-image-l-from-pos":[{"mask-l-from":fe()}],"mask-image-l-to-pos":[{"mask-l-to":fe()}],"mask-image-l-from-color":[{"mask-l-from":X()}],"mask-image-l-to-color":[{"mask-l-to":X()}],"mask-image-x-from-pos":[{"mask-x-from":fe()}],"mask-image-x-to-pos":[{"mask-x-to":fe()}],"mask-image-x-from-color":[{"mask-x-from":X()}],"mask-image-x-to-color":[{"mask-x-to":X()}],"mask-image-y-from-pos":[{"mask-y-from":fe()}],"mask-image-y-to-pos":[{"mask-y-to":fe()}],"mask-image-y-from-color":[{"mask-y-from":X()}],"mask-image-y-to-color":[{"mask-y-to":X()}],"mask-image-radial":[{"mask-radial":[ae,ne]}],"mask-image-radial-from-pos":[{"mask-radial-from":fe()}],"mask-image-radial-to-pos":[{"mask-radial-to":fe()}],"mask-image-radial-from-color":[{"mask-radial-from":X()}],"mask-image-radial-to-color":[{"mask-radial-to":X()}],"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":W()}],"mask-image-conic-pos":[{"mask-conic":[Ce]}],"mask-image-conic-from-pos":[{"mask-conic-from":fe()}],"mask-image-conic-to-pos":[{"mask-conic-to":fe()}],"mask-image-conic-from-color":[{"mask-conic-from":X()}],"mask-image-conic-to-color":[{"mask-conic-to":X()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:j()}],"mask-repeat":[{mask:L()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ae,ne]}],filter:[{filter:["","none",ae,ne]}],blur:[{blur:dt()}],brightness:[{brightness:[Ce,ae,ne]}],contrast:[{contrast:[Ce,ae,ne]}],"drop-shadow":[{"drop-shadow":["","none",E,_r,Mr]}],"drop-shadow-color":[{"drop-shadow":X()}],grayscale:[{grayscale:["",Ce,ae,ne]}],"hue-rotate":[{"hue-rotate":[Ce,ae,ne]}],invert:[{invert:["",Ce,ae,ne]}],saturate:[{saturate:[Ce,ae,ne]}],sepia:[{sepia:["",Ce,ae,ne]}],"backdrop-filter":[{"backdrop-filter":["","none",ae,ne]}],"backdrop-blur":[{"backdrop-blur":dt()}],"backdrop-brightness":[{"backdrop-brightness":[Ce,ae,ne]}],"backdrop-contrast":[{"backdrop-contrast":[Ce,ae,ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ce,ae,ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ce,ae,ne]}],"backdrop-invert":[{"backdrop-invert":["",Ce,ae,ne]}],"backdrop-opacity":[{"backdrop-opacity":[Ce,ae,ne]}],"backdrop-saturate":[{"backdrop-saturate":[Ce,ae,ne]}],"backdrop-sepia":[{"backdrop-sepia":["",Ce,ae,ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":B()}],"border-spacing-x":[{"border-spacing-x":B()}],"border-spacing-y":[{"border-spacing-y":B()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ae,ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ce,"initial",ae,ne]}],ease:[{ease:["linear","initial",k,ae,ne]}],delay:[{delay:[Ce,ae,ne]}],animate:[{animate:["none",Z,ae,ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[O,ae,ne]}],"perspective-origin":[{"perspective-origin":ee()}],rotate:[{rotate:rt()}],"rotate-x":[{"rotate-x":rt()}],"rotate-y":[{"rotate-y":rt()}],"rotate-z":[{"rotate-z":rt()}],scale:[{scale:We()}],"scale-x":[{"scale-x":We()}],"scale-y":[{"scale-y":We()}],"scale-z":[{"scale-z":We()}],"scale-3d":["scale-3d"],skew:[{skew:Et()}],"skew-x":[{"skew-x":Et()}],"skew-y":[{"skew-y":Et()}],transform:[{transform:[ae,ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:ee()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ze()}],"translate-x":[{"translate-x":Ze()}],"translate-y":[{"translate-y":Ze()}],"translate-z":[{"translate-z":Ze()}],"translate-none":["translate-none"],zoom:[{zoom:[En,ae,ne]}],accent:[{accent:X()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:X()}],"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",ae,ne]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":X()}],"scrollbar-track-color":[{"scrollbar-track":X()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mbs":[{"scroll-mbs":B()}],"scroll-mbe":[{"scroll-mbe":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pbs":[{"scroll-pbs":B()}],"scroll-pbe":[{"scroll-pbe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"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",ae,ne]}],fill:[{fill:["none",...X()]}],"stroke-w":[{stroke:[Ce,Ii,ll,qp]}],stroke:[{stroke:["none",...X()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],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"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},FS=jS(JS);function $S(...a){return FS(lS(a))}function WS({delayDuration:a=0,...i}){return p.jsx(Px,{"data-slot":"tooltip-provider",delayDuration:a,...i})}function PS({...a}){return p.jsx(Ix,{"data-slot":"tooltip",...a})}function IS({...a}){return p.jsx(eS,{"data-slot":"tooltip-trigger",...a})}function e2({className:a,sideOffset:i=0,children:s,...o}){return p.jsx(tS,{children:p.jsxs(nS,{"data-slot":"tooltip-content",sideOffset:i,className:$S("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",a),...o,children:[s,p.jsx(aS,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Lu=new Set;function t2(a){return Lu.add(a),()=>Lu.delete(a)}function n2(){for(const a of Lu)a()}const dg=(...a)=>a.filter((i,s,o)=>!!i&&i.trim()!==""&&o.indexOf(i)===s).join(" ").trim();const a2=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const l2=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(i,s,o)=>o?o.toUpperCase():s.toLowerCase());const Gp=a=>{const i=l2(a);return i.charAt(0).toUpperCase()+i.slice(1)};var wu={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"};const i2=a=>{for(const i in a)if(i.startsWith("aria-")||i==="role"||i==="title")return!0;return!1},s2=T.createContext({}),r2=()=>T.useContext(s2),o2=T.forwardRef(({color:a,size:i,strokeWidth:s,absoluteStrokeWidth:o,className:u="",children:f,iconNode:h,...v},g)=>{const{size:m=24,strokeWidth:S=2,absoluteStrokeWidth:y=!1,color:x="currentColor",className:E=""}=r2()??{},w=o??y?Number(s??S)*24/Number(i??m):s??S;return T.createElement("svg",{ref:g,...wu,width:i??m??wu.width,height:i??m??wu.height,stroke:a??x,strokeWidth:w,className:dg("lucide",E,u),...!f&&!i2(v)&&{"aria-hidden":"true"},...v},[...h.map(([O,M])=>T.createElement(O,M)),...Array.isArray(f)?f:[f]])});const He=(a,i)=>{const s=T.forwardRef(({className:o,...u},f)=>T.createElement(o2,{ref:f,iconNode:i,className:dg(`lucide-${a2(Gp(a))}`,`lucide-${a}`,o),...u}));return s.displayName=Gp(a),s};const c2=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],u2=He("check",c2);const f2=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],d2=He("chevron-down",f2);const h2=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],m2=He("chevron-right",h2);const p2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],y2=He("circle-check",p2);const g2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],v2=He("clock",g2);const b2=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],x2=He("copy",b2);const S2=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],w2=He("download",S2);const E2=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],T2=He("ellipsis",E2);const C2=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],j2=He("file-text",C2);const A2=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],O2=He("folder",A2);const N2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],R2=He("globe",N2);const M2=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],_2=He("history",M2);const D2=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],z2=He("info",D2);const k2=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],H2=He("layout-dashboard",k2);const U2=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],L2=He("link",U2);const B2=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],q2=He("loader-circle",B2);const Q2=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Y2=He("lock",Q2);const G2=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],V2=He("log-out",G2);const X2=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],K2=He("menu",X2);const Z2=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],J2=He("octagon-x",Z2);const F2=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],$2=He("plus",F2);const W2=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],P2=He("search",W2);const I2=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],ew=He("settings",I2);const tw=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],nw=He("share-2",tw);const aw=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],lw=He("shield",aw);const iw=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],sw=He("square-terminal",iw);const rw=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ow=He("trash-2",rw);const cw=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],hg=He("triangle-alert",cw);const uw=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],fw=He("upload",uw);const dw=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],hw=He("users",dw);const mw=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],pw=He("x",mw);function yw(){document.body.classList.toggle("sb-open")}function pn(){document.body.classList.remove("sb-open")}const gw={alert:hg,check:u2,chev:m2,chevd:d2,clock:v2,copy:x2,doc:j2,dots:T2,download:w2,folder:O2,dashboard:H2,gear:ew,globe:R2,hist:_2,link:L2,lock:Y2,menu:K2,plus:$2,power:V2,search:P2,share:nw,shield:lw,terminal:sw,trash:ow,upload:fw,users:hw,x:pw};function st({name:a}){const i=gw[a];return i?p.jsx(i,{className:"ico","aria-hidden":"true"}):null}function rs(a){return p.jsxs(p.Fragment,{children:[p.jsx("div",{id:"sb-backdrop",onClick:pn}),p.jsxs("aside",{id:"sidebar",children:[a.vault,a.projectsNav,a.tree??p.jsx("nav",{id:"tree","aria-label":"Files"}),a.orgBar]}),p.jsxs("main",{id:"main",children:[a.topbar,p.jsx("article",{id:"content",className:a.contentClass??"markdown",ref:a.contentRef,onScroll:a.onContentScroll,children:a.children})]})]})}function Ir(a){const{name:i,onHome:s,showSignout:o,search:u}=a;return p.jsxs("header",{id:"vault",children:[p.jsx("span",{id:"vault-badge","aria-hidden":"true",children:"🐻"}),p.jsx("span",{id:"vault-name",className:s?"vault-link":void 0,onClick:s,role:s?"button":void 0,tabIndex:s?0:void 0,onKeyDown:f=>{s&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s())},children:i}),p.jsxs("div",{className:"vault-actions",children:[u&&p.jsxs(PS,{delayDuration:150,children:[p.jsx(IS,{asChild:!0,children:p.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{n2(),pn()},children:p.jsx(st,{name:"search"})})}),p.jsxs(e2,{className:"tipcard",sideOffset:6,children:["Search ",p.jsx("kbd",{children:"⌘K"})]})]}),o&&p.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:p.jsx(st,{name:"power"})})]})]})}function os(a){return p.jsxs("header",{id:"topbar",children:[p.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu",onClick:yw,children:p.jsx(st,{name:"menu"})}),p.jsx("span",{id:"crumb",children:a.crumb}),p.jsx("span",{id:"meta",children:a.meta}),a.actions]})}function vw(a){if(typeof document>"u")return;let i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css",i.appendChild(s),s.styleSheet?s.styleSheet.cssText=a:s.appendChild(document.createTextNode(a))}const bw=a=>{switch(a){case"success":return ww;case"info":return Tw;case"warning":return Ew;case"error":return Cw;default:return null}},xw=Array(12).fill(0),Sw=({visible:a,className:i})=>I.createElement("div",{className:["sonner-loading-wrapper",i].filter(Boolean).join(" "),"data-visible":a},I.createElement("div",{className:"sonner-spinner"},xw.map((s,o)=>I.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),ww=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Ew=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Tw=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Cw=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),jw=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},I.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),I.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Aw=()=>{const[a,i]=I.useState(document.hidden);return I.useEffect(()=>{const s=()=>{i(document.hidden)};return document.addEventListener("visibilitychange",s),()=>window.removeEventListener("visibilitychange",s)},[]),a};let Bu=1;class Ow{constructor(){this.subscribe=i=>(this.subscribers.push(i),()=>{const s=this.subscribers.indexOf(i);this.subscribers.splice(s,1)}),this.publish=i=>{this.subscribers.forEach(s=>s(i))},this.addToast=i=>{this.publish(i),this.toasts=[...this.toasts,i]},this.create=i=>{var s;const{message:o,...u}=i,f=typeof i?.id=="number"||((s=i.id)==null?void 0:s.length)>0?i.id:Bu++,h=this.toasts.find(g=>g.id===f),v=i.dismissible===void 0?!0:i.dismissible;return this.dismissedToasts.has(f)&&this.dismissedToasts.delete(f),h?this.toasts=this.toasts.map(g=>g.id===f?(this.publish({...g,...i,id:f,title:o}),{...g,...i,id:f,dismissible:v,title:o}):g):this.addToast({title:o,...u,dismissible:v,id:f}),f},this.dismiss=i=>(i?(this.dismissedToasts.add(i),requestAnimationFrame(()=>this.subscribers.forEach(s=>s({id:i,dismiss:!0})))):this.toasts.forEach(s=>{this.subscribers.forEach(o=>o({id:s.id,dismiss:!0}))}),i),this.message=(i,s)=>this.create({...s,message:i}),this.error=(i,s)=>this.create({...s,message:i,type:"error"}),this.success=(i,s)=>this.create({...s,type:"success",message:i}),this.info=(i,s)=>this.create({...s,type:"info",message:i}),this.warning=(i,s)=>this.create({...s,type:"warning",message:i}),this.loading=(i,s)=>this.create({...s,type:"loading",message:i}),this.promise=(i,s)=>{if(!s)return;let o;s.loading!==void 0&&(o=this.create({...s,promise:i,type:"loading",message:s.loading,description:typeof s.description!="function"?s.description:void 0}));const u=Promise.resolve(i instanceof Function?i():i);let f=o!==void 0,h;const v=u.then(async m=>{if(h=["resolve",m],I.isValidElement(m))f=!1,this.create({id:o,type:"default",message:m});else if(Rw(m)&&!m.ok){f=!1;const y=typeof s.error=="function"?await s.error(`HTTP error! status: ${m.status}`):s.error,x=typeof s.description=="function"?await s.description(`HTTP error! status: ${m.status}`):s.description,w=typeof y=="object"&&!I.isValidElement(y)?y:{message:y};this.create({id:o,type:"error",description:x,...w})}else if(m instanceof Error){f=!1;const y=typeof s.error=="function"?await s.error(m):s.error,x=typeof s.description=="function"?await s.description(m):s.description,w=typeof y=="object"&&!I.isValidElement(y)?y:{message:y};this.create({id:o,type:"error",description:x,...w})}else if(s.success!==void 0){f=!1;const y=typeof s.success=="function"?await s.success(m):s.success,x=typeof s.description=="function"?await s.description(m):s.description,w=typeof y=="object"&&!I.isValidElement(y)?y:{message:y};this.create({id:o,type:"success",description:x,...w})}}).catch(async m=>{if(h=["reject",m],s.error!==void 0){f=!1;const S=typeof s.error=="function"?await s.error(m):s.error,y=typeof s.description=="function"?await s.description(m):s.description,E=typeof S=="object"&&!I.isValidElement(S)?S:{message:S};this.create({id:o,type:"error",description:y,...E})}}).finally(()=>{f&&(this.dismiss(o),o=void 0),s.finally==null||s.finally.call(s)}),g=()=>new Promise((m,S)=>v.then(()=>h[0]==="reject"?S(h[1]):m(h[1])).catch(S));return typeof o!="string"&&typeof o!="number"?{unwrap:g}:Object.assign(o,{unwrap:g})},this.custom=(i,s)=>{const o=s?.id||Bu++;return this.create({jsx:i(o),id:o,...s}),o},this.getActiveToasts=()=>this.toasts.filter(i=>!this.dismissedToasts.has(i.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Lt=new Ow,Nw=(a,i)=>{const s=i?.id||Bu++;return Lt.addToast({title:a,...i,id:s}),s},Rw=a=>a&&typeof a=="object"&&"ok"in a&&typeof a.ok=="boolean"&&"status"in a&&typeof a.status=="number",Mw=Nw,_w=()=>Lt.toasts,Dw=()=>Lt.getActiveToasts(),Vp=Object.assign(Mw,{success:Lt.success,info:Lt.info,warning:Lt.warning,error:Lt.error,custom:Lt.custom,message:Lt.message,promise:Lt.promise,dismiss:Lt.dismiss,loading:Lt.loading},{getHistory:_w,getToasts:Dw});vw("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Dr(a){return a.label!==void 0}const zw=3,kw="24px",Hw="16px",Xp=4e3,Uw=356,Lw=14,Bw=45,qw=200;function Tn(...a){return a.filter(Boolean).join(" ")}function Qw(a){const[i,s]=a.split("-"),o=[];return i&&o.push(i),s&&o.push(s),o}const Yw=a=>{var i,s,o,u,f,h,v,g,m;const{invert:S,toast:y,unstyled:x,interacting:E,setHeights:w,visibleToasts:O,heights:M,index:k,toasts:Z,expanded:V,removeToast:W,defaultRichColors:ee,closeButton:K,style:J,cancelButtonStyle:B,actionButtonStyle:ue,className:de="",descriptionClassName:re="",duration:ye,position:oe,gap:Ee,expandByDefault:he,classNames:N,icons:Q,closeButtonAriaLabel:F="Close toast"}=a,[ie,X]=I.useState(null),[j,L]=I.useState(null),[G,$]=I.useState(!1),[P,te]=I.useState(!1),[ge,pe]=I.useState(!1),[fe,dt]=I.useState(!1),[rt,We]=I.useState(!1),[Et,Ze]=I.useState(0),[yn,At]=I.useState(0),ot=I.useRef(y.duration||ye||Xp),za=I.useRef(null),Tt=I.useRef(null),xe=k===0,Re=k+1<=O,Te=y.type,Pt=y.dismissible!==!1,ht=y.className||"",li=y.descriptionClassName||"",ka=I.useMemo(()=>M.findIndex(ve=>ve.toastId===y.id)||0,[M,y.id]),ms=I.useMemo(()=>{var ve;return(ve=y.closeButton)!=null?ve:K},[y.closeButton,K]),Ha=I.useMemo(()=>y.duration||ye||Xp,[y.duration,ye]),ii=I.useRef(0),On=I.useRef(0),ps=I.useRef(0),ea=I.useRef(null),[Ua,Ct]=oe.split("-"),un=I.useMemo(()=>M.reduce((ve,Xe,ct)=>ct>=ka?ve:ve+Xe.height,0),[M,ka]),xt=Aw(),eo=y.invert||S,si=Te==="loading";On.current=I.useMemo(()=>ka*Ee+un,[ka,un]),I.useEffect(()=>{ot.current=Ha},[Ha]),I.useEffect(()=>{$(!0)},[]),I.useEffect(()=>{const ve=Tt.current;if(ve){const Xe=ve.getBoundingClientRect().height;return At(Xe),w(ct=>[{toastId:y.id,height:Xe,position:y.position},...ct]),()=>w(ct=>ct.filter(St=>St.toastId!==y.id))}},[w,y.id]),I.useLayoutEffect(()=>{if(!G)return;const ve=Tt.current,Xe=ve.style.height;ve.style.height="auto";const ct=ve.getBoundingClientRect().height;ve.style.height=Xe,At(ct),w(St=>St.find(Je=>Je.toastId===y.id)?St.map(Je=>Je.toastId===y.id?{...Je,height:ct}:Je):[{toastId:y.id,height:ct,position:y.position},...St])},[G,y.title,y.description,w,y.id,y.jsx,y.action,y.cancel]);const gn=I.useCallback(()=>{te(!0),Ze(On.current),w(ve=>ve.filter(Xe=>Xe.toastId!==y.id)),setTimeout(()=>{W(y)},qw)},[y,W,w,On]);I.useEffect(()=>{if(y.promise&&Te==="loading"||y.duration===1/0||y.type==="loading")return;let ve;return V||E||xt?(()=>{if(ps.current{y.onAutoClose==null||y.onAutoClose.call(y,y),gn()},ot.current)),()=>clearTimeout(ve)},[V,E,y,Te,xt,gn]),I.useEffect(()=>{y.delete&&(gn(),y.onDismiss==null||y.onDismiss.call(y,y))},[gn,y.delete]);function ul(){var ve;if(Q?.loading){var Xe;return I.createElement("div",{className:Tn(N?.loader,y==null||(Xe=y.classNames)==null?void 0:Xe.loader,"sonner-loader"),"data-visible":Te==="loading"},Q.loading)}return I.createElement(Sw,{className:Tn(N?.loader,y==null||(ve=y.classNames)==null?void 0:ve.loader),visible:Te==="loading"})}const fl=y.icon||Q?.[Te]||bw(Te);var La,vn;return I.createElement("li",{tabIndex:0,ref:Tt,className:Tn(de,ht,N?.toast,y==null||(i=y.classNames)==null?void 0:i.toast,N?.default,N?.[Te],y==null||(s=y.classNames)==null?void 0:s[Te]),"data-sonner-toast":"","data-rich-colors":(La=y.richColors)!=null?La:ee,"data-styled":!(y.jsx||y.unstyled||x),"data-mounted":G,"data-promise":!!y.promise,"data-swiped":rt,"data-removed":P,"data-visible":Re,"data-y-position":Ua,"data-x-position":Ct,"data-index":k,"data-front":xe,"data-swiping":ge,"data-dismissible":Pt,"data-type":Te,"data-invert":eo,"data-swipe-out":fe,"data-swipe-direction":j,"data-expanded":!!(V||he&&G),"data-testid":y.testId,style:{"--index":k,"--toasts-before":k,"--z-index":Z.length-k,"--offset":`${P?Et:On.current}px`,"--initial-height":he?"auto":`${yn}px`,...J,...y.style},onDragEnd:()=>{pe(!1),X(null),ea.current=null},onPointerDown:ve=>{ve.button!==2&&(si||!Pt||(za.current=new Date,Ze(On.current),ve.target.setPointerCapture(ve.pointerId),ve.target.tagName!=="BUTTON"&&(pe(!0),ea.current={x:ve.clientX,y:ve.clientY})))},onPointerUp:()=>{var ve,Xe,ct;if(fe||!Pt)return;ea.current=null;const St=Number(((ve=Tt.current)==null?void 0:ve.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),ta=Number(((Xe=Tt.current)==null?void 0:Xe.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Je=new Date().getTime()-((ct=za.current)==null?void 0:ct.getTime()),Ot=ie==="x"?St:ta,Ba=Math.abs(Ot)/Je;if(Math.abs(Ot)>=Bw||Ba>.11){Ze(On.current),y.onDismiss==null||y.onDismiss.call(y,y),L(ie==="x"?St>0?"right":"left":ta>0?"down":"up"),gn(),dt(!0);return}else{var Nt,Rt;(Nt=Tt.current)==null||Nt.style.setProperty("--swipe-amount-x","0px"),(Rt=Tt.current)==null||Rt.style.setProperty("--swipe-amount-y","0px")}We(!1),pe(!1),X(null)},onPointerMove:ve=>{var Xe,ct,St;if(!ea.current||!Pt||((Xe=window.getSelection())==null?void 0:Xe.toString().length)>0)return;const Je=ve.clientY-ea.current.y,Ot=ve.clientX-ea.current.x;var Ba;const Nt=(Ba=a.swipeDirections)!=null?Ba:Qw(oe);!ie&&(Math.abs(Ot)>1||Math.abs(Je)>1)&&X(Math.abs(Ot)>Math.abs(Je)?"x":"y");let Rt={x:0,y:0};const dl=fn=>1/(1.5+Math.abs(fn)/20);if(ie==="y"){if(Nt.includes("top")||Nt.includes("bottom"))if(Nt.includes("top")&&Je<0||Nt.includes("bottom")&&Je>0)Rt.y=Je;else{const fn=Je*dl(Je);Rt.y=Math.abs(fn)0)Rt.x=Ot;else{const fn=Ot*dl(Ot);Rt.x=Math.abs(fn)0||Math.abs(Rt.y)>0)&&We(!0),(ct=Tt.current)==null||ct.style.setProperty("--swipe-amount-x",`${Rt.x}px`),(St=Tt.current)==null||St.style.setProperty("--swipe-amount-y",`${Rt.y}px`)}},ms&&!y.jsx&&Te!=="loading"?I.createElement("button",{"aria-label":F,"data-disabled":si,"data-close-button":!0,onClick:si||!Pt?()=>{}:()=>{gn(),y.onDismiss==null||y.onDismiss.call(y,y)},className:Tn(N?.closeButton,y==null||(o=y.classNames)==null?void 0:o.closeButton)},(vn=Q?.close)!=null?vn:jw):null,(Te||y.icon||y.promise)&&y.icon!==null&&(Q?.[Te]!==null||y.icon)?I.createElement("div",{"data-icon":"",className:Tn(N?.icon,y==null||(u=y.classNames)==null?void 0:u.icon)},y.promise||y.type==="loading"&&!y.icon?y.icon||ul():null,y.type!=="loading"?fl:null):null,I.createElement("div",{"data-content":"",className:Tn(N?.content,y==null||(f=y.classNames)==null?void 0:f.content)},I.createElement("div",{"data-title":"",className:Tn(N?.title,y==null||(h=y.classNames)==null?void 0:h.title)},y.jsx?y.jsx:typeof y.title=="function"?y.title():y.title),y.description?I.createElement("div",{"data-description":"",className:Tn(re,li,N?.description,y==null||(v=y.classNames)==null?void 0:v.description)},typeof y.description=="function"?y.description():y.description):null),I.isValidElement(y.cancel)?y.cancel:y.cancel&&Dr(y.cancel)?I.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||B,onClick:ve=>{Dr(y.cancel)&&Pt&&(y.cancel.onClick==null||y.cancel.onClick.call(y.cancel,ve),gn())},className:Tn(N?.cancelButton,y==null||(g=y.classNames)==null?void 0:g.cancelButton)},y.cancel.label):null,I.isValidElement(y.action)?y.action:y.action&&Dr(y.action)?I.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||ue,onClick:ve=>{Dr(y.action)&&(y.action.onClick==null||y.action.onClick.call(y.action,ve),!ve.defaultPrevented&&gn())},className:Tn(N?.actionButton,y==null||(m=y.classNames)==null?void 0:m.actionButton)},y.action.label):null)};function Kp(){if(typeof window>"u"||typeof document>"u")return"ltr";const a=document.documentElement.getAttribute("dir");return a==="auto"||!a?window.getComputedStyle(document.documentElement).direction:a}function Gw(a,i){const s={};return[a,i].forEach((o,u)=>{const f=u===1,h=f?"--mobile-offset":"--offset",v=f?Hw:kw;function g(m){["top","right","bottom","left"].forEach(S=>{s[`${h}-${S}`]=typeof m=="number"?`${m}px`:m})}typeof o=="number"||typeof o=="string"?g(o):typeof o=="object"?["top","right","bottom","left"].forEach(m=>{o[m]===void 0?s[`${h}-${m}`]=v:s[`${h}-${m}`]=typeof o[m]=="number"?`${o[m]}px`:o[m]}):g(v)}),s}const Vw=I.forwardRef(function(i,s){const{id:o,invert:u,position:f="bottom-right",hotkey:h=["altKey","KeyT"],expand:v,closeButton:g,className:m,offset:S,mobileOffset:y,theme:x="light",richColors:E,duration:w,style:O,visibleToasts:M=zw,toastOptions:k,dir:Z=Kp(),gap:V=Lw,icons:W,containerAriaLabel:ee="Notifications"}=i,[K,J]=I.useState([]),B=I.useMemo(()=>o?K.filter(G=>G.toasterId===o):K.filter(G=>!G.toasterId),[K,o]),ue=I.useMemo(()=>Array.from(new Set([f].concat(B.filter(G=>G.position).map(G=>G.position)))),[B,f]),[de,re]=I.useState([]),[ye,oe]=I.useState(!1),[Ee,he]=I.useState(!1),[N,Q]=I.useState(x!=="system"?x:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),F=I.useRef(null),ie=h.join("+").replace(/Key/g,"").replace(/Digit/g,""),X=I.useRef(null),j=I.useRef(!1),L=I.useCallback(G=>{J($=>{var P;return(P=$.find(te=>te.id===G.id))!=null&&P.delete||Lt.dismiss(G.id),$.filter(({id:te})=>te!==G.id)})},[]);return I.useEffect(()=>Lt.subscribe(G=>{if(G.dismiss){requestAnimationFrame(()=>{J($=>$.map(P=>P.id===G.id?{...P,delete:!0}:P))});return}setTimeout(()=>{kb.flushSync(()=>{J($=>{const P=$.findIndex(te=>te.id===G.id);return P!==-1?[...$.slice(0,P),{...$[P],...G},...$.slice(P+1)]:[G,...$]})})})}),[K]),I.useEffect(()=>{if(x!=="system"){Q(x);return}if(x==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Q("dark"):Q("light")),typeof window>"u")return;const G=window.matchMedia("(prefers-color-scheme: dark)");try{G.addEventListener("change",({matches:$})=>{Q($?"dark":"light")})}catch{G.addListener(({matches:P})=>{try{Q(P?"dark":"light")}catch(te){console.error(te)}})}},[x]),I.useEffect(()=>{K.length<=1&&oe(!1)},[K]),I.useEffect(()=>{const G=$=>{var P;if(h.every(pe=>$[pe]||$.code===pe)){var ge;oe(!0),(ge=F.current)==null||ge.focus()}$.code==="Escape"&&(document.activeElement===F.current||(P=F.current)!=null&&P.contains(document.activeElement))&&oe(!1)};return document.addEventListener("keydown",G),()=>document.removeEventListener("keydown",G)},[h]),I.useEffect(()=>{if(F.current)return()=>{X.current&&(X.current.focus({preventScroll:!0}),X.current=null,j.current=!1)}},[F.current]),I.createElement("section",{ref:s,"aria-label":`${ee} ${ie}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ue.map((G,$)=>{var P;const[te,ge]=G.split("-");return B.length?I.createElement("ol",{key:G,dir:Z==="auto"?Kp():Z,tabIndex:-1,ref:F,className:m,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":te,"data-x-position":ge,style:{"--front-toast-height":`${((P=de[0])==null?void 0:P.height)||0}px`,"--width":`${Uw}px`,"--gap":`${V}px`,...O,...Gw(S,y)},onBlur:pe=>{j.current&&!pe.currentTarget.contains(pe.relatedTarget)&&(j.current=!1,X.current&&(X.current.focus({preventScroll:!0}),X.current=null))},onFocus:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||j.current||(j.current=!0,X.current=pe.relatedTarget)},onMouseEnter:()=>oe(!0),onMouseMove:()=>oe(!0),onMouseLeave:()=>{Ee||oe(!1)},onDragEnd:()=>oe(!1),onPointerDown:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||he(!0)},onPointerUp:()=>he(!1)},B.filter(pe=>!pe.position&&$===0||pe.position===G).map((pe,fe)=>{var dt,rt;return I.createElement(Yw,{key:pe.id,icons:W,index:fe,toast:pe,defaultRichColors:E,duration:(dt=k?.duration)!=null?dt:w,className:k?.className,descriptionClassName:k?.descriptionClassName,invert:u,visibleToasts:M,closeButton:(rt=k?.closeButton)!=null?rt:g,interacting:Ee,position:G,style:k?.style,unstyled:k?.unstyled,classNames:k?.classNames,cancelButtonStyle:k?.cancelButtonStyle,actionButtonStyle:k?.actionButtonStyle,closeButtonAriaLabel:k?.closeButtonAriaLabel,removeToast:L,toasts:B.filter(We=>We.position==pe.position),heights:de.filter(We=>We.position==pe.position),setHeights:re,expandByDefault:v,gap:V,expanded:ye,swipeDirections:i.swipeDirections})})):null}))}),Xw=({...a})=>p.jsx(Vw,{theme:"dark",className:"toaster group",icons:{success:p.jsx(y2,{className:"size-4"}),info:p.jsx(z2,{className:"size-4"}),warning:p.jsx(hg,{className:"size-4"}),error:p.jsx(J2,{className:"size-4"}),loading:p.jsx(q2,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...a});function _e(a,i=!1){i?Vp.error(a):Vp(a)}function Kw(){return p.jsx(Xw,{position:"bottom-center"})}let mg=null,Hr=[];function of(a){mg=a,Hr.forEach(i=>i())}function pg(a,i,s="",o="OK"){return new Promise(u=>of({kind:"prompt",title:a,label:i,value:s,okLabel:o,resolve:u}))}function zr(a,i,s="Confirm",o=!1){return new Promise(u=>of({kind:"confirm",title:a,message:i,confirmLabel:s,danger:o,resolve:u}))}function Zw(){const a=T.useSyncExternalStore(i=>(Hr.push(i),()=>{Hr=Hr.filter(s=>s!==i)}),()=>mg);return a?a.kind==="prompt"?p.jsx(Jw,{m:a}):p.jsx(Fw,{m:a}):null}function yg(){of(null)}function Jw({m:a}){const i=T.useRef(null),s=u=>{yg(),a.resolve(u)},o=()=>s(i.current.value.trim()||null);return T.useEffect(()=>{i.current.focus(),i.current.select();const u=f=>{f.key==="Escape"&&s(null),f.key==="Enter"&&o()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[]),p.jsx("div",{className:"modal-back",onClick:u=>u.target===u.currentTarget&&s(null),children:p.jsxs("div",{className:"modal",children:[p.jsx("h3",{children:a.title}),p.jsx("label",{className:"modal-label",children:a.label}),p.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",defaultValue:a.value,ref:i}),p.jsxs("div",{className:"modal-actions",children:[p.jsx("button",{className:"ai-btn",onClick:()=>s(null),children:"Cancel"}),p.jsx("button",{className:"pbtn",onClick:o,children:a.okLabel})]})]})})}function Fw({m:a}){const i=T.useRef(null),s=o=>{yg(),a.resolve(o)};return T.useEffect(()=>{i.current.focus();const o=u=>{u.key==="Escape"&&s(!1),u.key==="Enter"&&s(!0)};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[]),p.jsx("div",{className:"modal-back",onClick:o=>o.target===o.currentTarget&&s(!1),children:p.jsxs("div",{className:"modal",children:[p.jsx("h3",{children:a.title}),p.jsx("p",{className:"modal-msg",children:a.message}),p.jsxs("div",{className:"modal-actions",children:[p.jsx("button",{className:"ai-btn",onClick:()=>s(!1),children:"Cancel"}),p.jsx("button",{className:a.danger?"danger-btn":"pbtn",onClick:()=>s(!0),ref:i,children:a.confirmLabel})]})]})})}function $w(a){return Yt({queryKey:["projects"],queryFn:()=>Wt("/api/projects"),enabled:a,refetchInterval:3e4,select:i=>i.projects||[]})}function Ww(a){return Yt({queryKey:["orgs"],queryFn:()=>Wt("/api/orgs"),enabled:a,select:i=>i.orgs||[]})}function gg(a){return Yt({queryKey:["admin","pending"],queryFn:()=>Wt("/api/admin/pending"),enabled:a,select:i=>i.pending||[]})}function vg(){const a=ds();return()=>Promise.all([a.invalidateQueries({queryKey:["projects"]}),a.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function bg(a){return a.split("/").map(encodeURIComponent).join("/")}function Zp(a){return a.split("/").map(decodeURIComponent).join("/")}const Pw=new Set(["insights","history","install","settings"]);function xg(a,i){const s=a.replace(/^\/+/,"");if(i!=="hub")return{path:s?Zp(s):""};const o=s.indexOf("/");if(o===-1)return{project:s,path:""};const u={project:s.slice(0,o),path:Zp(s.slice(o+1))},f=u.path.indexOf("/"),h=f===-1?u.path:u.path.slice(0,f);return Pw.has(h)&&(u.view=h,u.viewTarget=f===-1?"":u.path.slice(f+1).replace(/\/+$/,""),u.path=""),u}function Iw(a,i){const s=bg(a);return i?"/"+i+(s?"/"+s:""):"/"+s}function Pl(a,i,s){let o=(i?"/"+i:"")+"/"+a;return s&&(o+="/"+bg(s.replace(/\/+$/,""))),o}let cf="POP";const qu=new Set;function Sg(){for(const a of qu)a()}window.addEventListener("popstate",()=>{cf="POP",Sg()});function qt(a,i){const s=location.pathname+location.search;!i?.replace&&s===a||(history[i?.replace?"replaceState":"pushState"](null,"",a),cf=i?.replace?"REPLACE":"PUSH",Sg())}function uf(){return T.useSyncExternalStore(a=>(qu.add(a),()=>{qu.delete(a)}),()=>location.pathname)}function eE(){return cf}function tE({to:a}){return T.useEffect(()=>{qt(a,{replace:!0})},[a]),null}const nE=/\.(md|markdown)$/i,aE=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,lE=/\.html?$/i,iE=/\.(txt|log|json|ya?ml|toml|csv|go|py|js|ts|jsx|tsx|sh|bash|zsh|rb|rs|c|h|cpp|java|kt|swift|sql|css|xml|ini|conf|env|mod|sum|jsonl)$/i;function wg(a){if(a<1024)return a+" B";const i=["KB","MB","GB","TB"];let s=-1;do a/=1024,s++;while(a>=1024&&su.invalidateQueries({queryKey:["orgs"]}),m=()=>u.invalidateQueries({queryKey:["invites",a.id]}),S=()=>u.invalidateQueries({queryKey:["orgShares",a.id]}),{data:y}=Yt({queryKey:["invites",a.id],queryFn:()=>Wt(`/api/orgs/${a.id}/invites`),enabled:f,select:w=>w.invites||[]}),{data:x}=Yt({queryKey:["orgShares",a.id],queryFn:()=>Wt(`/api/orgs/${a.id}/shares`),enabled:f,select:w=>w.shares||[]}),E=i.filter(w=>w.org===a.id);return p.jsxs("div",{className:"admin",children:[p.jsx("h1",{id:"org-title",children:a.name+(f?"":" · member")}),f&&p.jsxs("div",{className:"admin-row",children:[p.jsx("input",{id:"org-rename",type:"text",value:h,onChange:w=>v(w.target.value)}),p.jsx("button",{className:"pbtn",id:"org-rename-btn",onClick:async()=>{try{await Aa("PATCH","/api/orgs/"+a.id,{name:h.trim()}),_e("Renamed."),g()}catch(w){_e(w.message,!0)}},children:"Rename org"})]}),p.jsx("h3",{children:"Members"}),p.jsx("div",{className:"admin-list",children:a.members.map(w=>{const O=!!s&&w.email.toLowerCase()===s.toLowerCase();return p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:w.email+(O?" (you)":"")}),f&&!O?p.jsxs(p.Fragment,{children:[p.jsxs("select",{value:w.role,onChange:async M=>{try{await Aa("PATCH",`/api/orgs/${a.id}/members/${encodeURIComponent(w.email)}`,{role:M.target.value}),_e("Role updated.")}catch(k){_e(k.message,!0)}g()},children:[p.jsx("option",{value:"owner",children:"owner"}),p.jsx("option",{value:"member",children:"member"})]}),p.jsx("button",{className:"ai-del",onClick:async()=>{if(await zr("Remove member",`Remove ${w.email} from ${a.name}?`,"Remove",!0))try{await Aa("DELETE",`/api/orgs/${a.id}/members/${encodeURIComponent(w.email)}`),_e("Removed."),g()}catch(M){_e(M.message,!0)}},children:"Remove"})]}):p.jsx("span",{className:"ai-tag",children:w.role})]},w.email)})}),f&&p.jsxs(p.Fragment,{children:[p.jsx("h3",{children:"Projects"}),p.jsxs("div",{className:"admin-list",children:[E.length===0&&p.jsx("div",{className:"admin-empty",children:"No projects yet."}),E.map(w=>p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:w.name}),p.jsx("button",{className:"ai-btn",onClick:async()=>{const O=await pg("Rename project","New name",w.name,"Rename");if(!(!O||O===w.name))try{await Aa("PATCH","/api/projects/"+w.id,{name:O}),_e("Renamed."),await o()}catch(M){_e(M.message,!0)}},children:"Rename"}),p.jsx("button",{className:"ai-del",onClick:async()=>{if(await zr("Delete project",`Delete “${w.name}”? Its files stay in storage, but it's removed from the hub.`,"Delete",!0))try{await Aa("DELETE","/api/projects/"+w.id),_e(`Deleted “${w.name}”.`),await o()}catch(O){_e(O.message,!0)}},children:"Delete"})]},w.id))]}),p.jsxs("div",{className:"admin-h",children:[p.jsx("h3",{children:"Invite links"}),p.jsx("button",{className:"pbtn",onClick:async()=>{try{const w=await ei(`/api/orgs/${a.id}/invites`),O=await cs(w.url);_e(O?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),m()}catch(w){_e(w.message,!0)}},children:"New invite"})]}),p.jsxs("div",{className:"admin-list",children:[y&&y.length===0&&p.jsx("div",{className:"admin-empty",children:"No active invite links."}),(y||[]).map(w=>p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main mono",style:{cursor:"pointer"},title:"Copy",onClick:()=>cs(w.url).then(O=>_e(O?"Copied.":"Select and copy the link.")),children:w.url}),p.jsx("span",{className:"ai-tag",children:(w.creator?"by "+w.creator+" · ":"")+(w.uses?w.uses+" joined · ":"unused · ")+"expires "+new Date(w.expires).toLocaleDateString()}),p.jsx("button",{className:"ai-del",onClick:async()=>{if(await zr("Revoke invite","Revoke this invite link? Anyone still holding it won't be able to join.","Revoke",!0))try{await Aa("DELETE",`/api/orgs/${a.id}/invites/${w.token}`),_e("Revoked."),m()}catch(O){_e(O.message,!0)}},children:"Revoke"})]},w.token))]}),p.jsx("h3",{children:"Public share links"}),p.jsxs("div",{className:"admin-list",children:[x&&x.length===0&&p.jsx("div",{className:"admin-empty",children:"No public shares."}),(x||[]).map(w=>p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main mono",style:{cursor:"pointer"},title:w.url,onClick:()=>window.open(w.url,"_blank"),children:w.path}),p.jsx("span",{className:"ai-tag",children:(w.project_name||"")+(w.creator?" · by "+w.creator:"")+(w.created?" · "+new Date(w.created).toLocaleDateString():"")}),p.jsx("button",{className:"ai-del",onClick:async()=>{if(await zr("Revoke share link",`Revoke the public link to “${w.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await Aa("DELETE","/api/shares/"+w.token),_e("Share revoked."),S()}catch(O){_e(O.message,!0)}},children:"Revoke"})]},w.token))]})]})]})}function rE(){const a=ds(),{data:i,error:s}=Yt({queryKey:["admin","policy"],queryFn:()=>Wt("/api/admin/policy")}),{data:o}=gg(!0),[u,f]=T.useState(!1),[h,v]=T.useState(!1);if(T.useEffect(()=>{i&&(f(i.require_verification&&i.mailer),v(i.require_approval))},[i]),T.useEffect(()=>{s&&_e(s.message,!0)},[s]),!i)return null;const g=async(m,S,y)=>{try{await ei(`/api/admin/pending/${m}/${S}`),_e((S==="approve"?"Approved ":"Denied ")+y),a.invalidateQueries({queryKey:["admin","pending"]})}catch(x){_e(x.message,!0)}};return p.jsxs("div",{className:"admin",children:[p.jsx("h1",{children:"Signup & access"}),p.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),p.jsx("h3",{children:"New-account vetting"}),p.jsxs("div",{className:"admin-list",children:[p.jsx(Jp,{label:"Require email verification",desc:i.mailer?"New accounts must click an emailed link before they can sign in — proves they control the address.":"Configure SMTP on the server (auth.smtp) to enable email verification.",checked:u,disabled:!i.mailer,onChange:f}),p.jsx(Jp,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",checked:h,onChange:v})]}),p.jsx("button",{className:"pbtn",style:{marginTop:14},onClick:async()=>{try{await ei("/api/admin/policy",{require_verification:u,require_approval:h}),_e("Signup policy saved."),a.invalidateQueries({queryKey:["admin","policy"]})}catch(m){_e(m.message,!0)}},children:"Save policy"}),p.jsx("h3",{children:"Who can sign up"}),p.jsxs("div",{className:"admin-list",children:[p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:"Allowed email domains"}),p.jsx("span",{className:"ai-tag",children:i.allowed_domains&&i.allowed_domains.length?i.allowed_domains.map(m=>"@"+m).join(", "):"any"})]}),p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:"Self-signup"}),p.jsx("span",{className:"ai-tag",children:i.allow_signup?"open":"invite-only"})]}),p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:"Hub admins"}),p.jsx("span",{className:"ai-tag",children:i.admins&&i.admins.length?i.admins.join(", "):"none"})]})]}),p.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),p.jsx("h3",{children:"Pending signups"}),p.jsxs("div",{className:"admin-list",children:[(!o||o.length===0)&&p.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(o||[]).map(m=>p.jsxs("div",{className:"admin-item",children:[p.jsx("span",{className:"ai-main",children:(m.name?m.name+" · ":"")+m.email}),p.jsx("button",{className:"pbtn",onClick:()=>g(m.id,"approve",m.email),children:"Approve"}),p.jsx("button",{className:"ai-del",onClick:()=>g(m.id,"deny",m.email),children:"Deny"})]},m.id))]})]})}function Jp({label:a,desc:i,checked:s,disabled:o,onChange:u}){return p.jsxs("label",{className:"admin-item toggle",style:o?{opacity:.55}:void 0,children:[p.jsxs("span",{className:"ai-main",children:[p.jsx("div",{className:"tg-label",children:a}),p.jsx("div",{className:"tg-desc",children:i})]}),p.jsx("input",{type:"checkbox",checked:s,disabled:o,onChange:f=>u(f.target.checked)})]})}const Fp=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function Tg(a){let i=0;for(const s of a)i=i*31+s.charCodeAt(0)>>>0;return Fp[i%Fp.length]}function $p({projects:a,currentId:i,menu:s}){const o=vg(),u=async()=>{const f=await pg("New project","Project name","","Create");if(f)try{const h=await ei("/api/projects",{name:f});await o(),qt("/"+h.project.id),_e(`Created “${h.project.name}”.`)}catch(h){_e("Could not create the project: "+h.message,!0)}};return p.jsxs("nav",{id:"projects","aria-label":"Projects",children:[p.jsxs("div",{className:"nav-head",children:[p.jsx("span",{children:"Projects"}),p.jsx("button",{className:"nav-add",title:"New project",onClick:u,children:"+"})]}),p.jsx("div",{className:"proj-row",children:p.jsxs("span",{className:"proj-select-wrap",children:[i&&p.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:Tg(a.find(f=>f.id===i)?.name||"")}}),p.jsxs("select",{id:"project-select","aria-label":"Switch project",value:i||"",onChange:f=>{f.target.value&&(qt("/"+f.target.value),pn())},children:[!i&&p.jsx("option",{value:"",disabled:!0}),a.map(f=>p.jsx("option",{value:f.id,children:f.name},f.id))]}),p.jsx(st,{name:"chevd"})]})}),s&&p.jsx("ul",{className:"nav-menu","aria-label":"Project pages",children:[["dashboard","Dashboard","dashboard",s.onDashboard],["install","Installation","terminal",s.onInstall],["history","History","hist",s.onHistory],["settings","Settings","gear",s.onSettings]].map(([f,h,v,g])=>p.jsx("li",{children:p.jsxs("div",{id:"nav-"+f,className:"row"+(s.active===f?" active":""),role:"button",tabIndex:0,onClick:g,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),g())},children:[p.jsx(st,{name:v}),p.jsx("span",{className:"label",children:h})]})},f))})]})}function oE({me:a,org:i,admin:s,onOrgSettings:o}){const[u,f]=T.useState(!1),h=T.useRef(null);T.useEffect(()=>{if(!u)return;const g=S=>{h.current&&!h.current.contains(S.target)&&f(!1)},m=S=>{S.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",g),document.addEventListener("keydown",m),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("keydown",m)}},[u]);const v=a.name||a.email;return p.jsxs("footer",{id:"accountbar",ref:h,children:[u&&p.jsxs("div",{id:"account-menu",role:"menu","aria-label":"Account menu",children:[i&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"menu-sec",children:"Organization"}),p.jsxs("button",{id:"menu-org-settings",role:"menuitem",onClick:()=>{f(!1),o(i)},children:[p.jsx(st,{name:"gear"}),p.jsxs("span",{children:[p.jsx("b",{children:i.name})," Settings"]})]})]}),s&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"menu-sec",children:"Hub"}),p.jsxs("button",{id:"menu-hub-admin",role:"menuitem",onClick:()=>{f(!1),s.onClick()},children:[p.jsx(st,{name:"shield"}),p.jsxs("span",{children:["Signup & access",s.pending?` · ${s.pending}`:""]})]})]}),p.jsx("div",{className:"menu-sec",children:"Account"}),p.jsxs("a",{id:"signout",role:"menuitem",href:"/auth/logout",children:[p.jsx(st,{name:"power"}),p.jsx("span",{children:"Log out"})]})]}),p.jsxs("button",{id:"account-btn","aria-haspopup":"menu","aria-expanded":u,onClick:()=>f(g=>!g),children:[p.jsx("span",{className:"avatar",style:{background:Tg(a.email)},"aria-hidden":"true",children:(v.trim()[0]||"?").toUpperCase()}),p.jsxs("span",{className:"acct",children:[p.jsx("b",{children:v}),a.name&&p.jsx("small",{children:a.email})]}),p.jsx(st,{name:"chev"})]})]})}function cE({project:a,org:i}){return p.jsxs("div",{className:"project-settings",children:[p.jsx("h2",{children:a.name}),p.jsxs("dl",{className:"ps-facts",children:[p.jsx("dt",{children:"Project id"}),p.jsx("dd",{children:p.jsx("code",{children:a.id})}),i&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{children:"Workspace"}),p.jsx("dd",{children:i.name})]}),a.created&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{children:"Created"}),p.jsx("dd",{children:new Date(a.created).toLocaleDateString()})]})]})]})}const Eu=[{key:"claude",label:"Claude Code & Cowork"},{key:"hermes",label:"Hermes",hook:"hermes",note:"Registers BearDrive's hooks in Hermes's config: pull before every turn, push after edits with a session note, and report file reads to Insights."},{key:"codex",label:"Codex",hook:"codex",note:"Registers hooks in .codex/hooks.json.",extra:"Run /hooks inside Codex once to trust the project's .codex layer — after that every turn pulls, edits push automatically, and reads are reported to Insights."}];function uE(a,i){const s=window.location.origin,o=i.id;if(a.key==="claude")return[{title:"Add the BearDrive plugin",desc:"One time, in any Claude Code session. The plugin ships the beardrive skill, the /beardrive commands, and turn-boundary sync hooks — and Claude Cowork shares the same plugins, so installing it once covers both.",code:`/plugin marketplace add runbear-io/beardrive -/plugin install beardrive@beardrive`},{title:"Set up this project conversationally",desc:"In a Claude Code or Cowork session in the folder where you want the files, run:",code:"/beardrive:install connect to "+s+", project "+o,extra:"Claude installs the CLI, signs this machine in, mounts the project, and registers the sync hooks — pull the latest before every turn, push after edits (stamped with the session that made them), and report file reads to Insights. It asks before anything it changes."}];const u=(i.name||"project").toLowerCase().replace(/[^a-z0-9._-]+/g,"-")||"project";return[{title:"Install the BearDrive CLI",desc:"One static binary. Homebrew on macOS and Linux; releases and `go install` also work.",code:"brew install runbear-io/tap/beardrive"},{title:"Sign in to this hub",desc:"Opens the browser once and stores a device token on this machine — the synced folder itself never holds credentials.",code:"bdrive login "+s},{title:"Mount the project into a local folder",desc:"Run it where you want the files. An existing folder works too — contents merge, and re-running init later (or after moving the folder) just resumes.",code:"mkdir -p ~/"+u+" && cd ~/"+u+` -bdrive init --project `+o},{title:"Connect "+a.label,desc:a.note,code:"bdrive hooks install --agent "+a.hook,extra:a.extra}]}function fE(){try{return localStorage.getItem("bdrive-guide-agent")||"claude"}catch{return"claude"}}function Cg({project:a}){const[i,s]=T.useState(fE),o=Eu.find(u=>u.key===i)||Eu[0];return p.jsxs("div",{className:"guide",children:[p.jsx("h1",{className:"in-title",children:a.name}),p.jsx("p",{className:"dl-sub",children:"Mount this project as a folder on any machine and connect your coding agent: files sync both ways in the background, every change is journaled with who made it, and agent reads feed Insights."}),p.jsx("div",{className:"gd-tabs",children:Eu.map(u=>p.jsx("button",{className:"gd-tab"+(u.key===o.key?" active":""),"data-key":u.key,onClick:()=>{s(u.key);try{localStorage.setItem("bdrive-guide-agent",u.key)}catch{}},children:u.label},u.key))}),p.jsxs("div",{className:"gd-body",children:[uE(o,a).map((u,f)=>p.jsxs("div",{className:"gd-step",children:[p.jsxs("div",{className:"gd-step-head",children:[p.jsx("span",{className:"gd-num",children:f+1}),p.jsx("span",{className:"gd-step-title",children:u.title})]}),u.desc&&p.jsx("p",{className:"gd-desc",children:u.desc}),u.code&&p.jsx(dE,{code:u.code}),u.extra&&p.jsx("p",{className:"gd-desc gd-extra",children:u.extra})]},f)),p.jsx("p",{className:"gd-done",children:"That's it — the folder now syncs on its own. Every agent turn starts from the latest state, edits appear here (and on every teammate's mount) within seconds, and what your agents read shows up in Insights."})]})]})}function dE({code:a}){const[i,s]=T.useState("Copy");return p.jsxs("pre",{className:"gd-code",children:[p.jsx("code",{children:a}),p.jsx("button",{className:"gd-copy",onClick:async()=>{s(await cs(a)?"Copied":"Copy failed"),setTimeout(()=>s("Copy"),1400)},children:i})]})}function hE({authEnabled:a,onCreate:i}){const s=T.useRef(null),o=T.useRef(null),u=()=>{const f=s.current.value.trim(),h=f.match(/join\/([0-9a-f]+)/)||f.match(/^([0-9a-f]{8,})$/);if(!h){_e("That doesn't look like an invite link.",!0);return}location.href="/join/"+h[1]};return p.jsxs("div",{className:"onboard",children:[p.jsx("h1",{children:"Welcome to BearDrive"}),p.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),a&&p.jsxs("div",{className:"ob-card",children:[p.jsx("h3",{children:"Have an invite link?"}),p.jsx("p",{children:"A teammate can send you a join link. Paste it here:"}),p.jsxs("div",{className:"ob-row",children:[p.jsx("input",{id:"ob-invite",type:"text",placeholder:"https://…/join/…",autoComplete:"off",ref:s}),p.jsx("button",{id:"ob-join",className:"pbtn",onClick:u,children:"Join"})]})]}),p.jsxs("div",{className:"ob-card",children:[p.jsx("h3",{children:"Or start a new project"}),p.jsx("p",{children:"Create a shared space for your team's files."}),p.jsxs("div",{className:"ob-row",children:[p.jsx("input",{id:"ob-name",type:"text",placeholder:"Project name, e.g. wiki",autoComplete:"off",ref:o}),p.jsx("button",{id:"ob-create",className:"pbtn",onClick:()=>i(o.current.value.trim()),children:"Create"})]})]})]})}function mE(a,i=!0){const s=Yt({queryKey:["tree",a],queryFn:()=>Wt(a+"tree"),enabled:i,refetchInterval:15e3}),o=T.useMemo(()=>{const u=[],f=new Map,h=v=>{for(const g of v.children||[])g.dir?(f.set(g.path,g),h(g)):u.push(g)};return s.data&&h(s.data),{flatFiles:u,dirIndex:f}},[s.data]);return{tree:s.data,...o,loaded:!!s.data}}function pE(a,i){return Yt({queryKey:["heat",a],queryFn:()=>Wt(a+"heat?days=30"),enabled:i,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function yE(a,i,s){return Yt({queryKey:["history",a,"prefix",i,20],queryFn:()=>Wt(a+"history?prefix="+encodeURIComponent(i)+"&n=20"),enabled:s,staleTime:15e3}).data?.entries??null}function Wp(a,i,s){if(!a)return null;if(!s)return a[i]||null;const o={human:0,agent:0,share:0};for(const[u,f]of Object.entries(a))u.startsWith(i+"/")&&(o.human+=f.human||0,o.agent+=f.agent||0,o.share+=f.share||0);return o.human||o.agent||o.share?o:null}function us(a){return(a.human||0)+(a.agent||0)+(a.share||0)}function Ur(a){const i=us(a);if(!i)return"";let s=i+(i===1?" read":" reads");return a.agent&&(s+=" ("+a.agent+" agent)"),s}function gE(a){const i=us(a);return i?i<3?1:i<10?2:i<30?3:4:0}function vE(a){return p.jsx("nav",{id:"tree","aria-label":"Files",children:a.root&&p.jsx(jg,{nodes:a.root.children||[],...a})})}function jg({nodes:a,...i}){return p.jsx("ul",{children:a.map(s=>p.jsx(bE,{node:s,...i},s.path))})}function bE({node:a,...i}){const{expanded:s,onToggle:o,currentPath:u,listingShowing:f,onOpen:h}=i,v=a.dir?s.has(a.path):!1,g=()=>{if(a.dir&&u===a.path&&f){o(a.path);return}h(a.path),a.dir||pn()};return p.jsxs("li",{className:(a.dir?"dir":"file")+(a.dir&&!v?" collapsed":""),children:[p.jsxs("div",{className:"row"+(u===a.path?" active":""),"data-path":a.path,tabIndex:0,role:"button",title:a.name,"aria-expanded":a.dir?v:void 0,onClick:g,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),g())},children:[p.jsx("span",{className:"chev",onClick:m=>{a.dir&&(m.stopPropagation(),o(a.path))},children:p.jsx(st,{name:"chevd"})}),p.jsx("span",{className:"ticon",children:p.jsx(st,{name:a.dir?"folder":"doc"})}),p.jsx("span",{className:"label",children:a.name})]}),a.dir&&p.jsx(jg,{nodes:a.children||[],...i})]})}function xE(a){const i=a.split("/"),s=[];let o="";for(let u=0;u{o=o?o+"/"+u:u;const h=o,v=f===s.length-1;return p.jsxs("span",{children:[f>0&&p.jsx("span",{className:"crumb-sep",children:"/"}),v?p.jsx("span",{children:u}):p.jsx("span",{className:"crumb-seg",title:h,onClick:()=>i(h),children:u})]},h)})})}const wE={add:"plus",edit:"edit",delete:"x"},EE={add:"added",edit:"edited",delete:"deleted"};function Ag({entry:a,onOpen:i}){const[s,o]=T.useState(!1),u=a.kind==="put"?"edit":a.kind,f=a.user_name?`${a.user_name} <${a.user}>`:a.user||a.author||"unknown",h=[a.device.name||a.device.id,a.device.os,a.device.ip].filter(Boolean).join(" · "),v=u!=="delete",g=m=>{m.target.tagName!=="A"&&v&&i(a.path)};return p.jsxs("div",{className:"hentry "+u+(v?" clickable":""),tabIndex:v?0:void 0,role:v?"button":void 0,onClick:g,onKeyDown:m=>{v&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),i(a.path))},children:[p.jsxs("div",{className:"hline",children:[p.jsx("span",{className:"hkind",children:p.jsx(st,{name:wE[u]||"dot"})}),p.jsx("span",{className:"hpath",children:a.path}),p.jsx("span",{className:"htag",children:EE[u]||u}),p.jsx("span",{className:"htime",children:new Date(a.time).toLocaleString()})]}),p.jsxs("div",{className:"hmeta",children:[p.jsx("span",{className:"hwho",children:f}),p.jsx("span",{className:"hdev",children:h}),p.jsx("span",{className:"hsize",children:a.size?wg(a.size):""})]}),a.note&&p.jsx("div",{className:"hnote"+(s?" open":""),tabIndex:0,role:"button",title:s?"Collapse note":"Show full note","aria-expanded":s,onClick:m=>{m.stopPropagation(),m.target.tagName!=="A"&&o(!s)},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),m.stopPropagation(),o(!s))},children:a.note.split(/(https?:\/\/\S+)/).map((m,S)=>/^https?:\/\//.test(m)?p.jsx("a",{href:m,target:"_blank",rel:"noopener",children:m},S):m)})]})}function TE(a){const{node:i,heatMap:s,onOpen:o}=a,u=(i.children||[]).slice().sort((m,S)=>Number(S.dir||!1)-Number(m.dir||!1)||m.name.localeCompare(S.name)),f=u.filter(m=>m.dir).length,h=u.length-f,v=[];f&&v.push(f+(f===1?" folder":" folders")),h&&v.push(h+(h===1?" file":" files"));const g=Wp(s,i.path,!0);return g&&v.push(Ur(g)+" in 30 days"),p.jsxs("div",{className:"dirlist",children:[p.jsxs("h1",{className:"dl-title",children:[p.jsx("span",{className:"dl-title-icon",children:p.jsx(st,{name:"folder"})}),p.jsx("span",{children:i.name})]}),p.jsx("p",{className:"dl-sub",children:v.join(" · ")||"Empty folder"}),u.length===0?p.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):p.jsx("div",{className:"dl-items",children:u.map(m=>{let S="";if(m.dir){const x=(m.children||[]).length;S=x+(x===1?" item":" items")}else S=[m.size?wg(m.size):"",m.time?new Date(m.time).toLocaleDateString():""].filter(Boolean).join(" · ");const y=Wp(s,m.path,!!m.dir);return y&&(S=Ur(y)+(S?" · "+S:"")),p.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:m.path,onClick:()=>o(m.path),onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),o(m.path))},children:[p.jsx("span",{className:"ticon",children:p.jsx(st,{name:m.dir?"folder":"doc"})}),p.jsx("span",{className:"dl-name",children:m.name}),y&&p.jsx("span",{className:"heatdot lvl"+gE(y),title:Ur(y)+" in 30 days"}),p.jsx("span",{className:"dl-meta",children:S})]},m.path)})}),a.hub&&p.jsx(CE,{apiBase:a.apiBase,prefix:i.path+"/",onOpen:o,onFullHistory:()=>a.onFullHistory(i.path+"/"),onRendered:a.onRendered})]})}function CE(a){const i=yE(a.apiBase,a.prefix,!0),{onRendered:s}=a;return T.useEffect(()=>{i&&i.length&&s&&s()},[i,s]),!i||i.length===0?null:p.jsxs("div",{className:"dl-history",children:[p.jsx("h3",{className:"dl-h3",children:"Recent changes"}),p.jsx("div",{className:"history dl-hlist",children:i.map((o,u)=>p.jsx(Ag,{entry:o,onOpen:a.onOpen},u))}),p.jsx("button",{className:"ai-btn dl-more",onClick:a.onFullHistory,children:"Full history"})]})}function jE(a){const{apiBase:i,path:s,onMeta:o}=a,u=i+"file?path="+encodeURIComponent(s);return T.useEffect(()=>()=>o(""),[s,o]),nE.test(s)?p.jsx(AE,{...a}):lE.test(s)?p.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:u,title:s,onLoad:a.onRendered}):aE.test(s)?p.jsx(RE,{src:u,alt:s,onRendered:a.onRendered}):iE.test(s)?p.jsx(ME,{...a,fileURL:u}):p.jsxs("div",{className:"filecard",children:[p.jsx("div",{className:"name",children:s.split("/").pop()}),p.jsx("p",{children:"No preview for this file type."}),p.jsx("a",{className:"btn",download:!0,href:i+"download?path="+encodeURIComponent(s),children:"Download"})]})}function AE(a){const{apiBase:i,path:s,heatMap:o,flatFiles:u,onOpenFile:f,onMeta:h,onRendered:v}=a,{data:g,error:m}=Yt({queryKey:["render",i,s],queryFn:()=>Wt(i+"render?path="+encodeURIComponent(s))}),S=T.useMemo(()=>g?NE(g.html,s,i):"",[g,s,i]);return T.useEffect(()=>{if(!g)return;const y=[];g.author&&y.push(g.author+(g.device?" on "+g.device:"")),g.time&&y.push(new Date(g.time).toLocaleString());const x=o&&o[g.path];x&&us(x)&&y.push(Ur(x)+" / 30d"),h(y.join(" · ")),v?.()},[g,o,h,v]),m?p.jsxs("div",{className:"empty",children:["Could not load file: ",m.message]}):g?p.jsx("div",{dangerouslySetInnerHTML:{__html:S},onClick:y=>OE(y,s,u,f)}):null}function OE(a,i,s,o){const u=a.target.closest("a");if(!u||!a.currentTarget.contains(u))return;const f=u.getAttribute("href")||"",h=i.includes("/")?i.slice(0,i.lastIndexOf("/")):"";f.startsWith("wiki:")?(a.preventDefault(),_E(decodeURIComponent(f.slice(5)),s,o)):/^([a-z]+:|\/|#)/i.test(f)||(a.preventDefault(),o(Eg(h,decodeURIComponent(f))))}function NE(a,i,s){const o=i.includes("/")?i.slice(0,i.lastIndexOf("/")):"",u=h=>s+"file?path="+encodeURIComponent(h),f=new DOMParser().parseFromString(a,"text/html");for(const h of f.querySelectorAll("img")){const v=h.getAttribute("src")||"";/^([a-z]+:|\/)/i.test(v)||h.setAttribute("src",u(Eg(o,v)))}for(const h of f.querySelectorAll("a")){const v=h.getAttribute("href")||"";/^https?:/i.test(v)&&(h.setAttribute("target","_blank"),h.setAttribute("rel","noopener"))}return f.body.innerHTML}function RE({src:a,alt:i,onRendered:s}){return p.jsx("img",{src:a,alt:i,onLoad:s})}function ME(a){const{path:i,fileURL:s,onRendered:o}=a,{data:u,error:f}=Yt({queryKey:["text",s],queryFn:async()=>{const h=await fetch(s);if(!h.ok)throw new Error(await h.text());return h.text()}});return T.useEffect(()=>{u!=null&&o?.()},[u,o]),f?p.jsxs("div",{className:"empty",children:["Could not load file: ",f.message]}):u==null?null:p.jsx("pre",{className:"plain",children:u},i)}function _E(a,i,s){const o=a.toLowerCase(),u=i.find(f=>f.path.toLowerCase()===o||f.path.toLowerCase()===o+".md")||i.find(f=>{const h=f.name.toLowerCase();return h===o||h===o+".md"});u&&s(u.path)}function DE({url:a,copied:i,onClose:s}){const o=a.split("/s/")[1];return T.useEffect(()=>{const u=f=>{f.key==="Escape"&&s()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[s]),p.jsx("div",{className:"modal-back",onClick:u=>u.target===u.currentTarget&&s(),children:p.jsxs("div",{className:"modal",children:[p.jsx("h3",{children:"Public link created"}),p.jsxs("p",{children:[p.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),p.jsx("div",{className:"modal-url",children:a}),p.jsxs("div",{className:"modal-actions",children:[p.jsx("button",{className:"pbtn",onClick:()=>cs(a).then(u=>_e(u?"Copied.":"Select and copy the link above.")),children:i?"Copied ✓":"Copy link"}),p.jsx("button",{className:"ai-btn",onClick:()=>window.open(a,"_blank"),children:"Open"}),p.jsx("button",{className:"ai-del",onClick:async()=>{try{await Aa("DELETE","/api/shares/"+o),_e("Link revoked — it no longer works."),s()}catch(u){_e(u.message,!0)}},children:"Revoke"}),p.jsx("button",{className:"ai-btn",onClick:s,children:"Done"})]})]})})}function Pp(a,i){if(!a)return{score:0,hits:[]};const s=a.toLowerCase(),o=i.toLowerCase();let u=0,f=0,h=0;const v=[];for(let g=0;g3&&o.endsWith("ies")?u=o.slice(0,-3)+"y":o.length>3&&o.endsWith("es")?u=o.slice(0,-2):o.length>2&&o.endsWith("s")&&(u=o.slice(0,-1)),u?Pp(u,i):null}function kE({text:a,hits:i}){const s=[];let o=0;return i.forEach((u,f)=>{u>o&&s.push(a.slice(o,u)),s.push(p.jsx("b",{children:a[u]},f)),o=u+1}),s.push(a.slice(o)),p.jsx("span",{className:"plabel",children:s})}function HE({open:a,onClose:i,candidates:s}){const[o,u]=T.useState(""),[f,h]=T.useState(0),v=T.useRef(null),g=T.useRef(null),m=T.useMemo(()=>{if(!a)return[];const y=[];for(const x of s()){const E=zE(o,x.label);E&&y.push({...x,score:E.score,hits:E.hits})}return y.sort((x,E)=>E.score-x.score),y.slice(0,40)},[a,o,s]);T.useEffect(()=>{a&&(u(""),h(0),v.current?.focus())},[a]),T.useEffect(()=>h(0),[o]),T.useEffect(()=>{g.current?.children[f]?.scrollIntoView({block:"nearest"})},[f,m]);const S=y=>{i(),y.run()};return T.useEffect(()=>{if(!a)return;const y=x=>{if(x.key==="Escape")x.preventDefault(),i();else if(x.key==="ArrowDown"||x.key==="ArrowUp"){x.preventDefault();const E=m.length;E&&h(w=>(w+(x.key==="ArrowDown"?1:E-1))%E)}else x.key==="Enter"&&(x.preventDefault(),m[f]&&S(m[f]))};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[a,m,f]),a?p.jsx("div",{id:"palette-overlay",onClick:y=>y.target===y.currentTarget&&i(),children:p.jsxs("div",{id:"palette",role:"dialog","aria-label":"Search and quick actions",children:[p.jsxs("div",{id:"palette-inputwrap",children:[p.jsx(st,{name:"search"}),p.jsx("input",{id:"palette-input",type:"text",placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,ref:v,value:o,onChange:y=>u(y.target.value)})]}),p.jsx("ul",{id:"palette-results",ref:g,children:m.length===0?p.jsx("li",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):m.map((y,x)=>p.jsxs("li",{className:x===f?"selected":void 0,onClick:()=>S(y),onMouseMove:()=>f!==x&&h(x),children:[p.jsx("span",{className:"picon",children:p.jsx(st,{name:y.icon})}),p.jsx(kE,{text:y.label,hits:y.hits}),p.jsx("span",{className:"pkind",children:y.kind})]},y.kind+":"+y.label))}),p.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})}):null}const es=3,Wl=30;function UE(a,i){return Yt({queryKey:["heatDevices",a],queryFn:()=>Wt(a+"heat?by=device&days=30"),enabled:i,retry:!1,staleTime:6e4}).data?.devices??null}function Ip(a){const[i,s]=T.useState("all"),{flatFiles:o,heatMap:u,devices:f,scope:h}=a,v=x=>!h||x===h||x.startsWith(h+"/"),g=h?o.filter(x=>v(x.path)):o,m=f&&h?f.map(x=>{const E={};for(const[w,O]of Object.entries(x.folders||{}))v(w)&&(E[w]=O);return{...x,folders:E}}).filter(x=>Object.keys(x.folders).length>0):f,S=Date.now(),y=g.map(x=>{const E=u&&u[x.path]||{},w=x.time?Math.max(0,(S-new Date(x.time).getTime())/864e5):0,O=i==="all"?us(E):E[i]||0;return{path:x.path,reads:O,agent:E.agent||0,total:us(E),days:w,danger:O>=es&&w>=Wl}});return p.jsxs("div",{className:"insights",children:[p.jsxs("h1",{className:"in-title",children:["Knowledge insights",h?p.jsxs("span",{className:"in-scope",children:[" · ",h]}):null]}),p.jsx("p",{className:"dl-sub",children:h?`Reads over the last 30 days × freshness, for ${h} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),p.jsx("div",{className:"in-lens",children:["all","human","agent"].map(x=>p.jsx("button",{className:"in-lens-btn"+(x===i?" active":""),onClick:()=>s(x),children:x==="all"?"All reads":x==="human"?"Human reads":"Agent reads"},x))}),p.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness"}),p.jsx(BE,{pts:y,onOpenFile:a.onOpenFile,onOpenFolder:a.onOpenFolder,isFolder:a.isFolder}),p.jsx("h3",{className:"dl-h3",children:"Reads × freshness"}),p.jsx(qE,{pts:y,onOpenFile:a.onOpenFile}),p.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),p.jsx(QE,{pts:y,lens:i,onOpenFile:a.onOpenFile}),m&&m.length>0&&p.jsxs(p.Fragment,{children:[p.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),p.jsx(YE,{devices:m})]})]})}function LE(a){const i=[[76,195,138],[232,196,84],[224,93,93]],s=Math.min(1,Math.max(0,a/300))*(i.length-1),o=Math.min(i.length-2,Math.floor(s)),u=s-o,f=i[o].map((h,v)=>Math.round(h+(i[o+1][v]-h)*u));return`rgb(${f[0]},${f[1]},${f[2]})`}function ey(a,i,s,o,u){const f=a.reduce((m,S)=>m+S.value,0);if(!f||o<=0||u<=0)return[];const h=a.slice().sort((m,S)=>S.value-m.value).map(m=>({it:m,a:m.value/f*o*u})),v=(m,S)=>{const x=m.reduce((w,O)=>w+O.a,0)/S;let E=0;for(const w of m){const O=w.a/x;E=Math.max(E,O/x,x/O)}return E},g=[];for(;h.length;){const m=o>=u,S=m?u:o,y=[h.shift()];for(;h.length&&v(y.concat(h[0]),S)<=v(y,S);)y.push(h.shift());const x=y.reduce((w,O)=>w+O.a,0)/S;let E=0;for(const w of y){const O=w.a/x;m?g.push({item:w.it,x:i,y:s+E,w:x,h:O}):g.push({item:w.it,x:i+E,y:s,w:O,h:x}),E+=O}m?(i+=x,o-=x):(s+=x,u-=x)}return g}const Tu=15;function BE({pts:a,onOpenFile:i,onOpenFolder:s,isFolder:o}){const h=new Map;for(const g of a){const m=g.path.includes("/")?g.path.split("/")[0]:"/";let S=h.get(m);S||h.set(m,S={name:m,files:[],value:0}),S.files.push(g),S.value+=g.reads+1}const v=[];for(const g of ey([...h.values()],0,0,720,480)){const m=g.item,S=m.name==="/"?"":m.name;if(v.push(p.jsx("rect",{x:g.x+1,y:g.y+1,width:Math.max(0,g.w-2),height:Math.max(0,g.h-2),rx:3,className:"in-tm-group","data-dir":S},"g"+m.name)),g.w>46&&g.h>Tu+10){let x=m.name==="/"?"(root)":m.name;const E=Math.floor((g.w-8)/6);x.length>E&&(x=x.slice(0,Math.max(1,E-1))+"…"),v.push(p.jsx("text",{x:g.x+5,y:g.y+12,className:"in-tm-glabel","data-dir":S,children:x},"gl"+m.name))}const y=ey(m.files.map(x=>({...x,name:x.path.split("/").pop(),value:x.reads+1})),g.x+2,g.y+Tu,Math.max(0,g.w-4),Math.max(0,g.h-Tu-2));for(const x of y)if(v.push(p.jsx("rect",{x:x.x+.6,y:x.y+.6,width:Math.max(.4,x.w-1.2),height:Math.max(.4,x.h-1.2),rx:1.5,fill:LE(x.item.days),className:"in-tm-cell","data-path":x.item.path,children:p.jsx("title",{children:`${x.item.path} — ${x.item.reads} read${x.item.reads===1?"":"s"}/30d · changed ${Math.round(x.item.days)}d ago`})},x.item.path)),x.w>54&&x.h>16){const E=Math.floor((x.w-8)/6);let w=(x.item.danger?"⚠ ":"")+x.item.name;w.length>E&&(w=w.slice(0,Math.max(1,E-1))+"…"),E>=5&&v.push(p.jsx("text",{x:x.x+4.5,y:x.y+12.5,className:"in-tm-label","data-path":x.item.path,children:w},"l"+x.item.path))}}return p.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:g=>{const m=g.target.closest("[data-path], [data-dir]");if(!m)return;const S=m.getAttribute("data-path");if(S)return i(S);const y=m.getAttribute("data-dir");y&&o(y)&&s(y)},children:v})}function qE({pts:a,onOpenFile:i}){const u={l:44,r:16,t:20,b:34},f=Math.max(Wl*2,...a.map(y=>y.days)),h=Math.max(es*2,...a.map(y=>y.reads)),v=y=>Math.log10(y+1)/Math.log10(f+1),g=y=>Math.log10(y+1)/Math.log10(h+1),m=y=>u.l+v(y)*(720-u.l-u.r),S=y=>360-u.b-g(y)*(360-u.t-u.b);return p.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[p.jsx("rect",{x:m(Wl),y:u.t,width:720-u.r-m(Wl),height:S(es)-u.t,className:"in-danger-zone"}),p.jsx("line",{x1:m(Wl),y1:u.t,x2:m(Wl),y2:360-u.b,className:"in-threshold"}),p.jsx("line",{x1:u.l,y1:S(es),x2:720-u.r,y2:S(es),className:"in-threshold"}),p.jsx("line",{x1:u.l,y1:360-u.b,x2:720-u.r,y2:360-u.b,className:"in-axis"}),p.jsx("line",{x1:u.l,y1:u.t,x2:u.l,y2:360-u.b,className:"in-axis"}),p.jsx("text",{x:(u.l+720-u.r)/2,y:352,className:"in-label",children:"days since last change →"}),p.jsx("text",{x:12,y:(u.t+360-u.b)/2,className:"in-label",transform:`rotate(-90 12 ${(u.t+360-u.b)/2})`,children:"reads / 30d →"}),p.jsx("text",{x:720-u.r-6,y:u.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),p.jsx("text",{x:u.l+6,y:u.t+14,className:"in-quad",children:"hot + fresh"}),p.jsx("text",{x:720-u.r-6,y:360-u.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),p.jsx("text",{x:720-u.r-6,y:u.t+28,className:"in-label",textAnchor:"end",children:"dot size = agent share of reads"}),a.map(y=>{const x=y.total?(y.agent||0)/y.total:0;return p.jsx("circle",{cx:Number(m(y.days).toFixed(1)),cy:Number(S(y.reads).toFixed(1)),r:Number((3+4*x).toFixed(1)),className:"in-pt"+(y.danger?" danger":y.reads?"":" cold"),onClick:()=>i(y.path),children:p.jsx("title",{children:`${y.path} — ${y.reads} read${y.reads===1?"":"s"} / 30d · changed ${Math.round(y.days)}d ago`})},y.path)})]})}function QE({pts:a,lens:i,onOpenFile:s}){const o=a.filter(f=>f.reads>0).sort((f,h)=>h.reads-f.reads||h.days-f.days).slice(0,20);if(!o.length)return p.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const u=o[0].reads;return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"in-hotpath",children:o.map(f=>{const h=i==="agent"?1:i==="human"?0:f.total?f.agent/f.total:0,v=f.reads/u*100;return p.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:f.danger?`${f.reads} read${f.reads===1?"":"s"}/30d · unchanged ${Math.round(f.days)}d — review this file`:f.path,onClick:()=>s(f.path),onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),s(f.path))},children:[p.jsx("span",{className:"in-hp-name"+(f.danger?" danger":""),children:f.path+(f.danger?" ⚠":"")}),p.jsxs("span",{className:"in-hp-bar",children:[p.jsx("span",{className:"in-hp-agent",style:{width:(v*h).toFixed(1)+"%"}}),p.jsx("span",{className:"in-hp-human",style:{width:(v*(1-h)).toFixed(1)+"%"}})]}),p.jsx("span",{className:"in-hp-count",children:f.reads})]},f.path)})}),p.jsxs("p",{className:"in-legend",children:[p.jsx("span",{className:"in-sw agent"})," agent reads ",p.jsx("span",{className:"in-sw human"})," human reads"]})]})}function YE({devices:a}){const i=new Map;for(const x of a)for(const[E,w]of Object.entries(x.folders||{}))i.set(E,(i.get(E)||0)+w);const s=[...i.entries()].sort((x,E)=>E[1]-x[1]).slice(0,12).map(x=>x[0]),o=a.slice(0,12),u=140,f=6,h=Math.min(76,Math.max(34,(720-u-8)/s.length)),v=26,g=720,m=f+o.length*v+58,S=Math.max(1,...o.flatMap(x=>s.map(E=>(x.folders||{})[E]||0))),y=x=>{const E=[23,25,31],w=[245,166,35],O=E.map((M,k)=>Math.round(M+(w[k]-M)*x));return`rgb(${O[0]},${O[1]},${O[2]})`};return p.jsxs("svg",{viewBox:`0 0 ${g} ${m}`,className:"in-chart in-matrix",children:[o.map((x,E)=>{let w=x.name||x.id||"";return w.length>20&&(w=w.slice(0,19)+"…"),p.jsxs("g",{children:[p.jsx("text",{x:u-8,y:f+E*v+17,textAnchor:"end",className:"in-label",children:w}),s.map((O,M)=>{const k=(x.folders||{})[O]||0;return p.jsx("rect",{x:u+M*h,y:f+E*v,width:h-4,height:v-4,rx:3,fill:y(Math.sqrt(k/S)),children:p.jsx("title",{children:`${x.name||x.id} × ${O||"(root)"}: ${k} read${k===1?"":"s"}/30d`})},O)})]},x.id||E)}),s.map((x,E)=>{const w=u+E*h+(h-4)/2,O=f+o.length*v+14;return p.jsx("text",{x:w,y:O,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${w} ${O})`,children:x||"(root)"},x)})]})}function GE(a){const{apiBase:i,target:s,isFolder:o,onMeta:u,onRendered:f}=a,h=s?o(s)?{prefix:s+"/"}:{path:s}:{prefix:""},v="path"in h&&h.path!==void 0?"path="+encodeURIComponent(h.path):"prefix="+encodeURIComponent(h.prefix??""),{data:g,error:m}=Yt({queryKey:["history",i,v,200],queryFn:()=>Wt(i+"history?"+v+"&n=200"),staleTime:15e3});if(T.useEffect(()=>{m&&u("History unavailable: "+m.message)},[m,u]),T.useEffect(()=>{g&&f?.()},[g,f]),!g)return null;const S=g.entries||[];return p.jsxs("div",{className:"history",children:[S.length===0&&p.jsx("div",{className:"empty",children:"No history yet."}),S.map((y,x)=>p.jsx(Ag,{entry:y,onOpen:a.onOpen},x))]})}function VE(a,i){return a?i(a)?a+"/ (folder)":a:"all changes"}function Og(a){const{config:i,apiBase:s,route:o,hub:u,project:f}=a,h=uf(),v=ds(),{tree:g,flatFiles:m,dirIndex:S,loaded:y}=mE(s,!u||!!f),x=pE(s,u&&!!f&&!!i.reads?.enabled),E=u&&!!f&&!o.path&&!o.view,w=!!a.canInsights&&(o.view==="insights"||E),O=UE(s,w);T.useEffect(()=>{w&&v.invalidateQueries({queryKey:["heat",s]})},[w,s,v]);const M=o.path,k=M||(o.view==="insights"||o.view==="history")&&o.viewTarget||"",Z=!!M&&S.has(M),V=!!M&&y&&!Z&&m.some(xe=>xe.path===M),W=!!M&&y&&!Z&&!V,ee=Z&&!o.view,[K,J]=T.useState(()=>new Set),B=T.useRef(!0);T.useEffect(()=>{if(!g||!B.current)return;B.current=!1;const xe=(g.children||[]).filter(Re=>Re.dir);xe.length===1&&J(Re=>new Set(Re).add(xe[0].path))},[g]),T.useEffect(()=>{if(!k||!y)return;J(Re=>{const Te=new Set(Re);for(const Pt of xE(k))Te.add(Pt);return S.has(k)&&Te.add(k),Te});const xe=document.querySelector(`#tree .row[data-path="${CSS.escape(k)}"]`);xe&&xe.scrollIntoView({block:"nearest"})},[k,y,S]);const ue=T.useCallback(xe=>{J(Re=>{const Te=new Set(Re);return Te.has(xe)?Te.delete(xe):Te.add(xe),Te})},[]),de=T.useRef(null),re=T.useRef(new Map),ye=T.useRef({key:"",want:0,attempts:0});T.useEffect(()=>{ye.current={key:h,want:eE()==="POP"?re.current.get(h)??0:0,attempts:0}},[h]);const oe=T.useCallback(()=>{const xe=de.current,Re=ye.current;!xe||Re.key!==h||Re.attempts>=3||(Re.attempts++,xe.scrollTo({top:Re.want,behavior:"instant"}))},[h]),Ee=T.useCallback(()=>{de.current&&re.current.set(h,de.current.scrollTop)},[h]),he=T.useCallback(xe=>{qt(Iw(xe,f?.id)),pn()},[f?.id]),N=T.useCallback(xe=>qt(Pl("history",f?.id,xe)),[f?.id]),[Q,F]=T.useState(""),[ie,X]=T.useState(null),[j,L]=T.useState(!1),[G,$]=T.useState(!1);T.useEffect(()=>t2(()=>$(!0)),[]);const P=T.useRef(null),te=a.panel??null,ge=!te&&u&&!!f&&V,pe=!te&&u&&!!f,fe=!te&&V,dt=!te&&(V||u&&!!f&&Z),rt=s+"download?path="+encodeURIComponent(M),We=T.useCallback(async()=>{try{const xe=await fetch(s+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:M})});if(!xe.ok)throw new Error(await xe.text());const Re=await xe.json(),Te=await cs(Re.url);X({url:Re.url,copied:Te})}catch(xe){_e("Share failed: "+xe.message,!0)}},[s,M]),Et=T.useCallback(()=>{if(!M)return N("");N(Z?M+"/":M)},[M,Z,N]);T.useEffect(()=>{const xe=Re=>{(Re.metaKey||Re.ctrlKey)&&Re.key.toLowerCase()==="k"&&(Re.preventDefault(),$(Te=>!Te))};return window.addEventListener("keydown",xe),()=>window.removeEventListener("keydown",xe)},[]);const Ze=T.useCallback(()=>{const xe=[],Re=(Te,Pt,ht,li)=>xe.push({icon:Te,label:Pt,kind:ht,run:li});if(u&&f&&M&&(V&&Re("share","Share: "+M,"action",We),Re("hist","History: "+M,"action",Et),V&&Re("download","Download: "+M,"action",()=>P.current?.click())),u&&f&&Re("hist","History: whole project","action",()=>N("")),u)for(const Te of a.projects||[])(!f||Te.id!==f.id)&&Re("folder","Switch to project: "+Te.name,"project",()=>qt("/"+Te.id));i.auth?.enabled&&Re("power","Sign out","action",()=>window.location.href="/auth/logout");for(const Te of S.keys())Re("folder",Te,"folder",()=>he(Te));for(const Te of m)Re("doc",Te.path,"file",()=>he(Te.path));return xe},[u,f,M,V,i.auth?.enabled,S,m,a.projects,We,Et,N,he]);T.useEffect(()=>{if(!j)return;const xe=()=>L(!1);return document.addEventListener("click",xe),()=>document.removeEventListener("click",xe)},[j]);const yn=T.useCallback(xe=>S.has(xe),[S]);let At="markdown",ot;te?(At="view",ot=te.body):o.view==="insights"?(At="view",ot=a.canInsights?p.jsx(Ip,{flatFiles:m,heatMap:x,devices:O,scope:o.viewTarget||"",onOpenFile:he,onOpenFolder:he,isFolder:yn}):p.jsx("div",{className:"empty",children:"Insights is for hub admins and org owners."})):o.view==="history"?(At="view",ot=p.jsx(GE,{apiBase:s,target:o.viewTarget||"",isFolder:yn,onOpen:he,onMeta:F,onRendered:oe})):M?y?W?(At="view",ot=p.jsxs("div",{className:"notfound",children:[p.jsx("h1",{children:"Couldn't find that"}),p.jsxs("p",{children:[p.jsx("code",{children:M})," isn't in this project right now."]}),p.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),p.jsx("button",{className:"pbtn",onClick:()=>v.invalidateQueries({queryKey:["tree",s]}),children:"Check again"})]})):Z?(At="view",ot=p.jsx(TE,{node:S.get(M),heatMap:x,hub:u&&!!f,apiBase:s,onOpen:he,onFullHistory:N,onRendered:oe})):ot=p.jsx(jE,{apiBase:s,path:M,heatMap:x,flatFiles:m,onOpenFile:he,onMeta:F,onRendered:oe}):ot=p.jsx("div",{className:"empty",children:"Loading…"}):E?(At="view",ot=p.jsxs(p.Fragment,{children:[p.jsx(Cg,{project:f}),a.canInsights&&p.jsx("div",{className:"home-insights",children:p.jsx(Ip,{flatFiles:m,heatMap:x,devices:O,onOpenFile:he,onOpenFolder:he,isFolder:yn})})]})):ot=p.jsx("div",{className:"empty",children:"Select a file to read it."});const za=te?te.crumb:M?p.jsx(SE,{path:M,onOpenFolder:he}):o.view==="insights"?"Insights — "+(o.viewTarget||f?.name||""):o.view==="history"?"History — "+VE(o.viewTarget||"",yn):E?f.name:null,Tt=p.jsx(os,{crumb:za,meta:Q,actions:p.jsxs(p.Fragment,{children:[ge&&p.jsx("button",{id:"share-btn",className:"btn icon-only",title:"Share","aria-label":"Share",onClick:We,children:p.jsx(st,{name:"share"})}),pe&&!M&&!o.view&&p.jsxs("button",{id:"history-btn",className:"btn",onClick:Et,children:[p.jsx(st,{name:"hist"})," ",p.jsx("span",{className:"lbl",children:"History"})]}),fe&&p.jsx("a",{id:"download",hidden:!0,download:!0,href:rt,ref:P,children:"Download"}),dt&&p.jsx("button",{id:"more-btn",className:"btn icon-only",title:"More actions","aria-label":"More actions",onClick:xe=>{xe.stopPropagation(),L(!j)},children:p.jsx(st,{name:"dots"})}),j&&p.jsxs("div",{id:"more-menu",role:"menu",children:[pe&&p.jsx("button",{className:"more-item",onClick:Et,children:"History"}),fe&&p.jsx("button",{className:"more-item",onClick:()=>P.current?.click(),children:"Download"}),a.canInsights&&p.jsx("button",{className:"more-item",onClick:()=>{a.onClosePanel?.(),qt(Pl("insights",f?.id,M))},children:"Insights"})]})]})});return p.jsxs(p.Fragment,{children:[p.jsx(rs,{vault:a.sidebar.vault,projectsNav:a.sidebar.projectsNav,orgBar:a.sidebar.orgBar,tree:p.jsx(vE,{root:g,expanded:K,onToggle:ue,currentPath:k,listingShowing:ee,onOpen:he}),topbar:Tt,contentClass:At,contentRef:de,onContentScroll:Ee,children:ot}),ie&&p.jsx(DE,{url:ie.url,copied:ie.copied,onClose:()=>X(null)}),p.jsx(HE,{open:G,onClose:()=>$(!1),candidates:Ze})]})}function XE({config:a}){const i=uf(),s=vg(),[o,u]=T.useState(null),[f,h]=T.useState(null);T.useEffect(()=>h(null),[i]);const v=T.useMemo(()=>{const K=i.match(/^\/join\/([0-9a-f]+)\/?$/);return K?K[1]:null},[i]),{data:g}=$w(!v),{data:m}=Ww(!v),S=!!a.auth.admin,{data:y}=gg(S),x=T.useMemo(()=>xg(i,"hub"),[i]),E=T.useMemo(()=>g&&(g.find(K=>K.id===x.project)||o&&g.find(K=>K.org===o)||g[0])||null,[g,x.project,o]);if(T.useEffect(()=>{document.title=E?E.name+" — BearDrive":a.brand||a.volume||"BearDrive"},[E,a]),v)return p.jsx(KE,{token:v,onDone:async K=>{u(K),await s(),qt("/",{replace:!0})}});const w=a.brand||a.volume||"BearDrive",O=E&&m?.find(K=>K.id===E.org)||null,M=S||(O?O.role==="owner":!1),k=p.jsx(Ir,{name:w,onHome:()=>qt("/"),search:!!E}),Z=a.me?p.jsx(oE,{me:a.me,org:O,admin:S?{pending:y?.length||0,onClick:()=>{h({kind:"hub"}),pn()}}:void 0,onOrgSettings:K=>{h({kind:"org",orgId:K.id}),pn()}}):void 0;if(!g||!m)return p.jsx(rs,{vault:k,topbar:p.jsx(os,{}),children:p.jsx("div",{className:"empty",children:"Loading…"})});if(!E)return p.jsx(rs,{vault:k,projectsNav:p.jsx($p,{projects:g}),orgBar:Z,topbar:p.jsx(os,{}),contentClass:"view",children:p.jsx(hE,{authEnabled:a.auth.enabled,onCreate:async K=>{if(!K){_e("Give the project a name.",!0);return}try{const J=await ei("/api/projects",{name:K});await s(),qt("/"+J.project.id),_e(`Created “${J.project.name}”.`)}catch(J){_e("Could not create the project: "+J.message,!0)}}})});const V=f?.kind==="org"?m.find(K=>K.id===f.orgId):null,W=f?.kind==="hub"?{crumb:"Signup & access",body:p.jsx(rE,{})}:V?{crumb:V.name,body:p.jsx(sE,{org:V,projects:g,myEmail:a.me?.email||"",onProjectsChanged:s})}:null,ee=x.view==="settings"?{crumb:"Project settings",body:p.jsx(cE,{project:E,org:O})}:x.view==="install"?{crumb:"Installation",body:p.jsx("div",{className:"onboard",children:p.jsx(Cg,{project:E})})}:null;return x.project!==E.id?p.jsx(tE,{to:"/"+E.id}):p.jsx(Og,{config:a,apiBase:"/api/p/"+E.id+"/",route:x,hub:!0,project:E,projects:g,canInsights:M,sidebar:{vault:k,projectsNav:p.jsx($p,{projects:g,currentId:E.id,menu:{active:f?null:x.view==="insights"&&!x.viewTarget?"dashboard":x.view==="install"?"install":x.view==="history"&&!x.viewTarget?"history":x.view==="settings"?"settings":null,onDashboard:()=>{h(null),qt(Pl("insights",E.id)),pn()},onInstall:()=>{h(null),qt(Pl("install",E.id)),pn()},onHistory:()=>{h(null),qt(Pl("history",E.id)),pn()},onSettings:()=>{h(null),qt(Pl("settings",E.id)),pn()}}}),orgBar:Z},panel:W||ee,onClosePanel:()=>h(null)},E.id)}function KE({token:a,onDone:i}){return T.useEffect(()=>{let s=!1;return ei("/api/invites/"+a).then(o=>{s||(_e(`Welcome — you joined the “${o.org.name}” team. Opening its projects…`),i(o.org.id))}).catch(o=>{s||String(o.message).includes("signing in")||(_e("Could not accept the invite: "+o.message,!0),i(null))}),()=>{s=!0}},[a]),p.jsx(rs,{vault:p.jsx(Ir,{name:"BearDrive"}),topbar:p.jsx(os,{}),children:p.jsx("div",{className:"empty",children:"Joining…"})})}function ZE({config:a}){const i=uf(),s=a.volume||"BearDrive";T.useEffect(()=>{document.title=a.brand||s},[a,s]);const o=T.useMemo(()=>xg(i,"volume"),[i]);return p.jsx(Og,{config:a,apiBase:"/api/",route:o,hub:!1,sidebar:{vault:p.jsx(Ir,{name:s,showSignout:a.auth.enabled,search:!0})}})}function JE(){const{data:a}=zb();return p.jsxs(WS,{delayDuration:150,children:[a?a.mode==="hub"?p.jsx(XE,{config:a}):p.jsx(ZE,{config:a}):p.jsx(rs,{vault:p.jsx(Ir,{name:"…",showSignout:!1}),topbar:p.jsx(os,{}),children:p.jsx("div",{className:"empty",children:"Loading…"})}),p.jsx(Kw,{}),p.jsx(Zw,{})]})}const FE=new Sb({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});F0.createRoot(document.getElementById("root")).render(p.jsx(T.StrictMode,{children:p.jsx(wb,{client:FE,children:p.jsx(JE,{})})})); diff --git a/internal/webapp/static/assets/index-D7_o95eD.js b/internal/webapp/static/assets/index-D7_o95eD.js new file mode 100644 index 0000000..15f27db --- /dev/null +++ b/internal/webapp/static/assets/index-D7_o95eD.js @@ -0,0 +1,51 @@ +function ex(n,i){for(var r=0;ro[u]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))o(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function r(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function o(u){if(u.ep)return;u.ep=!0;const f=r(u);fetch(u.href,f)}})();function vy(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Pu={exports:{}},ur={};var rv;function tx(){if(rv)return ur;rv=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(o,u,f){var d=null;if(f!==void 0&&(d=""+f),u.key!==void 0&&(d=""+u.key),"key"in u){f={};for(var g in u)g!=="key"&&(f[g]=u[g])}else f=u;return u=f.ref,{$$typeof:n,type:o,key:d,ref:u!==void 0?u:null,props:f}}return ur.Fragment=i,ur.jsx=r,ur.jsxs=r,ur}var ov;function nx(){return ov||(ov=1,Pu.exports=tx()),Pu.exports}var h=nx(),Iu={exports:{}},xe={};var sv;function ax(){if(sv)return xe;sv=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),d=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),b=Symbol.iterator;function E(A){return A===null||typeof A!="object"?null:(A=b&&A[b]||A["@@iterator"],typeof A=="function"?A:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,R={};function j(A,G,F){this.props=A,this.context=G,this.refs=R,this.updater=F||C}j.prototype.isReactComponent={},j.prototype.setState=function(A,G){if(typeof A!="object"&&typeof A!="function"&&A!=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,A,G,"setState")},j.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function U(){}U.prototype=j.prototype;function L(A,G,F){this.props=A,this.context=G,this.refs=R,this.updater=F||C}var q=L.prototype=new U;q.constructor=L,T(q,j.prototype),q.isPureReactComponent=!0;var I=Array.isArray;function Q(){}var V={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function re(A,G,F){var W=F.ref;return{$$typeof:n,type:A,key:G,ref:W!==void 0?W:null,props:F}}function se(A,G){return re(A.type,G,A.props)}function ae(A){return typeof A=="object"&&A!==null&&A.$$typeof===n}function de(A){var G={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(F){return G[F]})}var ce=/\/+/g;function be(A,G){return typeof A=="object"&&A!==null&&A.key!=null?de(""+A.key):G.toString(36)}function he(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(Q,Q):(A.status="pending",A.then(function(G){A.status==="pending"&&(A.status="fulfilled",A.value=G)},function(G){A.status==="pending"&&(A.status="rejected",A.reason=G)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function N(A,G,F,W,ee){var te=typeof A;(te==="undefined"||te==="boolean")&&(A=null);var fe=!1;if(A===null)fe=!0;else switch(te){case"bigint":case"string":case"number":fe=!0;break;case"object":switch(A.$$typeof){case n:case i:fe=!0;break;case x:return fe=A._init,N(fe(A._payload),G,F,W,ee)}}if(fe)return ee=ee(A),fe=W===""?"."+be(A,0):W,I(ee)?(F="",fe!=null&&(F=fe.replace(ce,"$&/")+"/"),N(ee,G,F,"",function(mt){return mt})):ee!=null&&(ae(ee)&&(ee=se(ee,F+(ee.key==null||A&&A.key===ee.key?"":(""+ee.key).replace(ce,"$&/")+"/")+fe)),G.push(ee)),1;fe=0;var pe=W===""?".":W+":";if(I(A))for(var ve=0;ve>>1,P=N[J];if(0>>1;Ju(F,$))Wu(ee,F)?(N[J]=ee,N[W]=$,J=W):(N[J]=F,N[G]=$,J=G);else if(Wu(ee,$))N[J]=ee,N[W]=$,J=W;else break e}}return X}function u(N,X){var $=N.sortIndex-X.sortIndex;return $!==0?$:N.id-X.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var d=Date,g=d.now();n.unstable_now=function(){return d.now()-g}}var y=[],p=[],x=1,m=null,b=3,E=!1,C=!1,T=!1,R=!1,j=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function q(N){for(var X=r(p);X!==null;){if(X.callback===null)o(p);else if(X.startTime<=N)o(p),X.sortIndex=X.expirationTime,i(y,X);else break;X=r(p)}}function I(N){if(T=!1,q(N),!C)if(r(y)!==null)C=!0,Q||(Q=!0,de());else{var X=r(p);X!==null&&he(I,X.startTime-N)}}var Q=!1,V=-1,H=5,re=-1;function se(){return R?!0:!(n.unstable_now()-reN&&se());){var J=m.callback;if(typeof J=="function"){m.callback=null,b=m.priorityLevel;var P=J(m.expirationTime<=N);if(N=n.unstable_now(),typeof P=="function"){m.callback=P,q(N),X=!0;break t}m===r(y)&&o(y),q(N)}else o(y);m=r(y)}if(m!==null)X=!0;else{var A=r(p);A!==null&&he(I,A.startTime-N),X=!1}}break e}finally{m=null,b=$,E=!1}X=void 0}}finally{X?de():Q=!1}}}var de;if(typeof L=="function")de=function(){L(ae)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,be=ce.port2;ce.port1.onmessage=ae,de=function(){be.postMessage(null)}}else de=function(){j(ae,0)};function he(N,X){V=j(function(){N(n.unstable_now())},X)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(N){N.callback=null},n.unstable_forceFrameRate=function(N){0>N||125J?(N.sortIndex=$,i(p,N),r(y)===null&&N===r(p)&&(T?(U(V),V=-1):T=!0,he(I,$-J))):(N.sortIndex=P,i(y,N),C||E||(C=!0,Q||(Q=!0,de()))),N},n.unstable_shouldYield=se,n.unstable_wrapCallback=function(N){var X=b;return function(){var $=b;b=X;try{return N.apply(this,arguments)}finally{b=$}}}})(Wu)),Wu}var fv;function ix(){return fv||(fv=1,Ju.exports=lx()),Ju.exports}var ef={exports:{}},Tt={};var dv;function rx(){if(dv)return Tt;dv=1;var n=Hf();function i(y){var p="https://react.dev/errors/"+y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),ef.exports=rx(),ef.exports}var mv;function ox(){if(mv)return fr;mv=1;var n=ix(),i=Hf(),r=yy();function o(e){var t="https://react.dev/errors/"+e;if(1P||(e.current=J[P],J[P]=null,P--)}function F(e,t){P++,J[P]=e.current,e.current=t}var W=A(null),ee=A(null),te=A(null),fe=A(null);function pe(e,t){switch(F(te,t),F(ee,e),F(W,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jp(t),e=Op(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(W),F(W,e)}function ve(){G(W),G(ee),G(te)}function mt(e){e.memoizedState!==null&&F(fe,e);var t=W.current,a=Op(t,e.type);t!==a&&(F(ee,e),F(W,a))}function st(e){ee.current===e&&(G(W),G(ee)),fe.current===e&&(G(fe),rr._currentValue=$)}var Je,Mt;function Ze(e){if(Je===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Je=t&&t[1]||"",Mt=-1)":-1s||M[l]!==z[s]){var Y=` +`+M[l].replace(" at new "," at ");return e.displayName&&Y.includes("")&&(Y=Y.replace("",e.displayName)),Y}while(1<=l&&0<=s);break}}}finally{Sn=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ze(a):""}function ct(e,t){switch(e.tag){case 26:case 27:case 5:return Ze(e.type);case 16:return Ze("Lazy");case 13:return e.child!==t&&t!==null?Ze("Suspense Fallback"):Ze("Suspense");case 19:return Ze("SuspenseList");case 0:case 15:return Nt(e.type,!1);case 11:return Nt(e.type.render,!1);case 1:return Nt(e.type,!0);case 31:return Ze("Activity");default:return""}}function qa(e){try{var t="",a=null;do t+=ct(e,a),a=e,e=e.return;while(e);return t}catch(l){return` +Error generating stack: `+l.message+` +`+l.stack}}var At=Object.prototype.hasOwnProperty,Se=n.unstable_scheduleCallback,Ne=n.unstable_cancelCallback,Ce=n.unstable_shouldYield,nn=n.unstable_requestPaint,pt=n.unstable_now,gi=n.unstable_getCurrentPriorityLevel,Ga=n.unstable_ImmediatePriority,zr=n.unstable_UserBlockingPriority,Ya=n.unstable_NormalPriority,bi=n.unstable_LowPriority,kn=n.unstable_IdlePriority,kr=n.log,ra=n.unstable_setDisableYieldValue,Qa=null,Rt=null;function pn(e){if(typeof kr=="function"&&ra(e),Rt&&typeof Rt.setStrictMode=="function")try{Rt.setStrictMode(Qa,e)}catch{}}var Et=Math.clz32?Math.clz32:wn,Hs=Math.log,xi=Math.LN2;function wn(e){return e>>>=0,e===0?32:31-(Hs(e)/xi|0)|0}var gl=256,bl=262144,Va=4194304;function En(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ge(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,v=e.pingedLanes;e=e.warmLanes;var w=l&134217727;return w!==0?(l=w&~c,l!==0?s=En(l):(v&=w,v!==0?s=En(v):a||(a=w&~e,a!==0&&(s=En(a))))):(w=l&~c,w!==0?s=En(w):v!==0?s=En(v):a||(a=l&~e,a!==0&&(s=En(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function Ke(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ut(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ct(){var e=Va;return Va<<=1,(Va&62914560)===0&&(Va=4194304),e}function oa(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Pe(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function _t(e,t,a,l,s,c){var v=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var w=e.entanglements,M=e.expirationTimes,z=e.hiddenUpdates;for(a=v&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Z0=/[\n"\\]/g;function ln(e){return e.replace(Z0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Qs(e,t,a,l,s,c,v,w){e.name="",v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.type=v:e.removeAttribute("type"),t!=null?v==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+an(t)):e.value!==""+an(t)&&(e.value=""+an(t)):v!=="submit"&&v!=="reset"||e.removeAttribute("value"),t!=null?Vs(e,v,an(t)):a!=null?Vs(e,v,an(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.name=""+an(w):e.removeAttribute("name")}function Ed(e,t,a,l,s,c,v,w){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){Ys(e);return}a=a!=null?""+an(a):"",t=t!=null?""+an(t):a,w||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=w?e.checked:!!l,e.defaultChecked=!!l,v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(e.name=v),Ys(e)}function Vs(e,t,a){t==="number"&&Hr(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Ml(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ps=!1;if(Hn)try{var Ci={};Object.defineProperty(Ci,"passive",{get:function(){Ps=!0}}),window.addEventListener("test",Ci,Ci),window.removeEventListener("test",Ci,Ci)}catch{Ps=!1}var ca=null,Is=null,qr=null;function Od(){if(qr)return qr;var e,t=Is,a=t.length,l,s="value"in ca?ca.value:ca.textContent,c=s.length;for(e=0;e=Ai),Ld=" ",Ud=!1;function Hd(e,t){switch(e){case"keyup":return wb.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ol=!1;function Cb(e,t){switch(e){case"compositionend":return Bd(t);case"keypress":return t.which!==32?null:(Ud=!0,Ld);case"textInput":return e=t.data,e===Ld&&Ud?null:e;default:return null}}function Tb(e,t){if(Ol)return e==="compositionend"||!tc&&Hd(e,t)?(e=Od(),qr=Is=ca=null,Ol=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Fd(a)}}function Pd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Id(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Hr(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Hr(e.document)}return t}function lc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Db=Hn&&"documentMode"in document&&11>=document.documentMode,Nl=null,ic=null,Ni=null,rc=!1;function $d(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;rc||Nl==null||Nl!==Hr(l)||(l=Nl,"selectionStart"in l&&lc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Ni&&Oi(Ni,l)||(Ni=l,l=zo(ic,"onSelect"),0>=v,s-=v,Cn=1<<32-Et(t)+s|a<Ee?(Oe=ue,ue=null):Oe=ue.sibling;var ke=k(_,ue,D[Ee],K);if(ke===null){ue===null&&(ue=Oe);break}e&&ue&&ke.alternate===null&&t(_,ue),O=c(ke,O,Ee),ze===null?me=ke:ze.sibling=ke,ze=ke,ue=Oe}if(Ee===D.length)return a(_,ue),_e&&qn(_,Ee),me;if(ue===null){for(;EeEe?(Oe=ue,ue=null):Oe=ue.sibling;var Na=k(_,ue,ke.value,K);if(Na===null){ue===null&&(ue=Oe);break}e&&ue&&Na.alternate===null&&t(_,ue),O=c(Na,O,Ee),ze===null?me=Na:ze.sibling=Na,ze=Na,ue=Oe}if(ke.done)return a(_,ue),_e&&qn(_,Ee),me;if(ue===null){for(;!ke.done;Ee++,ke=D.next())ke=Z(_,ke.value,K),ke!==null&&(O=c(ke,O,Ee),ze===null?me=ke:ze.sibling=ke,ze=ke);return _e&&qn(_,Ee),me}for(ue=l(ue);!ke.done;Ee++,ke=D.next())ke=B(ue,_,Ee,ke.value,K),ke!==null&&(e&&ke.alternate!==null&&ue.delete(ke.key===null?Ee:ke.key),O=c(ke,O,Ee),ze===null?me=ke:ze.sibling=ke,ze=ke);return e&&ue.forEach(function(W1){return t(_,W1)}),_e&&qn(_,Ee),me}function Ye(_,O,D,K){if(typeof D=="object"&&D!==null&&D.type===T&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case E:e:{for(var me=D.key;O!==null;){if(O.key===me){if(me=D.type,me===T){if(O.tag===7){a(_,O.sibling),K=s(O,D.props.children),K.return=_,_=K;break e}}else if(O.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===H&&nl(me)===O.type){a(_,O.sibling),K=s(O,D.props),Ui(K,D),K.return=_,_=K;break e}a(_,O);break}else t(_,O);O=O.sibling}D.type===T?(K=$a(D.props.children,_.mode,K,D.key),K.return=_,_=K):(K=Ir(D.type,D.key,D.props,null,_.mode,K),Ui(K,D),K.return=_,_=K)}return v(_);case C:e:{for(me=D.key;O!==null;){if(O.key===me)if(O.tag===4&&O.stateNode.containerInfo===D.containerInfo&&O.stateNode.implementation===D.implementation){a(_,O.sibling),K=s(O,D.children||[]),K.return=_,_=K;break e}else{a(_,O);break}else t(_,O);O=O.sibling}K=hc(D,_.mode,K),K.return=_,_=K}return v(_);case H:return D=nl(D),Ye(_,O,D,K)}if(he(D))return oe(_,O,D,K);if(de(D)){if(me=de(D),typeof me!="function")throw Error(o(150));return D=me.call(D),ye(_,O,D,K)}if(typeof D.then=="function")return Ye(_,O,ao(D),K);if(D.$$typeof===L)return Ye(_,O,Wr(_,D),K);lo(_,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,O!==null&&O.tag===6?(a(_,O.sibling),K=s(O,D),K.return=_,_=K):(a(_,O),K=dc(D,_.mode,K),K.return=_,_=K),v(_)):a(_,O)}return function(_,O,D,K){try{Li=0;var me=Ye(_,O,D,K);return Yl=null,me}catch(ue){if(ue===Gl||ue===to)throw ue;var ze=Zt(29,ue,null,_.mode);return ze.lanes=K,ze.return=_,ze}}}var ll=xh(!0),Sh=xh(!1),ma=!1;function Tc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function pa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function va(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Le&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=Pr(e),lh(e,null,a),t}return Zr(e,l,t,a),Pr(e)}function Hi(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Dt(e,a)}}function Ac(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var v={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=v:c=c.next=v,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Rc=!1;function Bi(){if(Rc){var e=ql;if(e!==null)throw e}}function qi(e,t,a,l){Rc=!1;var s=e.updateQueue;ma=!1;var c=s.firstBaseUpdate,v=s.lastBaseUpdate,w=s.shared.pending;if(w!==null){s.shared.pending=null;var M=w,z=M.next;M.next=null,v===null?c=z:v.next=z,v=M;var Y=e.alternate;Y!==null&&(Y=Y.updateQueue,w=Y.lastBaseUpdate,w!==v&&(w===null?Y.firstBaseUpdate=z:w.next=z,Y.lastBaseUpdate=M))}if(c!==null){var Z=s.baseState;v=0,Y=z=M=null,w=c;do{var k=w.lane&-536870913,B=k!==w.lane;if(B?(je&k)===k:(l&k)===k){k!==0&&k===Bl&&(Rc=!0),Y!==null&&(Y=Y.next={lane:0,tag:w.tag,payload:w.payload,callback:null,next:null});e:{var oe=e,ye=w;k=t;var Ye=a;switch(ye.tag){case 1:if(oe=ye.payload,typeof oe=="function"){Z=oe.call(Ye,Z,k);break e}Z=oe;break e;case 3:oe.flags=oe.flags&-65537|128;case 0:if(oe=ye.payload,k=typeof oe=="function"?oe.call(Ye,Z,k):oe,k==null)break e;Z=m({},Z,k);break e;case 2:ma=!0}}k=w.callback,k!==null&&(e.flags|=64,B&&(e.flags|=8192),B=s.callbacks,B===null?s.callbacks=[k]:B.push(k))}else B={lane:k,tag:w.tag,payload:w.payload,callback:w.callback,next:null},Y===null?(z=Y=B,M=Z):Y=Y.next=B,v|=k;if(w=w.next,w===null){if(w=s.shared.pending,w===null)break;B=w,w=B.next,B.next=null,s.lastBaseUpdate=B,s.shared.pending=null}}while(!0);Y===null&&(M=Z),s.baseState=M,s.firstBaseUpdate=z,s.lastBaseUpdate=Y,c===null&&(s.shared.lanes=0),Sa|=v,e.lanes=v,e.memoizedState=Z}}function wh(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Eh(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;ec?c:8;var v=N.T,w={};N.T=w,Fc(e,!1,t,a);try{var M=s(),z=N.S;if(z!==null&&z(w,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var Y=Yb(M,l);Qi(e,t,Y,Wt(e))}else Qi(e,t,l,Wt(e))}catch(Z){Qi(e,t,{then:function(){},status:"rejected",reason:Z},Wt())}finally{X.p=c,v!==null&&w.types!==null&&(v.types=w.types),N.T=v}}function Zb(){}function Xc(e,t,a,l){if(e.tag!==5)throw Error(o(476));var s=tm(e).queue;em(e,s,t,$,a===null?Zb:function(){return nm(e),a(l)})}function tm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vn,lastRenderedState:$},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vn,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function nm(e){var t=tm(e);t.next===null&&(t=e.alternate.memoizedState),Qi(e,t.next.queue,{},Wt())}function Kc(){return gt(rr)}function am(){return et().memoizedState}function lm(){return et().memoizedState}function Pb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Wt();e=pa(a);var l=va(t,e,a);l!==null&&(Gt(l,t,a),Hi(l,t,a)),t={cache:Sc()},e.payload=t;return}t=t.return}}function Ib(e,t,a){var l=Wt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},po(e)?rm(t,a):(a=uc(e,t,a,l),a!==null&&(Gt(a,e,l),om(a,t,l)))}function im(e,t,a){var l=Wt();Qi(e,t,a,l)}function Qi(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(po(e))rm(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var v=t.lastRenderedState,w=c(v,a);if(s.hasEagerState=!0,s.eagerState=w,Ft(w,v))return Zr(e,t,s,0),Qe===null&&Fr(),!1}catch{}if(a=uc(e,t,s,l),a!==null)return Gt(a,e,l),om(a,t,l),!0}return!1}function Fc(e,t,a,l){if(l={lane:2,revertLane:Tu(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},po(e)){if(t)throw Error(o(479))}else t=uc(e,a,l,2),t!==null&&Gt(t,e,2)}function po(e){var t=e.alternate;return e===we||t!==null&&t===we}function rm(e,t){Vl=oo=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function om(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Dt(e,a)}}var Vi={readContext:gt,use:uo,useCallback:Ie,useContext:Ie,useEffect:Ie,useImperativeHandle:Ie,useLayoutEffect:Ie,useInsertionEffect:Ie,useMemo:Ie,useReducer:Ie,useRef:Ie,useState:Ie,useDebugValue:Ie,useDeferredValue:Ie,useTransition:Ie,useSyncExternalStore:Ie,useId:Ie,useHostTransitionStatus:Ie,useFormState:Ie,useActionState:Ie,useOptimistic:Ie,useMemoCache:Ie,useCacheRefresh:Ie};Vi.useEffectEvent=Ie;var sm={readContext:gt,use:uo,useCallback:function(e,t){return jt().memoizedState=[e,t===void 0?null:t],e},useContext:gt,useEffect:Xh,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ho(4194308,4,Ph.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ho(4194308,4,e,t)},useInsertionEffect:function(e,t){ho(4,2,e,t)},useMemo:function(e,t){var a=jt();t=t===void 0?null:t;var l=e();if(il){pn(!0);try{e()}finally{pn(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=jt();if(a!==void 0){var s=a(t);if(il){pn(!0);try{a(t)}finally{pn(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=Ib.bind(null,we,e),[l.memoizedState,e]},useRef:function(e){var t=jt();return e={current:e},t.memoizedState=e},useState:function(e){e=qc(e);var t=e.queue,a=im.bind(null,we,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Qc,useDeferredValue:function(e,t){var a=jt();return Vc(a,e,t)},useTransition:function(){var e=qc(!1);return e=em.bind(null,we,e.queue,!0,!1),jt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=we,s=jt();if(_e){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Qe===null)throw Error(o(349));(je&127)!==0||jh(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,Xh(Nh.bind(null,l,c,e),[e]),l.flags|=2048,Kl(9,{destroy:void 0},Oh.bind(null,l,c,a,t),null),a},useId:function(){var e=jt(),t=Qe.identifierPrefix;if(_e){var a=Tn,l=Cn;a=(l&~(1<<32-Et(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=so++,0<\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?v.createElement("select",{is:l.is}):v.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?v.createElement(s,{is:l.is}):v.createElement(s)}}c[vt]=t,c[kt]=l;e:for(v=t.child;v!==null;){if(v.tag===5||v.tag===6)c.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===t)break e;for(;v.sibling===null;){if(v.return===null||v.return===t)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}t.stateNode=c;e:switch(xt(c,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Kn(t)}}return Xe(t),ou(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Kn(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=te.current,Ul(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=yt,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[vt]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Ap(e.nodeValue,a)),e||da(t,!0)}else e=ko(e).createTextNode(l),e[vt]=t,t.stateNode=e}return Xe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Ul(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[vt]=t}else Ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),e=!1}else a=yc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(It(t),t):(It(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Xe(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Ul(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(o(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(o(317));s[vt]=t}else Ja(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),s=!1}else s=yc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(It(t),t):(It(t),null)}return It(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),xo(t,t.updateQueue),Xe(t),null);case 4:return ve(),e===null&&ju(t.stateNode.containerInfo),Xe(t),null;case 10:return Yn(t.type),Xe(t),null;case 19:if(G(We),l=t.memoizedState,l===null)return Xe(t),null;if(s=(t.flags&128)!==0,c=l.rendering,c===null)if(s)Ki(l,!1);else{if($e!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=ro(e),c!==null){for(t.flags|=128,Ki(l,!1),e=c.updateQueue,t.updateQueue=e,xo(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)ih(a,e),a=a.sibling;return F(We,We.current&1|2),_e&&qn(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&pt()>To&&(t.flags|=128,s=!0,Ki(l,!1),t.lanes=4194304)}else{if(!s)if(e=ro(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,xo(t,e),Ki(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!_e)return Xe(t),null}else 2*pt()-l.renderingStartTime>To&&a!==536870912&&(t.flags|=128,s=!0,Ki(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=pt(),e.sibling=null,a=We.current,F(We,s?a&1|2:a&1),_e&&qn(t,l.treeForkCount),e):(Xe(t),null);case 22:case 23:return It(t),Oc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),a=t.updateQueue,a!==null&&xo(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&G(tl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Yn(tt),Xe(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function t1(e,t){switch(pc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Yn(tt),ve(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return st(t),null;case 31:if(t.memoizedState!==null){if(It(t),t.alternate===null)throw Error(o(340));Ja()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(It(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Ja()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(We),null;case 4:return ve(),null;case 10:return Yn(t.type),null;case 22:case 23:return It(t),Oc(),e!==null&&G(tl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Yn(tt),null;case 25:return null;default:return null}}function _m(e,t){switch(pc(t),t.tag){case 3:Yn(tt),ve();break;case 26:case 27:case 5:st(t);break;case 4:ve();break;case 31:t.memoizedState!==null&&It(t);break;case 13:It(t);break;case 19:G(We);break;case 10:Yn(t.type);break;case 22:case 23:It(t),Oc(),e!==null&&G(tl);break;case 24:Yn(tt)}}function Fi(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var c=a.create,v=a.inst;l=c(),v.destroy=l}a=a.next}while(a!==s)}}catch(w){Be(t,t.return,w)}}function ba(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var c=s.next;l=c;do{if((l.tag&e)===e){var v=l.inst,w=v.destroy;if(w!==void 0){v.destroy=void 0,s=t;var M=a,z=w;try{z()}catch(Y){Be(s,M,Y)}}}l=l.next}while(l!==c)}}catch(Y){Be(t,t.return,Y)}}function Dm(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Eh(t,a)}catch(l){Be(e,e.return,l)}}}function zm(e,t,a){a.props=rl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Be(e,t,l)}}function Zi(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){Be(e,t,s)}}function Mn(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){Be(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){Be(e,t,s)}else a.current=null}function km(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){Be(e,e.return,s)}}function su(e,t,a){try{var l=e.stateNode;E1(l,e.type,a,t),l[kt]=t}catch(s){Be(e,e.return,s)}}function Lm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ma(e.type)||e.tag===4}function cu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Lm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ma(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function uu(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Un));else if(l!==4&&(l===27&&Ma(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(uu(e,t,a),e=e.sibling;e!==null;)uu(e,t,a),e=e.sibling}function So(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Ma(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(So(e,t,a),e=e.sibling;e!==null;)So(e,t,a),e=e.sibling}function Um(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);xt(t,l,a),t[vt]=e,t[kt]=a}catch(c){Be(e,e.return,c)}}var Fn=!1,lt=!1,fu=!1,Hm=typeof WeakSet=="function"?WeakSet:Set,dt=null;function n1(e,t){if(e=e.containerInfo,_u=Yo,e=Id(e),lc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var v=0,w=-1,M=-1,z=0,Y=0,Z=e,k=null;t:for(;;){for(var B;Z!==a||s!==0&&Z.nodeType!==3||(w=v+s),Z!==c||l!==0&&Z.nodeType!==3||(M=v+l),Z.nodeType===3&&(v+=Z.nodeValue.length),(B=Z.firstChild)!==null;)k=Z,Z=B;for(;;){if(Z===e)break t;if(k===a&&++z===s&&(w=v),k===c&&++Y===l&&(M=v),(B=Z.nextSibling)!==null)break;Z=k,k=Z.parentNode}Z=B}a=w===-1||M===-1?null:{start:w,end:M}}else a=null}a=a||{start:0,end:0}}else a=null;for(Du={focusedElem:e,selectionRange:a},Yo=!1,dt=t;dt!==null;)if(t=dt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,dt=e;else for(;dt!==null;){switch(t=dt,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),xt(c,l,a),c[vt]=e,ft(c),l=c;break e;case"link":var v=Vp("link","href",s).get(l+(a.href||""));if(v){for(var w=0;wYe&&(v=Ye,Ye=ye,ye=v);var _=Zd(w,ye),O=Zd(w,Ye);if(_&&O&&(B.rangeCount!==1||B.anchorNode!==_.node||B.anchorOffset!==_.offset||B.focusNode!==O.node||B.focusOffset!==O.offset)){var D=Z.createRange();D.setStart(_.node,_.offset),B.removeAllRanges(),ye>Ye?(B.addRange(D),B.extend(O.node,O.offset)):(D.setEnd(O.node,O.offset),B.addRange(D))}}}}for(Z=[],B=w;B=B.parentNode;)B.nodeType===1&&Z.push({element:B,left:B.scrollLeft,top:B.scrollTop});for(typeof w.focus=="function"&&w.focus(),w=0;wa?32:a,N.T=null,a=gu,gu=null;var c=Ea,v=Jn;if(it=0,$l=Ea=null,Jn=0,(Le&6)!==0)throw Error(o(331));var w=Le;if(Le|=4,Pm(c.current),Km(c,c.current,v,a),Le=w,er(0,!1),Rt&&typeof Rt.onPostCommitFiberRoot=="function")try{Rt.onPostCommitFiberRoot(Qa,c)}catch{}return!0}finally{X.p=s,N.T=l,hp(e,t)}}function pp(e,t,a){t=on(a,t),t=$c(e.stateNode,t,2),e=va(e,t,2),e!==null&&(Pe(e,2),An(e))}function Be(e,t,a){if(e.tag===3)pp(e,e,a);else for(;t!==null;){if(t.tag===3){pp(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(wa===null||!wa.has(l))){e=on(a,e),a=vm(2),l=va(t,a,2),l!==null&&(ym(a,l,t,e),Pe(l,2),An(l));break}}t=t.return}}function wu(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new i1;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(mu=!0,s.add(a),e=u1.bind(null,e,t,a),t.then(e,e))}function u1(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Qe===e&&(je&a)===a&&($e===4||$e===3&&(je&62914560)===je&&300>pt()-Co?(Le&2)===0&&Jl(e,0):pu|=a,Il===je&&(Il=0)),An(e)}function vp(e,t){t===0&&(t=Ct()),e=Ia(e,t),e!==null&&(Pe(e,t),An(e))}function f1(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),vp(e,a)}function d1(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),vp(e,a)}function h1(e,t){return Se(e,t)}var No=null,ei=null,Eu=!1,_o=!1,Cu=!1,Ta=0;function An(e){e!==ei&&e.next===null&&(ei===null?No=ei=e:ei=ei.next=e),_o=!0,Eu||(Eu=!0,p1())}function er(e,t){if(!Cu&&_o){Cu=!0;do for(var a=!1,l=No;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var c=0;else{var v=l.suspendedLanes,w=l.pingedLanes;c=(1<<31-Et(42|e)+1)-1,c&=s&~(v&~w),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,xp(l,c))}else c=je,c=ge(l,l===Qe?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||Ke(l,c)||(a=!0,xp(l,c));l=l.next}while(a);Cu=!1}}function m1(){yp()}function yp(){_o=Eu=!1;var e=0;Ta!==0&&T1()&&(e=Ta);for(var t=pt(),a=null,l=No;l!==null;){var s=l.next,c=gp(l,t);c===0?(l.next=null,a===null?No=s:a.next=s,s===null&&(ei=a)):(a=l,(e!==0||(c&3)!==0)&&(_o=!0)),l=s}it!==0&&it!==5||er(e),Ta!==0&&(Ta=0)}function gp(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0w)break;var Y=M.transferSize,Z=M.initiatorType;Y&&Rp(Z)&&(M=M.responseEnd,v+=Y*(M"u"?null:document;function qp(e,t,a){var l=ti;if(l&&typeof t=="string"&&t){var s=ln(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),Bp.has(s)||(Bp.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),xt(t,"link",e),ft(t),l.head.appendChild(t)))}}function z1(e){Wn.D(e),qp("dns-prefetch",e,null)}function k1(e,t){Wn.C(e,t),qp("preconnect",e,t)}function L1(e,t,a){Wn.L(e,t,a);var l=ti;if(l&&e&&t){var s='link[rel="preload"][as="'+ln(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+ln(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+ln(a.imageSizes)+'"]')):s+='[href="'+ln(e)+'"]';var c=s;switch(t){case"style":c=ni(e);break;case"script":c=ai(e)}hn.has(c)||(e=m({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),hn.set(c,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(lr(c))||t==="script"&&l.querySelector(ir(c))||(t=l.createElement("link"),xt(t,"link",e),ft(t),l.head.appendChild(t)))}}function U1(e,t){Wn.m(e,t);var a=ti;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+ln(l)+'"][href="'+ln(e)+'"]',c=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=ai(e)}if(!hn.has(c)&&(e=m({rel:"modulepreload",href:e},t),hn.set(c,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ir(c)))return}l=a.createElement("link"),xt(l,"link",e),ft(l),a.head.appendChild(l)}}}function H1(e,t,a){Wn.S(e,t,a);var l=ti;if(l&&e){var s=Cl(l).hoistableStyles,c=ni(e);t=t||"default";var v=s.get(c);if(!v){var w={loading:0,preload:null};if(v=l.querySelector(lr(c)))w.loading=5;else{e=m({rel:"stylesheet",href:e,"data-precedence":t},a),(a=hn.get(c))&&qu(e,a);var M=v=l.createElement("link");ft(M),xt(M,"link",e),M._p=new Promise(function(z,Y){M.onload=z,M.onerror=Y}),M.addEventListener("load",function(){w.loading|=1}),M.addEventListener("error",function(){w.loading|=2}),w.loading|=4,Uo(v,t,l)}v={type:"stylesheet",instance:v,count:1,state:w},s.set(c,v)}}}function B1(e,t){Wn.X(e,t);var a=ti;if(a&&e){var l=Cl(a).hoistableScripts,s=ai(e),c=l.get(s);c||(c=a.querySelector(ir(s)),c||(e=m({src:e,async:!0},t),(t=hn.get(s))&&Gu(e,t),c=a.createElement("script"),ft(c),xt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function q1(e,t){Wn.M(e,t);var a=ti;if(a&&e){var l=Cl(a).hoistableScripts,s=ai(e),c=l.get(s);c||(c=a.querySelector(ir(s)),c||(e=m({src:e,async:!0,type:"module"},t),(t=hn.get(s))&&Gu(e,t),c=a.createElement("script"),ft(c),xt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function Gp(e,t,a,l){var s=(s=te.current)?Lo(s):null;if(!s)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=ni(a.href),a=Cl(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ni(a.href);var c=Cl(s).hoistableStyles,v=c.get(e);if(v||(s=s.ownerDocument||s,v={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,v),(c=s.querySelector(lr(e)))&&!c._p&&(v.instance=c,v.state.loading=5),hn.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},hn.set(e,a),c||G1(s,e,a,v.state))),t&&l===null)throw Error(o(528,""));return v}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ai(a),a=Cl(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function ni(e){return'href="'+ln(e)+'"'}function lr(e){return'link[rel="stylesheet"]['+e+"]"}function Yp(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function G1(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),xt(t,"link",a),ft(t),e.head.appendChild(t))}function ai(e){return'[src="'+ln(e)+'"]'}function ir(e){return"script[async]"+e}function Qp(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+ln(a.href)+'"]');if(l)return t.instance=l,ft(l),l;var s=m({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ft(l),xt(l,"style",s),Uo(l,a.precedence,e),t.instance=l;case"stylesheet":s=ni(a.href);var c=e.querySelector(lr(s));if(c)return t.state.loading|=4,t.instance=c,ft(c),c;l=Yp(a),(s=hn.get(s))&&qu(l,s),c=(e.ownerDocument||e).createElement("link"),ft(c);var v=c;return v._p=new Promise(function(w,M){v.onload=w,v.onerror=M}),xt(c,"link",l),t.state.loading|=4,Uo(c,a.precedence,e),t.instance=c;case"script":return c=ai(a.src),(s=e.querySelector(ir(c)))?(t.instance=s,ft(s),s):(l=a,(s=hn.get(c))&&(l=m({},a),Gu(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),ft(s),xt(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Uo(l,a.precedence,e));return t.instance}function Uo(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,c=s,v=0;v title"):null)}function Y1(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Kp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Q1(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=ni(l.href),c=t.querySelector(lr(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Bo.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,ft(c);return}c=t.ownerDocument||t,l=Yp(l),(s=hn.get(s))&&qu(l,s),c=c.createElement("link"),ft(c);var v=c;v._p=new Promise(function(w,M){v.onload=w,v.onerror=M}),xt(c,"link",l),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Bo.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Yu=0;function V1(e,t){return e.stylesheets&&e.count===0&&Go(e,e.stylesheets),0Yu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Bo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Go(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var qo=null;function Go(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,qo=new Map,t.forEach(X1,e),qo=null,Bo.call(e))}function X1(e,t){if(!(t.state.loading&4)){var a=qo.get(e);if(a)var l=a.get(null);else{a=new Map,qo.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),$u.exports=ox(),$u.exports}var cx=sx(),Rr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ux=class extends Rr{#e;#t;#n;constructor(){super(),this.#n=n=>{if(typeof window<"u"&&window.addEventListener){const i=()=>n();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(n){this.#n=n,this.#t?.(),this.#t=n(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()})}setFocused(n){this.#e!==n&&(this.#e=n,this.onFocus())}onFocus(){const n=this.isFocused();this.listeners.forEach(i=>{i(n)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Bf=new ux,fx={setTimeout:(n,i)=>setTimeout(n,i),clearTimeout:n=>clearTimeout(n),setInterval:(n,i)=>setInterval(n,i),clearInterval:n=>clearInterval(n)},dx=class{#e=fx;#t=!1;setTimeoutProvider(n){this.#e=n}setTimeout(n,i){return this.#e.setTimeout(n,i)}clearTimeout(n){this.#e.clearTimeout(n)}setInterval(n,i){return this.#e.setInterval(n,i)}clearInterval(n){this.#e.clearInterval(n)}},fl=new dx;function hx(n){setTimeout(n,0)}var mx=typeof window>"u"||"Deno"in globalThis;function Qt(){}function px(n,i){return typeof n=="function"?n(i):n}function bf(n){return typeof n=="number"&&n>=0&&n!==1/0}function gy(n,i){return Math.max(n+(i||0)-Date.now(),0)}function ka(n,i){return typeof n=="function"?n(i):n}function en(n,i){return typeof n=="function"?n(i):n}function vv(n,i){const{type:r="all",exact:o,fetchStatus:u,predicate:f,queryKey:d,stale:g}=n;if(d){if(o){if(i.queryHash!==qf(d,i.options))return!1}else if(!yr(i.queryKey,d))return!1}if(r!=="all"){const y=i.isActive();if(r==="active"&&!y||r==="inactive"&&y)return!1}return!(typeof g=="boolean"&&i.isStale()!==g||u&&u!==i.state.fetchStatus||f&&!f(i))}function yv(n,i){const{exact:r,status:o,predicate:u,mutationKey:f}=n;if(f){if(!i.options.mutationKey)return!1;if(r){if(vr(i.options.mutationKey)!==vr(f))return!1}else if(!yr(i.options.mutationKey,f))return!1}return!(o&&i.state.status!==o||u&&!u(i))}function qf(n,i){return(i?.queryKeyHashFn||vr)(n)}function vr(n){return JSON.stringify(n,(i,r)=>Sf(r)?Object.keys(r).sort().reduce((o,u)=>(o[u]=r[u],o),{}):r)}function yr(n,i){return n===i?!0:typeof n!=typeof i?!1:n&&i&&typeof n=="object"&&typeof i=="object"?Object.keys(i).every(r=>yr(n[r],i[r])):!1}var vx=Object.prototype.hasOwnProperty;function by(n,i,r=0){if(n===i)return n;if(r>500)return i;const o=gv(n)&&gv(i);if(!o&&!(Sf(n)&&Sf(i)))return i;const f=(o?n:Object.keys(n)).length,d=o?i:Object.keys(i),g=d.length,y=o?new Array(g):{};let p=0;for(let x=0;x{fl.setTimeout(i,n)})}function wf(n,i,r){return typeof r.structuralSharing=="function"?r.structuralSharing(n,i):r.structuralSharing!==!1?by(n,i):i}function gx(n,i,r=0){const o=[...n,i];return r&&o.length>r?o.slice(1):o}function bx(n,i,r=0){const o=[i,...n];return r&&o.length>r?o.slice(0,-1):o}var Gf=Symbol();function xy(n,i){return!n.queryFn&&i?.initialPromise?()=>i.initialPromise:!n.queryFn||n.queryFn===Gf?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Sy(n,i){return typeof n=="function"?n(...i):!!n}function xx(n,i,r){let o=!1,u;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(u??=i(),o||(o=!0,u.aborted?r():u.addEventListener("abort",r,{once:!0})),u)}),n}var gr=(()=>{let n=()=>mx;return{isServer(){return n()},setIsServer(i){n=i}}})();function Ef(){let n,i;const r=new Promise((u,f)=>{n=u,i=f});r.status="pending",r.catch(()=>{});function o(u){Object.assign(r,u),delete r.resolve,delete r.reject}return r.resolve=u=>{o({status:"fulfilled",value:u}),n(u)},r.reject=u=>{o({status:"rejected",reason:u}),i(u)},r}var Sx=hx;function wx(){let n=[],i=0,r=g=>{g()},o=g=>{g()},u=Sx;const f=g=>{i?n.push(g):u(()=>{r(g)})},d=()=>{const g=n;n=[],g.length&&u(()=>{o(()=>{g.forEach(y=>{r(y)})})})};return{batch:g=>{let y;i++;try{y=g()}finally{i--,i||d()}return y},batchCalls:g=>(...y)=>{f(()=>{g(...y)})},schedule:f,setNotifyFunction:g=>{r=g},setBatchNotifyFunction:g=>{o=g},setScheduler:g=>{u=g}}}var St=wx(),Ex=class extends Rr{#e=!0;#t;#n;constructor(){super(),this.#n=n=>{if(typeof window<"u"&&window.addEventListener){const i=()=>n(!0),r=()=>n(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(n){this.#n=n,this.#t?.(),this.#t=n(this.setOnline.bind(this))}setOnline(n){this.#e!==n&&(this.#e=n,this.listeners.forEach(r=>{r(n)}))}isOnline(){return this.#e}},ds=new Ex;function Cx(n){return Math.min(1e3*2**n,3e4)}function wy(n){return(n??"online")==="online"?ds.isOnline():!0}var Cf=class extends Error{constructor(n){super("CancelledError"),this.revert=n?.revert,this.silent=n?.silent}};function Ey(n){let i=!1,r=0,o;const u=Ef(),f=()=>u.status!=="pending",d=T=>{if(!f()){const R=new Cf(T);b(R),n.onCancel?.(R)}},g=()=>{i=!0},y=()=>{i=!1},p=()=>Bf.isFocused()&&(n.networkMode==="always"||ds.isOnline())&&n.canRun(),x=()=>wy(n.networkMode)&&n.canRun(),m=T=>{f()||(o?.(),u.resolve(T))},b=T=>{f()||(o?.(),u.reject(T))},E=()=>new Promise(T=>{o=R=>{(f()||p())&&T(R)},n.onPause?.()}).then(()=>{o=void 0,f()||n.onContinue?.()}),C=()=>{if(f())return;let T;const R=r===0?n.initialPromise:void 0;try{T=R??n.fn()}catch(j){T=Promise.reject(j)}Promise.resolve(T).then(m).catch(j=>{if(f())return;const U=n.retry??(gr.isServer()?0:3),L=n.retryDelay??Cx,q=typeof L=="function"?L(r,j):L,I=U===!0||typeof U=="number"&&rp()?void 0:E()).then(()=>{i?b(j):C()})})};return{promise:u,status:()=>u.status,cancel:d,continue:()=>(o?.(),u),cancelRetry:g,continueRetry:y,canStart:x,start:()=>(x()?C():E().then(C),u)}}var Cy=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),bf(this.gcTime)&&(this.#e=fl.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(gr.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(fl.clearTimeout(this.#e),this.#e=void 0)}};function Tx(n){return{onFetch:(i,r)=>{const o=i.options,u=i.fetchOptions?.meta?.fetchMore?.direction,f=i.state.data?.pages||[],d=i.state.data?.pageParams||[];let g={pages:[],pageParams:[]},y=0;const p=async()=>{let x=!1;const m=C=>{xx(C,()=>i.signal,()=>x=!0)},b=xy(i.options,i.fetchOptions),E=async(C,T,R)=>{if(x)return Promise.reject(i.signal.reason);if(T==null&&C.pages.length)return Promise.resolve(C);const U=(()=>{const Q={client:i.client,queryKey:i.queryKey,pageParam:T,direction:R?"backward":"forward",meta:i.options.meta};return m(Q),Q})(),L=await b(U),{maxPages:q}=i.options,I=R?bx:gx;return{pages:I(C.pages,L,q),pageParams:I(C.pageParams,T,q)}};if(u&&f.length){const C=u==="backward",T=C?Mx:xv,R={pages:f,pageParams:d},j=T(o,R);g=await E(R,j,C)}else{const C=n??f.length;do{const T=y===0?d[0]??o.initialPageParam:xv(o,g);if(y>0&&T==null)break;g=await E(g,T),y++}while(yi.options.persister?.(p,{client:i.client,queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},r):i.fetchFn=p}}}function xv(n,{pages:i,pageParams:r}){const o=i.length-1;return i.length>0?n.getNextPageParam(i[o],i,r[o],r):void 0}function Mx(n,{pages:i,pageParams:r}){return i.length>0?n.getPreviousPageParam?.(i[0],i,r[0],r):void 0}var Ax=class extends Cy{#e;#t;#n;#a;#i;#l;#o;#r;constructor(n){super(),this.#r=!1,this.#o=n.defaultOptions,this.setOptions(n.options),this.observers=[],this.#i=n.client,this.#a=this.#i.getQueryCache(),this.queryKey=n.queryKey,this.queryHash=n.queryHash,this.#t=wv(this.options),this.state=n.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#l?.promise}setOptions(n){if(this.options={...this.#o,...n},n?._type&&(this.#e=n._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=wv(this.options);i.data!==void 0&&(this.setState(Sv(i.data,i.dataUpdatedAt)),this.#t=i)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#a.remove(this)}setData(n,i){const r=wf(this.state.data,n,this.options);return this.#s({data:r,type:"success",dataUpdatedAt:i?.updatedAt,manual:i?.manual}),r}setState(n){this.#s({type:"setState",state:n})}cancel(n){const i=this.#l?.promise;return this.#l?.cancel(n),i?i.then(Qt).catch(Qt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(n=>en(n.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Gf||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(n=>ka(n.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(n=>n.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(n=0){return this.state.data===void 0?!0:n==="static"?!1:this.state.isInvalidated?!0:!gy(this.state.dataUpdatedAt,n)}onFocus(){this.observers.find(i=>i.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#l?.continue()}onOnline(){this.observers.find(i=>i.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#l?.continue()}addObserver(n){this.observers.includes(n)||(this.observers.push(n),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",query:this,observer:n}))}removeObserver(n){this.observers.includes(n)&&(this.observers=this.observers.filter(i=>i!==n),this.observers.length||(this.#l&&(this.#r||this.#u()?this.#l.cancel({revert:!0}):this.#l.cancelRetry()),this.scheduleGc()),this.#a.notify({type:"observerRemoved",query:this,observer:n}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#s({type:"invalidate"})}async fetch(n,i){if(this.state.fetchStatus!=="idle"&&this.#l?.status()!=="rejected"){if(this.state.data!==void 0&&i?.cancelRefetch)this.cancel({silent:!0});else if(this.#l)return this.#l.continueRetry(),this.#l.promise}if(n&&this.setOptions(n),!this.options.queryFn){const y=this.observers.find(p=>p.options.queryFn);y&&this.setOptions(y.options)}const r=new AbortController,o=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(this.#r=!0,r.signal)})},u=()=>{const y=xy(this.options,i),x=(()=>{const m={client:this.#i,queryKey:this.queryKey,meta:this.meta};return o(m),m})();return this.#r=!1,this.options.persister?this.options.persister(y,x,this):y(x)},d=(()=>{const y={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:u};return o(y),y})();(this.#e==="infinite"?Tx(this.options.pages):this.options.behavior)?.onFetch(d,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==d.fetchOptions?.meta)&&this.#s({type:"fetch",meta:d.fetchOptions?.meta}),this.#l=Ey({initialPromise:i?.initialPromise,fn:d.fetchFn,onCancel:y=>{y instanceof Cf&&y.revert&&this.setState({...this.#n,fetchStatus:"idle"}),r.abort()},onFail:(y,p)=>{this.#s({type:"failed",failureCount:y,error:p})},onPause:()=>{this.#s({type:"pause"})},onContinue:()=>{this.#s({type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0});try{const y=await this.#l.start();if(y===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(y),this.#a.config.onSuccess?.(y,this),this.#a.config.onSettled?.(y,this.state.error,this),y}catch(y){if(y instanceof Cf){if(y.silent)return this.#l.promise;if(y.revert){if(this.state.data===void 0)throw y;return this.state.data}}throw this.#s({type:"error",error:y}),this.#a.config.onError?.(y,this),this.#a.config.onSettled?.(this.state.data,y,this),y}finally{this.scheduleGc()}}#s(n){const i=r=>{switch(n.type){case"failed":return{...r,fetchFailureCount:n.failureCount,fetchFailureReason:n.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Ty(r.data,this.options),fetchMeta:n.meta??null};case"success":const o={...r,...Sv(n.data,n.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!n.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=n.manual?o:void 0,o;case"error":const u=n.error;return{...r,error:u,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:u,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...n.state}}};this.state=i(this.state),St.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#a.notify({query:this,type:"updated",action:n})})}};function Ty(n,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:wy(i.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function Sv(n,i){return{data:n,dataUpdatedAt:i??Date.now(),error:null,isInvalidated:!1,status:"success"}}function wv(n){const i=typeof n.initialData=="function"?n.initialData():n.initialData,r=i!==void 0,o=r?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:r?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Rx=class extends Rr{constructor(n,i){super(),this.options=i,this.#e=n,this.#r=null,this.#o=Ef(),this.bindMethods(),this.setOptions(i)}#e;#t=void 0;#n=void 0;#a=void 0;#i;#l;#o;#r;#u;#s;#m;#f;#d;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Ev(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Tf(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Tf(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#S(),this.#t.removeObserver(this)}setOptions(n){const i=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(n),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof en(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#w(),this.#t.setOptions(this.options),i._defaulted&&!xf(this.options,i)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const o=this.hasListeners();o&&Cv(this.#t,r,this.options,i)&&this.#h(),this.updateResult(),o&&(this.#t!==r||en(this.options.enabled,this.#t)!==en(i.enabled,this.#t)||ka(this.options.staleTime,this.#t)!==ka(i.staleTime,this.#t))&&this.#v();const u=this.#y();o&&(this.#t!==r||en(this.options.enabled,this.#t)!==en(i.enabled,this.#t)||u!==this.#c)&&this.#g(u)}getOptimisticResult(n){const i=this.#e.getQueryCache().build(this.#e,n),r=this.createResult(i,n);return Ox(this,r)&&(this.#a=r,this.#l=this.options,this.#i=this.#t.state),r}getCurrentResult(){return this.#a}trackResult(n,i){return new Proxy(n,{get:(r,o)=>(this.trackProp(o),i?.(o),o==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,o))})}trackProp(n){this.#p.add(n)}getCurrentQuery(){return this.#t}refetch({...n}={}){return this.fetch({...n})}fetchOptimistic(n){const i=this.#e.defaultQueryOptions(n),r=this.#e.getQueryCache().build(this.#e,i);return r.fetch().then(()=>this.createResult(r,i))}fetch(n){return this.#h({...n,cancelRefetch:n.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#a))}#h(n){this.#w();let i=this.#t.fetch(this.options,n);return n?.throwOnError||(i=i.catch(Qt)),i}#v(){this.#x();const n=ka(this.options.staleTime,this.#t);if(gr.isServer()||this.#a.isStale||!bf(n))return;const r=gy(this.#a.dataUpdatedAt,n)+1;this.#f=fl.setTimeout(()=>{this.#a.isStale||this.updateResult()},r)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#g(n){this.#S(),this.#c=n,!(gr.isServer()||en(this.options.enabled,this.#t)===!1||!bf(this.#c)||this.#c===0)&&(this.#d=fl.setInterval(()=>{(this.options.refetchIntervalInBackground||Bf.isFocused())&&this.#h()},this.#c))}#b(){this.#v(),this.#g(this.#y())}#x(){this.#f!==void 0&&(fl.clearTimeout(this.#f),this.#f=void 0)}#S(){this.#d!==void 0&&(fl.clearInterval(this.#d),this.#d=void 0)}createResult(n,i){const r=this.#t,o=this.options,u=this.#a,f=this.#i,d=this.#l,y=n!==r?n.state:this.#n,{state:p}=n;let x={...p},m=!1,b;if(i._optimisticResults){const H=this.hasListeners(),re=!H&&Ev(n,i),se=H&&Cv(n,r,i,o);(re||se)&&(x={...x,...Ty(p.data,n.options)}),i._optimisticResults==="isRestoring"&&(x.fetchStatus="idle")}let{error:E,errorUpdatedAt:C,status:T}=x;b=x.data;let R=!1;if(i.placeholderData!==void 0&&b===void 0&&T==="pending"){let H;u?.isPlaceholderData&&i.placeholderData===d?.placeholderData?(H=u.data,R=!0):H=typeof i.placeholderData=="function"?i.placeholderData(this.#m?.state.data,this.#m):i.placeholderData,H!==void 0&&(T="success",b=wf(u?.data,H,i),m=!0)}if(i.select&&b!==void 0&&!R)if(u&&b===f?.data&&i.select===this.#u)b=this.#s;else try{this.#u=i.select,b=i.select(b),b=wf(u?.data,b,i),this.#s=b,this.#r=null}catch(H){this.#r=H}this.#r&&(E=this.#r,b=this.#s,C=Date.now(),T="error");const j=x.fetchStatus==="fetching",U=T==="pending",L=T==="error",q=U&&j,I=b!==void 0,V={status:T,fetchStatus:x.fetchStatus,isPending:U,isSuccess:T==="success",isError:L,isInitialLoading:q,isLoading:q,data:b,dataUpdatedAt:x.dataUpdatedAt,error:E,errorUpdatedAt:C,failureCount:x.fetchFailureCount,failureReason:x.fetchFailureReason,errorUpdateCount:x.errorUpdateCount,isFetched:n.isFetched(),isFetchedAfterMount:x.dataUpdateCount>y.dataUpdateCount||x.errorUpdateCount>y.errorUpdateCount,isFetching:j,isRefetching:j&&!U,isLoadingError:L&&!I,isPaused:x.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:L&&I,isStale:Yf(n,i),refetch:this.refetch,promise:this.#o,isEnabled:en(i.enabled,n)!==!1};if(this.options.experimental_prefetchInRender){const H=V.data!==void 0,re=V.status==="error"&&!H,se=ce=>{re?ce.reject(V.error):H&&ce.resolve(V.data)},ae=()=>{const ce=this.#o=V.promise=Ef();se(ce)},de=this.#o;switch(de.status){case"pending":n.queryHash===r.queryHash&&se(de);break;case"fulfilled":(re||V.data!==de.value)&&ae();break;case"rejected":(!re||V.error!==de.reason)&&ae();break}}return V}updateResult(){const n=this.#a,i=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#l=this.options,this.#i.data!==void 0&&(this.#m=this.#t),xf(i,n))return;this.#a=i;const r=()=>{if(!n)return!0;const{notifyOnChangeProps:o}=this.options,u=typeof o=="function"?o():o;if(u==="all"||!u&&!this.#p.size)return!0;const f=new Set(u??this.#p);return this.options.throwOnError&&f.add("error"),Object.keys(this.#a).some(d=>{const g=d;return this.#a[g]!==n[g]&&f.has(g)})};this.#E({listeners:r()})}#w(){const n=this.#e.getQueryCache().build(this.#e,this.options);if(n===this.#t)return;const i=this.#t;this.#t=n,this.#n=n.state,this.hasListeners()&&(i?.removeObserver(this),n.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#E(n){St.batch(()=>{n.listeners&&this.listeners.forEach(i=>{i(this.#a)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function jx(n,i){return en(i.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&en(i.retryOnMount,n)===!1)}function Ev(n,i){return jx(n,i)||n.state.data!==void 0&&Tf(n,i,i.refetchOnMount)}function Tf(n,i,r){if(en(i.enabled,n)!==!1&&ka(i.staleTime,n)!=="static"){const o=typeof r=="function"?r(n):r;return o==="always"||o!==!1&&Yf(n,i)}return!1}function Cv(n,i,r,o){return(n!==i||en(o.enabled,n)===!1)&&(!r.suspense||n.state.status!=="error")&&Yf(n,r)}function Yf(n,i){return en(i.enabled,n)!==!1&&n.isStaleByTime(ka(i.staleTime,n))}function Ox(n,i){return!xf(n.getCurrentResult(),i)}var Nx=class extends Cy{#e;#t;#n;#a;constructor(n){super(),this.#e=n.client,this.mutationId=n.mutationId,this.#n=n.mutationCache,this.#t=[],this.state=n.state||_x(),this.setOptions(n.options),this.scheduleGc()}setOptions(n){this.options=n,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(n){this.#t.includes(n)||(this.#t.push(n),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:n}))}removeObserver(n){this.#t=this.#t.filter(i=>i!==n),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:n})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#a?.continue()??this.execute(this.state.variables)}async execute(n){const i=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#a=Ey({fn:()=>this.options.mutationFn?this.options.mutationFn(n,r):Promise.reject(new Error("No mutationFn found")),onFail:(f,d)=>{this.#i({type:"failed",failureCount:f,error:d})},onPause:()=>{this.#i({type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const o=this.state.status==="pending",u=!this.#a.canStart();try{if(o)i();else{this.#i({type:"pending",variables:n,isPaused:u}),this.#n.config.onMutate&&await this.#n.config.onMutate(n,this,r);const d=await this.options.onMutate?.(n,r);d!==this.state.context&&this.#i({type:"pending",context:d,variables:n,isPaused:u})}const f=await this.#a.start();return await this.#n.config.onSuccess?.(f,n,this.state.context,this,r),await this.options.onSuccess?.(f,n,this.state.context,r),await this.#n.config.onSettled?.(f,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(f,null,n,this.state.context,r),this.#i({type:"success",data:f}),f}catch(f){try{await this.#n.config.onError?.(f,n,this.state.context,this,r)}catch(d){Promise.reject(d)}try{await this.options.onError?.(f,n,this.state.context,r)}catch(d){Promise.reject(d)}try{await this.#n.config.onSettled?.(void 0,f,this.state.variables,this.state.context,this,r)}catch(d){Promise.reject(d)}try{await this.options.onSettled?.(void 0,f,n,this.state.context,r)}catch(d){Promise.reject(d)}throw this.#i({type:"error",error:f}),f}finally{this.#n.runNext(this)}}#i(n){const i=r=>{switch(n.type){case"failed":return{...r,failureCount:n.failureCount,failureReason:n.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:n.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:n.isPaused,status:"pending",variables:n.variables,submittedAt:Date.now()};case"success":return{...r,data:n.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:n.error,failureCount:r.failureCount+1,failureReason:n.error,isPaused:!1,status:"error"}}};this.state=i(this.state),St.batch(()=>{this.#t.forEach(r=>{r.onMutationUpdate(n)}),this.#n.notify({mutation:this,type:"updated",action:n})})}};function _x(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Dx=class extends Rr{constructor(n={}){super(),this.config=n,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(n,i,r){const o=new Nx({client:n,mutationCache:this,mutationId:++this.#n,options:n.defaultMutationOptions(i),state:r});return this.add(o),o}add(n){this.#e.add(n);const i=Po(n);if(typeof i=="string"){const r=this.#t.get(i);r?r.push(n):this.#t.set(i,[n])}this.notify({type:"added",mutation:n})}remove(n){if(this.#e.delete(n)){const i=Po(n);if(typeof i=="string"){const r=this.#t.get(i);if(r)if(r.length>1){const o=r.indexOf(n);o!==-1&&r.splice(o,1)}else r[0]===n&&this.#t.delete(i)}}this.notify({type:"removed",mutation:n})}canRun(n){const i=Po(n);if(typeof i=="string"){const o=this.#t.get(i)?.find(u=>u.state.status==="pending");return!o||o===n}else return!0}runNext(n){const i=Po(n);return typeof i=="string"?this.#t.get(i)?.find(o=>o!==n&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){St.batch(()=>{this.#e.forEach(n=>{this.notify({type:"removed",mutation:n})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(n){const i={exact:!0,...n};return this.getAll().find(r=>yv(i,r))}findAll(n={}){return this.getAll().filter(i=>yv(n,i))}notify(n){St.batch(()=>{this.listeners.forEach(i=>{i(n)})})}resumePausedMutations(){const n=this.getAll().filter(i=>i.state.isPaused);return St.batch(()=>Promise.all(n.map(i=>i.continue().catch(Qt))))}};function Po(n){return n.options.scope?.id}var zx=class extends Rr{constructor(n={}){super(),this.config=n,this.#e=new Map}#e;build(n,i,r){const o=i.queryKey,u=i.queryHash??qf(o,i);let f=this.get(u);return f||(f=new Ax({client:n,queryKey:o,queryHash:u,options:n.defaultQueryOptions(i),state:r,defaultOptions:n.getQueryDefaults(o)}),this.add(f)),f}add(n){this.#e.has(n.queryHash)||(this.#e.set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const i=this.#e.get(n.queryHash);i&&(n.destroy(),i===n&&this.#e.delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){St.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return this.#e.get(n)}getAll(){return[...this.#e.values()]}find(n){const i={exact:!0,...n};return this.getAll().find(r=>vv(i,r))}findAll(n={}){const i=this.getAll();return Object.keys(n).length>0?i.filter(r=>vv(n,r)):i}notify(n){St.batch(()=>{this.listeners.forEach(i=>{i(n)})})}onFocus(){St.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){St.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},kx=class{#e;#t;#n;#a;#i;#l;#o;#r;constructor(n={}){this.#e=n.queryCache||new zx,this.#t=n.mutationCache||new Dx,this.#n=n.defaultOptions||{},this.#a=new Map,this.#i=new Map,this.#l=0}mount(){this.#l++,this.#l===1&&(this.#o=Bf.subscribe(async n=>{n&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#r=ds.subscribe(async n=>{n&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#l--,this.#l===0&&(this.#o?.(),this.#o=void 0,this.#r?.(),this.#r=void 0)}isFetching(n){return this.#e.findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return this.#t.findAll({...n,status:"pending"}).length}getQueryData(n){const i=this.defaultQueryOptions({queryKey:n});return this.#e.get(i.queryHash)?.state.data}ensureQueryData(n){const i=this.defaultQueryOptions(n),r=this.#e.build(this,i),o=r.state.data;return o===void 0?this.fetchQuery(n):(n.revalidateIfStale&&r.isStaleByTime(ka(i.staleTime,r))&&this.prefetchQuery(i),Promise.resolve(o))}getQueriesData(n){return this.#e.findAll(n).map(({queryKey:i,state:r})=>{const o=r.data;return[i,o]})}setQueryData(n,i,r){const o=this.defaultQueryOptions({queryKey:n}),f=this.#e.get(o.queryHash)?.state.data,d=px(i,f);if(d!==void 0)return this.#e.build(this,o).setData(d,{...r,manual:!0})}setQueriesData(n,i,r){return St.batch(()=>this.#e.findAll(n).map(({queryKey:o})=>[o,this.setQueryData(o,i,r)]))}getQueryState(n){const i=this.defaultQueryOptions({queryKey:n});return this.#e.get(i.queryHash)?.state}removeQueries(n){const i=this.#e;St.batch(()=>{i.findAll(n).forEach(r=>{i.remove(r)})})}resetQueries(n,i){const r=this.#e;return St.batch(()=>(r.findAll(n).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...n},i)))}cancelQueries(n,i={}){const r={revert:!0,...i},o=St.batch(()=>this.#e.findAll(n).map(u=>u.cancel(r)));return Promise.all(o).then(Qt).catch(Qt)}invalidateQueries(n,i={}){return St.batch(()=>(this.#e.findAll(n).forEach(r=>{r.invalidate()}),n?.refetchType==="none"?Promise.resolve():this.refetchQueries({...n,type:n?.refetchType??n?.type??"active"},i)))}refetchQueries(n,i={}){const r={...i,cancelRefetch:i.cancelRefetch??!0},o=St.batch(()=>this.#e.findAll(n).filter(u=>!u.isDisabled()&&!u.isStatic()).map(u=>{let f=u.fetch(void 0,r);return r.throwOnError||(f=f.catch(Qt)),u.state.fetchStatus==="paused"?Promise.resolve():f}));return Promise.all(o).then(Qt)}fetchQuery(n){const i=this.defaultQueryOptions(n);i.retry===void 0&&(i.retry=!1);const r=this.#e.build(this,i);return r.isStaleByTime(ka(i.staleTime,r))?r.fetch(i):Promise.resolve(r.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(Qt).catch(Qt)}fetchInfiniteQuery(n){return n._type="infinite",this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(Qt).catch(Qt)}ensureInfiniteQueryData(n){return n._type="infinite",this.ensureQueryData(n)}resumePausedMutations(){return ds.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(n){this.#n=n}setQueryDefaults(n,i){this.#a.set(vr(n),{queryKey:n,defaultOptions:i})}getQueryDefaults(n){const i=[...this.#a.values()],r={};return i.forEach(o=>{yr(n,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(n,i){this.#i.set(vr(n),{mutationKey:n,defaultOptions:i})}getMutationDefaults(n){const i=[...this.#i.values()],r={};return i.forEach(o=>{yr(n,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(n){if(n._defaulted)return n;const i={...this.#n.queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return i.queryHash||(i.queryHash=qf(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.queryFn===Gf&&(i.enabled=!1),i}defaultMutationOptions(n){return n?._defaulted?n:{...this.#n.mutations,...n?.mutationKey&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},My=S.createContext(void 0),jr=n=>{const i=S.useContext(My);if(!i)throw new Error("No QueryClient set, use QueryClientProvider to set one");return i},Lx=({client:n,children:i})=>(S.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),h.jsx(My.Provider,{value:n,children:i})),Ay=S.createContext(!1),Ux=()=>S.useContext(Ay);Ay.Provider;function Hx(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var Bx=S.createContext(Hx()),qx=()=>S.useContext(Bx),Gx=(n,i,r)=>{const o=r?.state.error&&typeof n.throwOnError=="function"?Sy(n.throwOnError,[r.state.error,r]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||o)&&(i.isReset()||(n.retryOnMount=!1))},Yx=n=>{S.useEffect(()=>{n.clearReset()},[n])},Qx=({result:n,errorResetBoundary:i,throwOnError:r,query:o,suspense:u})=>n.isError&&!i.isReset()&&!n.isFetching&&o&&(u&&n.data===void 0||Sy(r,[n.error,o])),Vx=n=>{if(n.suspense){const r=u=>u==="static"?u:Math.max(u??1e3,1e3),o=n.staleTime;n.staleTime=typeof o=="function"?(...u)=>r(o(...u)):r(o),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},Xx=(n,i)=>n.isLoading&&n.isFetching&&!i,Kx=(n,i)=>n?.suspense&&i.isPending,Tv=(n,i,r)=>i.fetchOptimistic(n).catch(()=>{r.clearReset()});function Fx(n,i,r){const o=Ux(),u=qx(),f=jr(),d=f.defaultQueryOptions(n);f.getDefaultOptions().queries?._experimental_beforeQuery?.(d);const g=f.getQueryCache().get(d.queryHash),y=n.subscribed!==!1;d._optimisticResults=o?"isRestoring":y?"optimistic":void 0,Vx(d),Gx(d,u,g),Yx(u);const p=!f.getQueryCache().get(d.queryHash),[x]=S.useState(()=>new i(f,d)),m=x.getOptimisticResult(d),b=!o&&y;if(S.useSyncExternalStore(S.useCallback(E=>{const C=b?x.subscribe(St.batchCalls(E)):Qt;return x.updateResult(),C},[x,b]),()=>x.getCurrentResult(),()=>x.getCurrentResult()),S.useEffect(()=>{x.setOptions(d)},[d,x]),Kx(d,m))throw Tv(d,x,u);if(Qx({result:m,errorResetBoundary:u,throwOnError:d.throwOnError,query:g,suspense:d.suspense}))throw m.error;return f.getDefaultOptions().queries?._experimental_afterQuery?.(d,m),d.experimental_prefetchInRender&&!gr.isServer()&&Xx(m,o)&&(p?Tv(d,x,u):g?.promise)?.catch(Qt).finally(()=>{x.updateResult()}),d.notifyOnChangeProps?m:x.trackResult(m)}function Kt(n,i){return Fx(n,Rx)}function Ry(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}async function tn(n){const i=await fetch(n);if(i.status===401&&Ry(),!i.ok)throw new Error(await i.text());return i.json()}async function Da(n,i,r){const o={method:n};r!==void 0&&(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(r));const u=await fetch(i,o);if(!u.ok)throw new Error(await u.text());return u.status===204?{}:u.json()}async function hi(n,i){const r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i||{})});if(r.status===401&&Ry(),!r.ok)throw new Error(await r.text());return r.json()}function Zx(){return Kt({queryKey:["config"],queryFn:async()=>{const n=await tn("/api/config");return n.auth.enabled&&!n.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),n},staleTime:1/0})}var Es=yy();const Px=vy(Es);function Mv(n,i){if(typeof n=="function")return n(i);n!=null&&(n.current=i)}function Ix(...n){return i=>{let r=!1;const o=n.map(u=>{const f=Mv(u,i);return!r&&typeof f=="function"&&(r=!0),f});if(r)return()=>{for(let u=0;u{let{children:u,...f}=r,d=null,g=!1;const y=[];Av(u)&&typeof Io=="function"&&(u=Io(u._payload)),S.Children.forEach(u,b=>{if(tS(b)){g=!0;const E=b;let C="child"in E.props?E.props.child:E.props.children;Av(C)&&typeof Io=="function"&&(C=Io(C._payload)),d=Jx(E,C),y.push(d?.props?.children)}else y.push(b)}),d?d=S.cloneElement(d,void 0,y):!g&&S.Children.count(u)===1&&S.isValidElement(u)&&(d=u);const p=d?eS(d):void 0,x=ht(o,p);if(!d){if(u||u===0)throw new Error(g?iS(n):lS(n));return u}const m=Wx(f,d.props??{});return d.type!==S.Fragment&&(m.ref=o?x:p),S.cloneElement(d,m)});return i.displayName=`${n}.Slot`,i}var jy=Symbol.for("radix.slottable");function $x(n){const i=r=>"child"in r?r.children(r.child):r.children;return i.displayName=`${n}.Slottable`,i.__radixId=jy,i}var Jx=(n,i)=>{if("child"in n.props){const r=n.props.child;return S.isValidElement(r)?S.cloneElement(r,void 0,n.props.children(r.props.children)):null}return S.isValidElement(i)?i:null};function Wx(n,i){const r={...i};for(const o in i){const u=n[o],f=i[o];/^on[A-Z]/.test(o)?u&&f?r[o]=(...g)=>{const y=f(...g);return u(...g),y}:u&&(r[o]=u):o==="style"?r[o]={...u,...f}:o==="className"&&(r[o]=[u,f].filter(Boolean).join(" "))}return{...n,...r}}function eS(n){let i=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?n.ref:(i=Object.getOwnPropertyDescriptor(n,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}function tS(n){return S.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===jy}var nS=Symbol.for("react.lazy");function Av(n){return n!=null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===nS&&"_payload"in n&&aS(n._payload)}function aS(n){return typeof n=="object"&&n!==null&&"then"in n}var lS=n=>`${n} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,iS=n=>`${n} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Io=ws[" use ".trim().toString()],rS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],wt=rS.reduce((n,i)=>{const r=hs(`Primitive.${i}`),o=S.forwardRef((u,f)=>{const{asChild:d,...g}=u,y=d?r:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(y,{...g,ref:f})});return o.displayName=`Primitive.${i}`,{...n,[i]:o}},{});function Oy(n,i){n&&Es.flushSync(()=>n.dispatchEvent(i))}var oS=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),sS="VisuallyHidden",Ny=S.forwardRef((n,i)=>h.jsx(wt.span,{...n,ref:i,style:{...oS,...n.style}}));Ny.displayName=sS;var cS=Ny;function pi(n,i=[]){let r=[];function o(f,d){const g=S.createContext(d);g.displayName=f+"Context";const y=r.length;r=[...r,d];const p=m=>{const{scope:b,children:E,...C}=m,T=b?.[n]?.[y]||g,R=S.useMemo(()=>C,Object.values(C));return h.jsx(T.Provider,{value:R,children:E})};p.displayName=f+"Provider";function x(m,b,E={}){const{optional:C=!1}=E,T=b?.[n]?.[y]||g,R=S.useContext(T);if(R)return R;if(d!==void 0)return d;if(!C)throw new Error(`\`${m}\` must be used within \`${f}\``)}return[p,x]}const u=()=>{const f=r.map(d=>S.createContext(d));return function(g){const y=g?.[n]||f;return S.useMemo(()=>({[`__scope${n}`]:{...g,[n]:y}}),[g,y])}};return u.scopeName=n,[o,uS(u,...i)]}function uS(...n){const i=n[0];if(n.length===1)return i;const r=()=>{const o=n.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(f){const d=o.reduce((g,{useScope:y,scopeName:p})=>{const m=y(f)[`__scope${p}`];return{...g,...m}},{});return S.useMemo(()=>({[`__scope${i.scopeName}`]:d}),[d])}};return r.scopeName=i.scopeName,r}function _y(n){const i=n+"CollectionProvider",[r,o]=pi(i),[u,f]=r(i,{collectionRef:{current:null},itemMap:new Map}),d=T=>{const{scope:R,children:j}=T,U=S.useRef(null),L=S.useRef(new Map).current;return h.jsx(u,{scope:R,itemMap:L,collectionRef:U,children:j})};d.displayName=i;const g=n+"CollectionSlot",y=hs(g),p=S.forwardRef((T,R)=>{const{scope:j,children:U}=T,L=f(g,j),q=ht(R,L.collectionRef);return h.jsx(y,{ref:q,children:U})});p.displayName=g;const x=n+"CollectionItemSlot",m="data-radix-collection-item",b=hs(x),E=S.forwardRef((T,R)=>{const{scope:j,children:U,...L}=T,q=S.useRef(null),I=ht(R,q),Q=f(x,j);return S.useEffect(()=>(Q.itemMap.set(q,{ref:q,...L}),()=>{Q.itemMap.delete(q)})),h.jsx(b,{[m]:"",ref:I,children:U})});E.displayName=x;function C(T){const R=f(n+"CollectionConsumer",T);return S.useCallback(()=>{const U=R.collectionRef.current;if(!U)return[];const L=Array.from(U.querySelectorAll(`[${m}]`));return Array.from(R.itemMap.values()).sort((Q,V)=>L.indexOf(Q.ref.current)-L.indexOf(V.ref.current))},[R.collectionRef,R.itemMap])}return[{Provider:d,Slot:p,ItemSlot:E},C,o]}function Te(n,i,{checkForDefaultPrevented:r=!0}={}){return function(u){if(n?.(u),r===!1||!u||!u.defaultPrevented)return i?.(u)}}var _n=globalThis?.document?S.useLayoutEffect:()=>{},fS=ws[" useInsertionEffect ".trim().toString()]||_n;function Qf({prop:n,defaultProp:i,onChange:r=()=>{},caller:o}){const[u,f,d]=dS({defaultProp:i,onChange:r}),g=n!==void 0,y=g?n:u;{const x=S.useRef(n!==void 0);S.useEffect(()=>{const m=x.current;m!==g&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${g?"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.`),x.current=g},[g,o])}const p=S.useCallback(x=>{if(g){const m=hS(x)?x(n):x;m!==n&&d.current?.(m)}else f(x)},[g,n,f,d]);return[y,p]}function dS({defaultProp:n,onChange:i}){const[r,o]=S.useState(n),u=S.useRef(r),f=S.useRef(i);return fS(()=>{f.current=i},[i]),S.useEffect(()=>{u.current!==r&&(f.current?.(r),u.current=r)},[r,u]),[r,o,f]}function hS(n){return typeof n=="function"}function mS(n,i){return S.useReducer((r,o)=>i[r][o]??r,n)}var ml=n=>{const{present:i,children:r}=n,o=pS(i),u=typeof r=="function"?r({present:o.isPresent}):S.Children.only(r),f=vS(o.ref,yS(u));return typeof r=="function"||o.isPresent?S.cloneElement(u,{ref:f}):null};ml.displayName="Presence";function pS(n){const[i,r]=S.useState(),o=S.useRef(null),u=S.useRef(n),f=S.useRef("none"),d=S.useRef(void 0),g=n?"mounted":"unmounted",[y,p]=mS(g,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{y==="mounted"?(f.current=d.current??dr(o.current),d.current=void 0):f.current="none"},[y]),_n(()=>{const x=o.current,m=u.current;if(m!==n){const E=f.current,C=dr(x);n?(d.current=C,p("MOUNT")):C==="none"||x?.display==="none"?p("UNMOUNT"):p(m&&E!==C?"ANIMATION_OUT":"UNMOUNT"),u.current=n}},[n,p]),_n(()=>{if(i){let x;const m=i.ownerDocument.defaultView??window,b=C=>{const R=dr(o.current).includes(CSS.escape(C.animationName));if(C.target===i&&R&&(p("ANIMATION_END"),!u.current)){const j=i.style.animationFillMode;i.style.animationFillMode="forwards",x=m.setTimeout(()=>{i.style.animationFillMode==="forwards"&&(i.style.animationFillMode=j)})}},E=C=>{C.target===i&&(f.current=dr(o.current))};return i.addEventListener("animationstart",E),i.addEventListener("animationcancel",b),i.addEventListener("animationend",b),()=>{m.clearTimeout(x),i.removeEventListener("animationstart",E),i.removeEventListener("animationcancel",b),i.removeEventListener("animationend",b)}}else p("ANIMATION_END")},[i,p]),{isPresent:["mounted","unmountSuspended"].includes(y),ref:S.useCallback(x=>{if(x){const m=getComputedStyle(x);o.current=m,d.current=dr(m)}else o.current=null;r(x)},[])}}function Rv(n,i){if(typeof n=="function")return n(i);n!=null&&(n.current=i)}function vS(...n){const i=S.useRef(n);return i.current=n,S.useCallback(r=>{const o=i.current;let u=!1;const f=o.map(d=>{const g=Rv(d,r);return!u&&typeof g=="function"&&(u=!0),g});if(u)return()=>{for(let d=0;d{}),bS=0;function ms(n){const[i,r]=S.useState(gS());return _n(()=>{r(o=>o??String(bS++))},[n]),i?`radix-${i}`:""}var xS=S.createContext(void 0);function Dy(n){const i=S.useContext(xS);return n||i||"ltr"}function aa(n){const i=S.useRef(n);return S.useEffect(()=>{i.current=n}),S.useMemo(()=>((...r)=>i.current?.(...r)),[])}var SS="DismissableLayer",Mf="dismissableLayer.update",wS="dismissableLayer.pointerDownOutside",ES="dismissableLayer.focusOutside",jv,zy=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Vf=S.forwardRef((n,i)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:o=!1,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:d,onInteractOutside:g,onDismiss:y,...p}=n,x=S.useContext(zy),[m,b]=S.useState(null),E=m?.ownerDocument??globalThis?.document,[,C]=S.useState({}),T=ht(i,b),R=Array.from(x.layers),[j]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),U=j?R.indexOf(j):-1,L=m?R.indexOf(m):-1,q=x.layersWithOutsidePointerEventsDisabled.size>0,I=L>=U,Q=S.useRef(!1),V=AS(ae=>{f?.(ae),g?.(ae),ae.defaultPrevented||y?.()},{ownerDocument:E,deferPointerDownOutside:o,isDeferredPointerDownOutsideRef:Q,dismissableSurfaces:x.dismissableSurfaces,shouldHandlePointerDownOutside:S.useCallback(ae=>{if(!(ae instanceof Node))return!1;const de=[...x.branches].some(ce=>ce.contains(ae));return I&&!de},[x.branches,I])}),H=RS(ae=>{if(o&&Q.current)return;const de=ae.target;[...x.branches].some(be=>be.contains(de))||(d?.(ae),g?.(ae),ae.defaultPrevented||y?.())},E),re=m?L===R.length-1:!1,se=aa(ae=>{ae.key==="Escape"&&(u?.(ae),!ae.defaultPrevented&&y&&(ae.preventDefault(),y()))});return S.useEffect(()=>{if(re)return E.addEventListener("keydown",se,{capture:!0}),()=>E.removeEventListener("keydown",se,{capture:!0})},[E,re,se]),S.useEffect(()=>{if(m)return r&&(x.layersWithOutsidePointerEventsDisabled.size===0&&(jv=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(m)),x.layers.add(m),Ov(),()=>{r&&(x.layersWithOutsidePointerEventsDisabled.delete(m),x.layersWithOutsidePointerEventsDisabled.size===0&&(E.body.style.pointerEvents=jv))}},[m,E,r,x]),S.useEffect(()=>()=>{m&&(x.layers.delete(m),x.layersWithOutsidePointerEventsDisabled.delete(m),Ov())},[m,x]),S.useEffect(()=>{const ae=()=>C({});return document.addEventListener(Mf,ae),()=>document.removeEventListener(Mf,ae)},[]),h.jsx(wt.div,{...p,ref:T,style:{pointerEvents:q?I?"auto":"none":void 0,...n.style},onFocusCapture:Te(n.onFocusCapture,H.onFocusCapture),onBlurCapture:Te(n.onBlurCapture,H.onBlurCapture),onPointerDownCapture:Te(n.onPointerDownCapture,V.onPointerDownCapture)})});Vf.displayName=SS;var CS="DismissableLayerBranch",TS=S.forwardRef((n,i)=>{const r=S.useContext(zy),o=S.useRef(null),u=ht(i,o);return S.useEffect(()=>{const f=o.current;if(f)return r.branches.add(f),()=>{r.branches.delete(f)}},[r.branches]),h.jsx(wt.div,{...n,ref:u})});TS.displayName=CS;var MS=()=>!0;function AS(n,i){const{ownerDocument:r=globalThis?.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:u,dismissableSurfaces:f,shouldHandlePointerDownOutside:d=MS}=i,g=aa(n),y=S.useRef(!1),p=S.useRef(!1),x=S.useRef(new Map),m=S.useRef(()=>{});return S.useEffect(()=>{function b(){p.current=!1,u.current=!1,x.current.clear()}function E(){return Array.from(x.current.values()).some(Boolean)}function C(L){if(!p.current)return;const q=L.target;q instanceof Node&&[...f].some(Q=>Q.contains(q))||x.current.set(L.type,!0),L.type==="click"&&window.setTimeout(()=>{p.current&&m.current()},0)}function T(L){p.current&&x.current.set(L.type,!1)}const R=L=>{if(L.target&&!y.current){let q=function(){r.removeEventListener("click",m.current);const Q=E();b(),Q||ky(wS,g,I,{discrete:!0})};if(!d(L.target)){r.removeEventListener("click",m.current),b(),y.current=!1;return}const I={originalEvent:L};p.current=!0,u.current=o&&L.button===0,x.current.clear(),!o||L.button!==0?q():(r.removeEventListener("click",m.current),m.current=q,r.addEventListener("click",m.current,{once:!0}))}else r.removeEventListener("click",m.current),b();y.current=!1},j=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const L of j)r.addEventListener(L,C,!0),r.addEventListener(L,T);const U=window.setTimeout(()=>{r.addEventListener("pointerdown",R)},0);return()=>{window.clearTimeout(U),r.removeEventListener("pointerdown",R),r.removeEventListener("click",m.current);for(const L of j)r.removeEventListener(L,C,!0),r.removeEventListener(L,T)}},[r,g,o,u,f,d]),{onPointerDownCapture:()=>y.current=!0}}function RS(n,i=globalThis?.document){const r=aa(n),o=S.useRef(!1);return S.useEffect(()=>{const u=f=>{f.target&&!o.current&&ky(ES,r,{originalEvent:f},{discrete:!1})};return i.addEventListener("focusin",u),()=>i.removeEventListener("focusin",u)},[i,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Ov(){const n=new CustomEvent(Mf);document.dispatchEvent(n)}function ky(n,i,r,{discrete:o}){const u=r.originalEvent.target,f=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:r});i&&u.addEventListener(n,i,{once:!0}),o?Oy(u,f):u.dispatchEvent(f)}var tf="focusScope.autoFocusOnMount",nf="focusScope.autoFocusOnUnmount",Nv={bubbles:!1,cancelable:!0},jS="FocusScope",Ly=S.forwardRef((n,i)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:u,onUnmountAutoFocus:f,...d}=n,[g,y]=S.useState(null),p=aa(u),x=aa(f),m=S.useRef(null),b=ht(i,y),E=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(o){let T=function(L){if(E.paused||!g)return;const q=L.target;g.contains(q)?m.current=q:za(m.current,{select:!0})},R=function(L){if(E.paused||!g)return;const q=L.relatedTarget;q!==null&&(g.contains(q)||za(m.current,{select:!0}))},j=function(L){if(document.activeElement===document.body)for(const I of L)I.removedNodes.length>0&&za(g)};document.addEventListener("focusin",T),document.addEventListener("focusout",R);const U=new MutationObserver(j);return g&&U.observe(g,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",T),document.removeEventListener("focusout",R),U.disconnect()}}},[o,g,E.paused]),S.useEffect(()=>{if(g){Dv.add(E);const T=document.activeElement;if(!g.contains(T)){const j=new CustomEvent(tf,Nv);g.addEventListener(tf,p),g.dispatchEvent(j),j.defaultPrevented||(OS(kS(Uy(g)),{select:!0}),document.activeElement===T&&za(g))}return()=>{g.removeEventListener(tf,p),setTimeout(()=>{const j=new CustomEvent(nf,Nv);g.addEventListener(nf,x),g.dispatchEvent(j),j.defaultPrevented||za(T??document.body,{select:!0}),g.removeEventListener(nf,x),Dv.remove(E)},0)}}},[g,p,x,E]);const C=S.useCallback(T=>{if(!r&&!o||E.paused)return;const R=T.key==="Tab"&&!T.altKey&&!T.ctrlKey&&!T.metaKey,j=document.activeElement;if(R&&j){const U=T.currentTarget,[L,q]=NS(U);L&&q?!T.shiftKey&&j===q?(T.preventDefault(),r&&za(L,{select:!0})):T.shiftKey&&j===L&&(T.preventDefault(),r&&za(q,{select:!0})):j===U&&T.preventDefault()}},[r,o,E.paused]);return h.jsx(wt.div,{tabIndex:-1,...d,ref:b,onKeyDown:C})});Ly.displayName=jS;function OS(n,{select:i=!1}={}){const r=document.activeElement;for(const o of n)if(za(o,{select:i}),document.activeElement!==r)return}function NS(n){const i=Uy(n),r=_v(i,n),o=_v(i.reverse(),n);return[r,o]}function Uy(n){const i=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const u=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||u?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)i.push(r.currentNode);return i}function _v(n,i){const r=typeof i.checkVisibility=="function"&&i.checkVisibility({checkVisibilityCSS:!0});for(const o of n)if(!(r?!o.checkVisibility({checkVisibilityCSS:!0}):_S(o,{upTo:i})))return o}function _S(n,{upTo:i}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(i!==void 0&&n===i)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function DS(n){return n instanceof HTMLInputElement&&"select"in n}function za(n,{select:i=!1}={}){if(n&&n.focus){const r=document.activeElement;n.focus({preventScroll:!0}),n!==r&&DS(n)&&i&&n.select()}}var Dv=zS();function zS(){let n=[];return{add(i){const r=n[0];i!==r&&r?.pause(),n=zv(n,i),n.unshift(i)},remove(i){n=zv(n,i),n[0]?.resume()}}}function zv(n,i){const r=[...n],o=r.indexOf(i);return o!==-1&&r.splice(o,1),r}function kS(n){return n.filter(i=>i.tagName!=="A")}var LS="Portal",Xf=S.forwardRef((n,i)=>{const{container:r,...o}=n,[u,f]=S.useState(!1);_n(()=>f(!0),[]);const d=r||u&&globalThis?.document?.body;return d?Es.createPortal(h.jsx(wt.div,{...o,ref:i}),d):null});Xf.displayName=LS;var $o=0,ii=null;function US(){S.useEffect(()=>{ii||(ii={start:kv(),end:kv()});const{start:n,end:i}=ii;return document.body.firstElementChild!==n&&document.body.insertAdjacentElement("afterbegin",n),document.body.lastElementChild!==i&&document.body.insertAdjacentElement("beforeend",i),$o++,()=>{$o===1&&(ii?.start.remove(),ii?.end.remove(),ii=null),$o=Math.max(0,$o-1)}},[])}function kv(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var On=function(){return On=Object.assign||function(i){for(var r,o=1,u=arguments.length;o"u")return ew;var i=tw(n),r=document.documentElement.clientWidth,o=window.innerWidth;return{left:i[0],top:i[1],right:i[2],gap:Math.max(0,o-r+i[2]-i[0])}},aw=Gy(),fi="data-scroll-locked",lw=function(n,i,r,o){var u=n.left,f=n.top,d=n.right,g=n.gap;return r===void 0&&(r="margin"),` + .`.concat(BS,` { + overflow: hidden `).concat(o,`; + padding-right: `).concat(g,"px ").concat(o,`; + } + body[`).concat(fi,`] { + overflow: hidden `).concat(o,`; + overscroll-behavior: contain; + `).concat([i&&"position: relative ".concat(o,";"),r==="margin"&&` + padding-left: `.concat(u,`px; + padding-top: `).concat(f,`px; + padding-right: `).concat(d,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(g,"px ").concat(o,`; + `),r==="padding"&&"padding-right: ".concat(g,"px ").concat(o,";")].filter(Boolean).join(""),` + } + + .`).concat(os,` { + right: `).concat(g,"px ").concat(o,`; + } + + .`).concat(ss,` { + margin-right: `).concat(g,"px ").concat(o,`; + } + + .`).concat(os," .").concat(os,` { + right: 0 `).concat(o,`; + } + + .`).concat(ss," .").concat(ss,` { + margin-right: 0 `).concat(o,`; + } + + body[`).concat(fi,`] { + `).concat(qS,": ").concat(g,`px; + } +`)},Uv=function(){var n=parseInt(document.body.getAttribute(fi)||"0",10);return isFinite(n)?n:0},iw=function(){S.useEffect(function(){return document.body.setAttribute(fi,(Uv()+1).toString()),function(){var n=Uv()-1;n<=0?document.body.removeAttribute(fi):document.body.setAttribute(fi,n.toString())}},[])},rw=function(n){var i=n.noRelative,r=n.noImportant,o=n.gapMode,u=o===void 0?"margin":o;iw();var f=S.useMemo(function(){return nw(u)},[u]);return S.createElement(aw,{styles:lw(f,!i,u,r?"":"!important")})},Af=!1;if(typeof window<"u")try{var Jo=Object.defineProperty({},"passive",{get:function(){return Af=!0,!0}});window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Af=!1}var ri=Af?{passive:!1}:!1,ow=function(n){return n.tagName==="TEXTAREA"},Yy=function(n,i){if(!(n instanceof Element))return!1;var r=window.getComputedStyle(n);return r[i]!=="hidden"&&!(r.overflowY===r.overflowX&&!ow(n)&&r[i]==="visible")},sw=function(n){return Yy(n,"overflowY")},cw=function(n){return Yy(n,"overflowX")},Hv=function(n,i){var r=i.ownerDocument,o=i;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var u=Qy(n,o);if(u){var f=Vy(n,o),d=f[1],g=f[2];if(d>g)return!0}o=o.parentNode}while(o&&o!==r.body);return!1},uw=function(n){var i=n.scrollTop,r=n.scrollHeight,o=n.clientHeight;return[i,r,o]},fw=function(n){var i=n.scrollLeft,r=n.scrollWidth,o=n.clientWidth;return[i,r,o]},Qy=function(n,i){return n==="v"?sw(i):cw(i)},Vy=function(n,i){return n==="v"?uw(i):fw(i)},dw=function(n,i){return n==="h"&&i==="rtl"?-1:1},hw=function(n,i,r,o,u){var f=dw(n,window.getComputedStyle(i).direction),d=f*o,g=r.target,y=i.contains(g),p=!1,x=d>0,m=0,b=0;do{if(!g)break;var E=Vy(n,g),C=E[0],T=E[1],R=E[2],j=T-R-f*C;(C||j)&&Qy(n,g)&&(m+=j,b+=C);var U=g.parentNode;g=U&&U.nodeType===Node.DOCUMENT_FRAGMENT_NODE?U.host:U}while(!y&&g!==document.body||y&&(i.contains(g)||i===g));return(x&&Math.abs(m)<1||!x&&Math.abs(b)<1)&&(p=!0),p},Wo=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},Bv=function(n){return[n.deltaX,n.deltaY]},qv=function(n){return n&&"current"in n?n.current:n},mw=function(n,i){return n[0]===i[0]&&n[1]===i[1]},pw=function(n){return` + .block-interactivity-`.concat(n,` {pointer-events: none;} + .allow-interactivity-`).concat(n,` {pointer-events: all;} +`)},vw=0,oi=[];function yw(n){var i=S.useRef([]),r=S.useRef([0,0]),o=S.useRef(),u=S.useState(vw++)[0],f=S.useState(Gy)[0],d=S.useRef(n);S.useEffect(function(){d.current=n},[n]),S.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(u));var T=HS([n.lockRef.current],(n.shards||[]).map(qv),!0).filter(Boolean);return T.forEach(function(R){return R.classList.add("allow-interactivity-".concat(u))}),function(){document.body.classList.remove("block-interactivity-".concat(u)),T.forEach(function(R){return R.classList.remove("allow-interactivity-".concat(u))})}}},[n.inert,n.lockRef.current,n.shards]);var g=S.useCallback(function(T,R){if("touches"in T&&T.touches.length===2||T.type==="wheel"&&T.ctrlKey)return!d.current.allowPinchZoom;var j=Wo(T),U=r.current,L="deltaX"in T?T.deltaX:U[0]-j[0],q="deltaY"in T?T.deltaY:U[1]-j[1],I,Q=T.target,V=Math.abs(L)>Math.abs(q)?"h":"v";if("touches"in T&&V==="h"&&Q.type==="range")return!1;var H=window.getSelection(),re=H&&H.anchorNode,se=re?re===Q||re.contains(Q):!1;if(se)return!1;var ae=Hv(V,Q);if(!ae)return!0;if(ae?I=V:(I=V==="v"?"h":"v",ae=Hv(V,Q)),!ae)return!1;if(!o.current&&"changedTouches"in T&&(L||q)&&(o.current=I),!I)return!0;var de=o.current||I;return hw(de,R,T,de==="h"?L:q)},[]),y=S.useCallback(function(T){var R=T;if(!(!oi.length||oi[oi.length-1]!==f)){var j="deltaY"in R?Bv(R):Wo(R),U=i.current.filter(function(I){return I.name===R.type&&(I.target===R.target||R.target===I.shadowParent)&&mw(I.delta,j)})[0];if(U&&U.should){R.cancelable&&R.preventDefault();return}if(!U){var L=(d.current.shards||[]).map(qv).filter(Boolean).filter(function(I){return I.contains(R.target)}),q=L.length>0?g(R,L[0]):!d.current.noIsolation;q&&R.cancelable&&R.preventDefault()}}},[]),p=S.useCallback(function(T,R,j,U){var L={name:T,delta:R,target:j,should:U,shadowParent:gw(j)};i.current.push(L),setTimeout(function(){i.current=i.current.filter(function(q){return q!==L})},1)},[]),x=S.useCallback(function(T){r.current=Wo(T),o.current=void 0},[]),m=S.useCallback(function(T){p(T.type,Bv(T),T.target,g(T,n.lockRef.current))},[]),b=S.useCallback(function(T){p(T.type,Wo(T),T.target,g(T,n.lockRef.current))},[]);S.useEffect(function(){return oi.push(f),n.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:b}),document.addEventListener("wheel",y,ri),document.addEventListener("touchmove",y,ri),document.addEventListener("touchstart",x,ri),function(){oi=oi.filter(function(T){return T!==f}),document.removeEventListener("wheel",y,ri),document.removeEventListener("touchmove",y,ri),document.removeEventListener("touchstart",x,ri)}},[]);var E=n.removeScrollBar,C=n.inert;return S.createElement(S.Fragment,null,C?S.createElement(f,{styles:pw(u)}):null,E?S.createElement(rw,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function gw(n){for(var i=null;n!==null;)n instanceof ShadowRoot&&(i=n.host,n=n.host),n=n.parentNode;return i}const bw=FS(qy,yw);var Xy=S.forwardRef(function(n,i){return S.createElement(Cs,On({},n,{ref:i,sideCar:bw}))});Xy.classNames=Cs.classNames;var xw=function(n){if(typeof document>"u")return null;var i=Array.isArray(n)?n[0]:n;return i.ownerDocument.body},si=new WeakMap,es=new WeakMap,ts={},of=0,Ky=function(n){return n&&(n.host||Ky(n.parentNode))},Sw=function(n,i){return i.map(function(r){if(n.contains(r))return r;var o=Ky(r);return o&&n.contains(o)?o:(console.error("aria-hidden",r,"in not contained inside",n,". Doing nothing"),null)}).filter(function(r){return!!r})},ww=function(n,i,r,o){var u=Sw(i,Array.isArray(n)?n:[n]);ts[r]||(ts[r]=new WeakMap);var f=ts[r],d=[],g=new Set,y=new Set(u),p=function(m){!m||g.has(m)||(g.add(m),p(m.parentNode))};u.forEach(p);var x=function(m){!m||y.has(m)||Array.prototype.forEach.call(m.children,function(b){if(g.has(b))x(b);else try{var E=b.getAttribute(o),C=E!==null&&E!=="false",T=(si.get(b)||0)+1,R=(f.get(b)||0)+1;si.set(b,T),f.set(b,R),d.push(b),T===1&&C&&es.set(b,!0),R===1&&b.setAttribute(r,"true"),C||b.setAttribute(o,"true")}catch(j){console.error("aria-hidden: cannot operate on ",b,j)}})};return x(i),g.clear(),of++,function(){d.forEach(function(m){var b=si.get(m)-1,E=f.get(m)-1;si.set(m,b),f.set(m,E),b||(es.has(m)||m.removeAttribute(o),es.delete(m)),E||m.removeAttribute(r)}),of--,of||(si=new WeakMap,si=new WeakMap,es=new WeakMap,ts={})}},Ew=function(n,i,r){r===void 0&&(r="data-aria-hidden");var o=Array.from(Array.isArray(n)?n:[n]),u=xw(n);return u?(o.push.apply(o,Array.from(u.querySelectorAll("[aria-live], script"))),ww(o,u,r,"aria-hidden")):function(){return null}};function Cw(n){const[i,r]=S.useState(void 0);return _n(()=>{if(n){r({width:n.offsetWidth,height:n.offsetHeight});const o=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const f=u[0];let d,g;if("borderBoxSize"in f){const y=f.borderBoxSize,p=Array.isArray(y)?y[0]:y;d=p.inlineSize,g=p.blockSize}else d=n.offsetWidth,g=n.offsetHeight;r({width:d,height:g})});return o.observe(n,{box:"border-box"}),()=>o.unobserve(n)}else r(void 0)},[n]),i}const Tw=["top","right","bottom","left"],La=Math.min,ta=Math.max,ps=Math.round,ns=Math.floor,na=n=>({x:n,y:n}),Mw={left:"right",right:"left",bottom:"top",top:"bottom"};function Fy(n,i,r){return ta(n,La(i,r))}function la(n,i){return typeof n=="function"?n(i):n}function Ua(n){return n.split("-")[0]}function vi(n){return n.split("-")[1]}function Kf(n){return n==="x"?"y":"x"}function Ff(n){return n==="y"?"height":"width"}function Nn(n){const i=n[0];return i==="t"||i==="b"?"y":"x"}function Zf(n){return Kf(Nn(n))}function Aw(n,i,r){r===void 0&&(r=!1);const o=vi(n),u=Zf(n),f=Ff(u);let d=u==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return i.reference[f]>i.floating[f]&&(d=vs(d)),[d,vs(d)]}function Rw(n){const i=vs(n);return[Rf(n),i,Rf(i)]}function Rf(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const Gv=["left","right"],Yv=["right","left"],jw=["top","bottom"],Ow=["bottom","top"];function Nw(n,i,r){switch(n){case"top":case"bottom":return r?i?Yv:Gv:i?Gv:Yv;case"left":case"right":return i?jw:Ow;default:return[]}}function _w(n,i,r,o){const u=vi(n);let f=Nw(Ua(n),r==="start",o);return u&&(f=f.map(d=>d+"-"+u),i&&(f=f.concat(f.map(Rf)))),f}function vs(n){const i=Ua(n);return Mw[i]+n.slice(i.length)}function Dw(n){var i,r,o,u;return{top:(i=n.top)!=null?i:0,right:(r=n.right)!=null?r:0,bottom:(o=n.bottom)!=null?o:0,left:(u=n.left)!=null?u:0}}function Zy(n){return typeof n!="number"?Dw(n):{top:n,right:n,bottom:n,left:n}}function ys(n){const{x:i,y:r,width:o,height:u}=n;return{width:o,height:u,top:r,left:i,right:i+o,bottom:r+u,x:i,y:r}}function Qv(n,i,r){let{reference:o,floating:u}=n;const f=Nn(i),d=Zf(i),g=Ff(d),y=Ua(i),p=f==="y",x=o.x+o.width/2-u.width/2,m=o.y+o.height/2-u.height/2,b=o[g]/2-u[g]/2;let E;switch(y){case"top":E={x,y:o.y-u.height};break;case"bottom":E={x,y:o.y+o.height};break;case"right":E={x:o.x+o.width,y:m};break;case"left":E={x:o.x-u.width,y:m};break;default:E={x:o.x,y:o.y}}const C=vi(i);return C&&(E[d]+=b*(C==="end"?1:-1)*(r&&p?-1:1)),E}async function zw(n,i){var r;i===void 0&&(i={});const{x:o,y:u,platform:f,rects:d,elements:g,strategy:y}=n,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:m="floating",altBoundary:b=!1,padding:E=0}=la(i,n),C=Zy(E),R=g[b?m==="floating"?"reference":"floating":m],j=ys(await f.getClippingRect({element:(r=await(f.isElement==null?void 0:f.isElement(R)))==null||r?R:R.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(g.floating)),boundary:p,rootBoundary:x,strategy:y})),U=m==="floating"?{x:o,y:u,width:d.floating.width,height:d.floating.height}:d.reference,L=await(f.getOffsetParent==null?void 0:f.getOffsetParent(g.floating)),q=await(f.isElement==null?void 0:f.isElement(L))&&await(f.getScale==null?void 0:f.getScale(L))||{x:1,y:1},I=ys(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:g,rect:U,offsetParent:L,strategy:y}):U);return{top:(j.top-I.top+C.top)/q.y,bottom:(I.bottom-j.bottom+C.bottom)/q.y,left:(j.left-I.left+C.left)/q.x,right:(I.right-j.right+C.right)/q.x}}const kw=50,Lw=async(n,i,r)=>{const{placement:o="bottom",strategy:u="absolute",middleware:f=[],platform:d}=r,g=d.detectOverflow?d:{...d,detectOverflow:zw},y=await(d.isRTL==null?void 0:d.isRTL(i));let p=await d.getElementRects({reference:n,floating:i,strategy:u}),{x,y:m}=Qv(p,o,y),b=o,E=0;const C={};for(let T=0;T({name:"arrow",options:n,async fn(i){const{x:r,y:o,placement:u,rects:f,platform:d,elements:g,middlewareData:y}=i,{element:p,padding:x=0}=la(n,i)||{};if(p==null)return{};const m=Zy(x),b={x:r,y:o},E=Zf(u),C=Ff(E),T=await d.getDimensions(p),R=E==="y",j=R?"top":"left",U=R?"bottom":"right",L=R?"clientHeight":"clientWidth",q=f.reference[C]+f.reference[E]-b[E]-f.floating[C],I=b[E]-f.reference[E],Q=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let V=Q?Q[L]:0;(!V||!await(d.isElement==null?void 0:d.isElement(Q)))&&(V=g.floating[L]||f.floating[C]);const H=q/2-I/2,re=V/2-T[C]/2-1,se=La(m[j],re),ae=La(m[U],re),de=V-T[C]-ae,ce=V/2-T[C]/2+H,be=Fy(se,ce,de),he=!y.arrow&&vi(u)!=null&&ce!==be&&f.reference[C]/2-(cebe<=0)){var ae,de;const be=(((ae=f.flip)==null?void 0:ae.index)||0)+1,he=V[be];if(he&&(!(m==="alignment"?U!==Nn(he):!1)||se.every($=>Nn($.placement)===U?$.overflows[0]>0:!0)))return{data:{index:be,overflows:se},reset:{placement:he}};let N=(de=se.filter(X=>X.overflows[0]<=0).sort((X,$)=>X.overflows[1]-$.overflows[1])[0])==null?void 0:de.placement;if(!N)switch(E){case"bestFit":{var ce;const X=(ce=se.filter($=>{if(Q){const J=Nn($.placement);return J===U||J==="y"}return!0}).map($=>[$.placement,$.overflows.filter(J=>J>0).reduce((J,P)=>J+P,0)]).sort(($,J)=>$[1]-J[1])[0])==null?void 0:ce[0];X&&(N=X);break}case"initialPlacement":N=g;break}if(u!==N)return{reset:{placement:N}}}return{}}}};function Vv(n,i){return{top:n.top-i.height,right:n.right-i.width,bottom:n.bottom-i.height,left:n.left-i.width}}function Xv(n){return Tw.some(i=>n[i]>=0)}const Bw=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(i){const{rects:r,platform:o}=i,{strategy:u="referenceHidden",...f}=la(n,i);switch(u){case"referenceHidden":{const d=await o.detectOverflow(i,{...f,elementContext:"reference"}),g=Vv(d,r.reference);return{data:{referenceHiddenOffsets:g,referenceHidden:Xv(g)}}}case"escaped":{const d=await o.detectOverflow(i,{...f,altBoundary:!0}),g=Vv(d,r.floating);return{data:{escapedOffsets:g,escaped:Xv(g)}}}default:return{}}}}},Py=new Set(["left","top"]);async function qw(n,i){const{placement:r,platform:o,elements:u}=n,f=await(o.isRTL==null?void 0:o.isRTL(u.floating)),d=Ua(r),g=vi(r),y=Nn(r)==="y",p=Py.has(d)?-1:1,x=f&&y?-1:1,m=la(i,n);let{mainAxis:b,crossAxis:E,alignmentAxis:C}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return g&&typeof C=="number"&&(E=g==="end"?C*-1:C),y?{x:E*x,y:b*p}:{x:b*p,y:E*x}}const Gw=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(i){var r,o;const{x:u,y:f,placement:d,middlewareData:g}=i,y=await qw(i,n);return d===((r=g.offset)==null?void 0:r.placement)&&(o=g.arrow)!=null&&o.alignmentOffset?{}:{x:u+y.x,y:f+y.y,data:{...y,placement:d}}}}},Yw=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(i){const{x:r,y:o,placement:u,platform:f}=i,{mainAxis:d=!0,crossAxis:g=!1,limiter:y={fn:U=>{let{x:L,y:q}=U;return{x:L,y:q}}},...p}=la(n,i),x={x:r,y:o},m=await f.detectOverflow(i,p),b=Nn(u),E=Kf(b);let C=x[E],T=x[b];const R=(U,L)=>Fy(L+m[U==="y"?"top":"left"],L,L-m[U==="y"?"bottom":"right"]);d&&(C=R(E,C)),g&&(T=R(b,T));const j=y.fn({...i,[E]:C,[b]:T});return{...j,data:{x:j.x-r,y:j.y-o,enabled:{[E]:d,[b]:g}}}}}},Qw=function(n){return n===void 0&&(n={}),{options:n,fn(i){var r,o;const{x:u,y:f,placement:d,rects:g,middlewareData:y}=i,{offset:p=0,mainAxis:x=!0,crossAxis:m=!0}=la(n,i),b={x:u,y:f},E=Nn(d),C=Kf(E);let T=b[C],R=b[E];const j=la(p,i),U=typeof j=="number"?{mainAxis:j,crossAxis:0}:{mainAxis:(r=j.mainAxis)!=null?r:0,crossAxis:(o=j.crossAxis)!=null?o:0};if(x){const I=C==="y"?"height":"width",Q=g.reference[C]-g.floating[I]+U.mainAxis,V=g.reference[C]+g.reference[I]-U.mainAxis;TV&&(T=V)}if(m){var L,q;const I=C==="y"?"width":"height",Q=Py.has(Ua(d)),V=g.reference[E]-g.floating[I]+(Q&&((L=y.offset)==null?void 0:L[E])||0)+(Q?0:U.crossAxis),H=g.reference[E]+g.reference[I]+(Q?0:((q=y.offset)==null?void 0:q[E])||0)-(Q?U.crossAxis:0);RH&&(R=H)}return{[C]:T,[E]:R}}}},Vw=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(i){const{placement:r,rects:o,platform:u,elements:f}=i,{apply:d=()=>{},...g}=la(n,i),y=await u.detectOverflow(i,g),p=Ua(r),x=vi(r),m=Nn(r)==="y",{width:b,height:E}=o.floating;let C,T;p==="top"||p==="bottom"?(C=p,T=x===(await(u.isRTL==null?void 0:u.isRTL(f.floating))?"start":"end")?"left":"right"):(T=p,C=x==="end"?"top":"bottom");const R=E-y.top-y.bottom,j=b-y.left-y.right,U=La(E-y[C],R),L=La(b-y[T],j),q=i.middlewareData.shift,I=!q;let Q=U,V=L;q!=null&&q.enabled.x&&(V=j),q!=null&&q.enabled.y&&(Q=R),I&&!x&&(m?V=b-2*ta(y.left,y.right):Q=E-2*ta(y.top,y.bottom)),await d({...i,availableWidth:V,availableHeight:Q});const H=await u.getDimensions(f.floating);return b!==H.width||E!==H.height?{reset:{rects:!0}}:{}}}};function Ts(){return typeof window<"u"}function yi(n){return Iy(n)?(n.nodeName||"").toLowerCase():"#document"}function Xt(n){var i;return(n==null||(i=n.ownerDocument)==null?void 0:i.defaultView)||window}function ia(n){var i;return(i=(Iy(n)?n.ownerDocument:n.document)||window.document)==null?void 0:i.documentElement}function Iy(n){return Ts()?n instanceof Node||n instanceof Xt(n).Node:!1}function Dn(n){return Ts()?n instanceof Element||n instanceof Xt(n).Element:!1}function Ha(n){return Ts()?n instanceof HTMLElement||n instanceof Xt(n).HTMLElement:!1}function Kv(n){return!Ts()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof Xt(n).ShadowRoot}function Ms(n){const{overflow:i,overflowX:r,overflowY:o,display:u}=zn(n);return/auto|scroll|overlay|hidden|clip/.test(i+o+r)&&u!=="inline"&&u!=="contents"}function Xw(n){return/^(table|td|th)$/.test(yi(n))}function As(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const Kw=/transform|translate|scale|rotate|perspective|filter/,Fw=/paint|layout|strict|content/,cl=n=>!!n&&n!=="none";let sf;function Pf(n){const i=Dn(n)?zn(n):n;return cl(i.transform)||cl(i.translate)||cl(i.scale)||cl(i.rotate)||cl(i.perspective)||!If()&&(cl(i.backdropFilter)||cl(i.filter))||Kw.test(i.willChange||"")||Fw.test(i.contain||"")}function Zw(n){let i=dl(n);for(;Ha(i)&&!br(i);){if(Pf(i))return i;if(As(i))return null;i=dl(i)}return null}function If(){return sf==null&&(sf=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),sf}function br(n){return/^(html|body|#document)$/.test(yi(n))}function zn(n){return Xt(n).getComputedStyle(n)}function Rs(n){return Dn(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function dl(n){if(yi(n)==="html")return n;const i=n.assignedSlot||n.parentNode||Kv(n)&&n.host||ia(n);return Kv(i)?i.host:i}function $y(n){const i=dl(n);return br(i)?(n.ownerDocument||n).body:Ha(i)&&Ms(i)?i:$y(i)}function xr(n,i,r){var o;i===void 0&&(i=[]),r===void 0&&(r=!0);const u=$y(n),f=u===((o=n.ownerDocument)==null?void 0:o.body),d=Xt(u);if(f){const g=jf(d);return i.concat(d,d.visualViewport||[],Ms(u)?u:[],g&&r?xr(g):[])}else return i.concat(u,xr(u,[],r))}function jf(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function Jy(n){const i=zn(n);let r=parseFloat(i.width)||0,o=parseFloat(i.height)||0;const u=Ha(n),f=u?n.offsetWidth:r,d=u?n.offsetHeight:o,g=ps(r)!==f||ps(o)!==d;return g&&(r=f,o=d),{width:r,height:o,$:g}}function $f(n){return Dn(n)?n:n.contextElement}function di(n){const i=$f(n);if(!Ha(i))return na(1);const r=i.getBoundingClientRect(),{width:o,height:u,$:f}=Jy(i);let d=(f?ps(r.width):r.width)/o,g=(f?ps(r.height):r.height)/u;return(!d||!Number.isFinite(d))&&(d=1),(!g||!Number.isFinite(g))&&(g=1),{x:d,y:g}}const Pw=na(0);function Wy(n){const i=Xt(n);return!If()||!i.visualViewport?Pw:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function Iw(n,i,r){return i===void 0&&(i=!1),!!r&&i&&r===Xt(n)}function hl(n,i,r,o){i===void 0&&(i=!1),r===void 0&&(r=!1);const u=n.getBoundingClientRect(),f=$f(n);let d=na(1);i&&(o?Dn(o)&&(d=di(o)):d=di(n));const g=Iw(f,r,o)?Wy(f):na(0);let y=(u.left+g.x)/d.x,p=(u.top+g.y)/d.y,x=u.width/d.x,m=u.height/d.y;if(f&&o){const b=Xt(f),E=Dn(o)?Xt(o):o;let C=b,T=jf(C);for(;T&&E!==C;){const R=di(T),j=T.getBoundingClientRect(),U=zn(T),L=j.left+(T.clientLeft+parseFloat(U.paddingLeft))*R.x,q=j.top+(T.clientTop+parseFloat(U.paddingTop))*R.y;y*=R.x,p*=R.y,x*=R.x,m*=R.y,y+=L,p+=q,C=Xt(T),T=jf(C)}}return ys({width:x,height:m,x:y,y:p})}function js(n,i){const r=Rs(n).scrollLeft;return i?i.left+r:hl(ia(n)).left+r}function eg(n,i){const r=n.getBoundingClientRect(),o=r.left+i.scrollLeft-js(n,r),u=r.top+i.scrollTop;return{x:o,y:u}}function $w(n){let{elements:i,rect:r,offsetParent:o,strategy:u}=n;const f=u==="fixed",d=ia(o),g=i?As(i.floating):!1;if(o===d||g&&f)return r;let y={scrollLeft:0,scrollTop:0},p=na(1);const x=na(0),m=Ha(o);if((m||!f)&&((yi(o)!=="body"||Ms(d))&&(y=Rs(o)),m)){const E=hl(o);p=di(o),x.x=E.x+o.clientLeft,x.y=E.y+o.clientTop}const b=d&&!m&&!f?eg(d,y):na(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-y.scrollLeft*p.x+x.x+b.x,y:r.y*p.y-y.scrollTop*p.y+x.y+b.y}}function Jw(n){return n.getClientRects?Array.from(n.getClientRects()):[]}function Ww(n){const i=Rs(n),r=n.ownerDocument.body,o=ta(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),u=ta(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight);let f=-i.scrollLeft+js(n);const d=-i.scrollTop;return zn(r).direction==="rtl"&&(f+=ta(n.clientWidth,r.clientWidth)-o),{width:o,height:u,x:f,y:d}}const eE=25;function tE(n,i,r){r===void 0&&(r="viewport");const o=r==="layoutViewport",u=Xt(n),f=ia(n),d=u.visualViewport;let g=f.clientWidth,y=f.clientHeight,p=0,x=0;if(d){const b=!If()||i==="fixed";o?b||(p=-d.offsetLeft,x=-d.offsetTop):(g=d.width,y=d.height,b&&(p=d.offsetLeft,x=d.offsetTop))}if(js(f)<=0){const b=f.ownerDocument,E=b.body,C=getComputedStyle(E),T=b.compatMode==="CSS1Compat"&&parseFloat(C.marginLeft)+parseFloat(C.marginRight)||0,R=Math.abs(f.clientWidth-E.clientWidth-T),j=getComputedStyle(f).scrollbarGutter==="stable both-edges"?R/2:R;j<=eE&&(g-=j)}return{width:g,height:y,x:p,y:x}}function nE(n,i){const r=hl(n,!0,i==="fixed"),o=r.top+n.clientTop,u=r.left+n.clientLeft,f=di(n),d=n.clientWidth*f.x,g=n.clientHeight*f.y,y=u*f.x,p=o*f.y;return{width:d,height:g,x:y,y:p}}function Fv(n,i,r){let o;if(i==="viewport"||i==="layoutViewport")o=tE(n,r,i);else if(i==="document")o=Ww(ia(n));else if(Dn(i))o=nE(i,r);else{const u=Wy(n);o={x:i.x-u.x,y:i.y-u.y,width:i.width,height:i.height}}return ys(o)}function aE(n,i){const r=i.get(n);if(r)return r;let o=xr(n,[],!1).filter(g=>Dn(g)&&yi(g)!=="body"),u=null;const f=zn(n).position==="fixed";let d=f?dl(n):n;for(;Dn(d)&&!br(d);){const g=zn(d),y=Pf(d),p=u?u.position:f?"fixed":"";!y&&(p==="fixed"||p==="absolute"&&g.position==="static")?o=o.filter(m=>m!==d):u=g,d=dl(d)}return i.set(n,o),o}function lE(n){let{element:i,boundary:r,rootBoundary:o,strategy:u}=n;const d=[...r==="clippingAncestors"?As(i)?[]:aE(i,this._c):[].concat(r),o],g=Fv(i,d[0],u);let y=g.top,p=g.right,x=g.bottom,m=g.left;for(let b=1;b{g(!1,1e-7)},1e3)}V=!1}try{o=new IntersectionObserver(H,{...Q,root:f.ownerDocument})}catch{o=new IntersectionObserver(H,Q)}o.observe(n)}const y=Xt(n),p=()=>g(r);return y.addEventListener("resize",p),g(!0),()=>{y.removeEventListener("resize",p),d()}}function fE(n,i,r,o){o===void 0&&(o={});const{ancestorScroll:u=!0,ancestorResize:f=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:g=typeof IntersectionObserver=="function",animationFrame:y=!1}=o,p=$f(n),x=u||f?[...p?xr(p):[],...i?xr(i):[]]:[];x.forEach(j=>{u&&j.addEventListener("scroll",r),f&&j.addEventListener("resize",r)});const m=p&&g?uE(p,r,f):null;let b=-1,E=null;d&&(E=new ResizeObserver(j=>{let[U]=j;U&&U.target===p&&E&&i&&(E.unobserve(i),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var L;(L=E)==null||L.observe(i)})),r()}),p&&!y&&E.observe(p),i&&E.observe(i));let C,T=y?hl(n):null;y&&R();function R(){const j=hl(n);T&&!ng(T,j)&&r(),T=j,C=requestAnimationFrame(R)}return r(),()=>{var j;x.forEach(U=>{u&&U.removeEventListener("scroll",r),f&&U.removeEventListener("resize",r)}),m?.(),(j=E)==null||j.disconnect(),E=null,y&&cancelAnimationFrame(C)}}const dE=Gw,hE=Yw,mE=Hw,pE=Vw,vE=Bw,Pv=Uw,yE=Qw,gE=(n,i,r)=>{const o=new Map,u=r??{},f={...cE,...u.platform,_c:o};return Lw(n,i,{...u,platform:f})};var bE=typeof document<"u",xE=function(){},cs=bE?S.useLayoutEffect:xE;function gs(n,i){if(n===i)return!0;if(typeof n!=typeof i)return!1;if(typeof n=="function"&&n.toString()===i.toString())return!0;let r,o,u;if(n&&i&&typeof n=="object"){if(Array.isArray(n)){if(r=n.length,r!==i.length)return!1;for(o=r;o--!==0;)if(!gs(n[o],i[o]))return!1;return!0}if(u=Object.keys(n),r=u.length,r!==Object.keys(i).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(i,u[o]))return!1;for(o=r;o--!==0;){const f=u[o];if(!(f==="_owner"&&n.$$typeof)&&!gs(n[f],i[f]))return!1}return!0}return n!==n&&i!==i}function ag(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function Iv(n,i){const r=ag(n);return Math.round(i*r)/r}function uf(n){const i=S.useRef(n);return cs(()=>{i.current=n}),i}function SE(n){n===void 0&&(n={});const{placement:i="bottom",strategy:r="absolute",middleware:o=[],platform:u,elements:{reference:f,floating:d}={},transform:g=!0,whileElementsMounted:y,open:p}=n,[x,m]=S.useState({x:0,y:0,strategy:r,placement:i,middlewareData:{},isPositioned:!1}),[b,E]=S.useState(o);gs(b,o)||E(o);const[C,T]=S.useState(null),[R,j]=S.useState(null),U=S.useCallback($=>{$!==Q.current&&(Q.current=$,T($))},[]),L=S.useCallback($=>{$!==V.current&&(V.current=$,j($))},[]),q=f||C,I=d||R,Q=S.useRef(null),V=S.useRef(null),H=S.useRef(x),re=y!=null,se=uf(y),ae=uf(u),de=uf(p),ce=S.useCallback(()=>{if(!Q.current||!V.current)return;const $={placement:i,strategy:r,middleware:b};ae.current&&($.platform=ae.current),gE(Q.current,V.current,$).then(J=>{const P={...J,isPositioned:de.current!==!1};be.current&&!gs(H.current,P)&&(H.current=P,Es.flushSync(()=>{m(P)}))})},[b,i,r,ae,de]);cs(()=>{p===!1&&H.current.isPositioned&&(H.current.isPositioned=!1,m($=>({...$,isPositioned:!1})))},[p]);const be=S.useRef(!1);cs(()=>(be.current=!0,()=>{be.current=!1}),[]),cs(()=>{if(q&&(Q.current=q),I&&(V.current=I),q&&I){if(se.current)return se.current(q,I,ce);ce()}},[q,I,ce,se,re]);const he=S.useMemo(()=>({reference:Q,floating:V,setReference:U,setFloating:L}),[U,L]),N=S.useMemo(()=>({reference:q,floating:I}),[q,I]),X=S.useMemo(()=>{const $={position:r,left:0,top:0};if(!N.floating)return $;const J=Iv(N.floating,x.x),P=Iv(N.floating,x.y);return g?{...$,transform:"translate("+J+"px, "+P+"px)",...ag(N.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:J,top:P}},[r,g,N.floating,x.x,x.y]);return S.useMemo(()=>({...x,update:ce,refs:he,elements:N,floatingStyles:X}),[x,ce,he,N,X])}const wE=n=>{function i(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:n,fn(r){const{element:o,padding:u}=typeof n=="function"?n(r):n;return o&&i(o)?o.current!=null?Pv({element:o.current,padding:u}).fn(r):{}:o?Pv({element:o,padding:u}).fn(r):{}}}},EE=(n,i)=>{const r=dE(n);return{name:r.name,fn:r.fn,options:[n,i]}},CE=(n,i)=>{const r=hE(n);return{name:r.name,fn:r.fn,options:[n,i]}},TE=(n,i)=>({fn:yE(n).fn,options:[n,i]}),ME=(n,i)=>{const r=mE(n);return{name:r.name,fn:r.fn,options:[n,i]}},AE=(n,i)=>{const r=pE(n);return{name:r.name,fn:r.fn,options:[n,i]}},RE=(n,i)=>{const r=vE(n);return{name:r.name,fn:r.fn,options:[n,i]}},jE=(n,i)=>{const r=wE(n);return{name:r.name,fn:r.fn,options:[n,i]}};var OE="Arrow",lg=S.forwardRef((n,i)=>{const{children:r,width:o=10,height:u=5,...f}=n;return h.jsx(wt.svg,{...f,ref:i,width:o,height:u,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?r:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});lg.displayName=OE;var NE=lg,Jf="Popper",[ig,Os]=pi(Jf),[_E,rg]=ig(Jf),og=n=>{const{__scopePopper:i,children:r}=n,[o,u]=S.useState(null),[f,d]=S.useState(void 0);return h.jsx(_E,{scope:i,anchor:o,onAnchorChange:u,placementState:f,setPlacementState:d,children:r})};og.displayName=Jf;var sg="PopperAnchor",cg=S.forwardRef((n,i)=>{const{__scopePopper:r,virtualRef:o,...u}=n,f=rg(sg,r),d=S.useRef(null),g=f.onAnchorChange,y=S.useCallback(C=>{d.current=C,C&&g(C)},[g]),p=ht(i,y),x=S.useRef(null);S.useEffect(()=>{if(!o)return;const C=x.current;x.current=o.current,C!==x.current&&g(x.current)});const m=f.placementState&&ed(f.placementState),b=m?.[0],E=m?.[1];return o?null:h.jsx(wt.div,{"data-radix-popper-side":b,"data-radix-popper-align":E,...u,ref:p})});cg.displayName=sg;var Wf="PopperContent",[DE,zE]=ig(Wf),ug=S.forwardRef((n,i)=>{const{__scopePopper:r,side:o="bottom",sideOffset:u=0,align:f="center",alignOffset:d=0,arrowPadding:g=0,avoidCollisions:y=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:m="partial",hideWhenDetached:b=!1,updatePositionStrategy:E="optimized",onPlaced:C,...T}=n,R=rg(Wf,r),[j,U]=S.useState(null),L=ht(i,U),[q,I]=S.useState(null),Q=Cw(q),V=Q?.width??0,H=Q?.height??0,re=o+(f!=="center"?"-"+f:""),se=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},ae=Array.isArray(p)?p:[p],de=ae.length>0,ce={padding:se,boundary:ae.filter(LE),altBoundary:de},{refs:be,floatingStyles:he,placement:N,isPositioned:X,middlewareData:$}=SE({strategy:"fixed",placement:re,whileElementsMounted:(...pe)=>fE(...pe,{animationFrame:E==="always"}),elements:{reference:R.anchor},middleware:[EE({mainAxis:u+H,alignmentAxis:d}),y&&CE({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?TE():void 0,...ce}),y&&ME({...ce}),AE({...ce,apply:({elements:pe,rects:ve,availableWidth:mt,availableHeight:st})=>{const{width:Je,height:Mt}=ve.reference,Ze=pe.floating.style;Ze.setProperty("--radix-popper-available-width",`${mt}px`),Ze.setProperty("--radix-popper-available-height",`${st}px`),Ze.setProperty("--radix-popper-anchor-width",`${Je}px`),Ze.setProperty("--radix-popper-anchor-height",`${Mt}px`)}}),q&&jE({element:q,padding:g}),UE({arrowWidth:V,arrowHeight:H}),b&&RE({strategy:"referenceHidden",...ce,boundary:de?ce.boundary:void 0})]}),J=R.setPlacementState;_n(()=>(J(N),()=>{J(void 0)}),[N,J]);const[P,A]=ed(N),G=aa(C);_n(()=>{X&&G?.()},[X,G]);const F=$.arrow?.x,W=$.arrow?.y,ee=$.arrow?.centerOffset!==0,[te,fe]=S.useState();return _n(()=>{j&&fe(window.getComputedStyle(j).zIndex)},[j]),h.jsx("div",{ref:be.setFloating,"data-radix-popper-content-wrapper":"",style:{...he,transform:X?he.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:te,"--radix-popper-transform-origin":[$.transformOrigin?.x,$.transformOrigin?.y].join(" "),...$.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:h.jsx(DE,{scope:r,placedSide:P,placedAlign:A,onArrowChange:I,arrowX:F,arrowY:W,shouldHideArrow:ee,children:h.jsx(wt.div,{"data-side":P,"data-align":A,...T,ref:L,style:{...T.style,animation:X?void 0:"none"}})})})});ug.displayName=Wf;var fg="PopperArrow",kE={top:"bottom",right:"left",bottom:"top",left:"right"},dg=S.forwardRef(function(i,r){const{__scopePopper:o,...u}=i,f=zE(fg,o),d=kE[f.placedSide];return h.jsx("span",{ref:f.onArrowChange,style:{position:"absolute",left:f.arrowX,top:f.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[f.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[f.placedSide],visibility:f.shouldHideArrow?"hidden":void 0},children:h.jsx(NE,{...u,ref:r,style:{...u.style,display:"block"}})})});dg.displayName=fg;function LE(n){return n!==null}var UE=n=>({name:"transformOrigin",options:n,fn(i){const{placement:r,rects:o,middlewareData:u}=i,d=u.arrow?.centerOffset!==0,g=d?0:n.arrowWidth,y=d?0:n.arrowHeight,[p,x]=ed(r),m={start:"0%",center:"50%",end:"100%"}[x],b=(u.arrow?.x??0)+g/2,E=(u.arrow?.y??0)+y/2;let C="",T="";return p==="bottom"?(C=d?m:`${b}px`,T=`${-y}px`):p==="top"?(C=d?m:`${b}px`,T=`${o.floating.height+y}px`):p==="right"?(C=`${-y}px`,T=d?m:`${E}px`):p==="left"&&(C=`${o.floating.width+y}px`,T=d?m:`${E}px`),{data:{x:C,y:T}}}});function ed(n){const[i,r="center"]=n.split("-");return[i,r]}var hg=og,mg=cg,pg=ug,vg=dg,ff=!1;function HE(){const[n,i]=S.useState(ff);return S.useEffect(()=>{ff||(ff=!0,i(!0))},[]),n}var yg=ws[" useSyncExternalStore ".trim().toString()];function BE(){return()=>{}}function qE(){return yg(BE,()=>!0,()=>!1)}var GE=typeof yg=="function"?qE:HE,df="rovingFocusGroup.onEntryFocus",YE={bubbles:!1,cancelable:!0},Or="RovingFocusGroup",[Of,gg,QE]=_y(Or),[VE,bg]=pi(Or,[QE]),[XE,KE]=VE(Or),xg=S.forwardRef((n,i)=>h.jsx(Of.Provider,{scope:n.__scopeRovingFocusGroup,children:h.jsx(Of.Slot,{scope:n.__scopeRovingFocusGroup,children:h.jsx(FE,{...n,ref:i})})}));xg.displayName=Or;var FE=S.forwardRef((n,i)=>{const{__scopeRovingFocusGroup:r,orientation:o,loop:u=!1,dir:f,currentTabStopId:d,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:y,onEntryFocus:p,preventScrollOnEntryFocus:x=!1,...m}=n,b=S.useRef(null),E=ht(i,b),C=Dy(f),[T,R]=Qf({prop:d,defaultProp:g??null,onChange:y,caller:Or}),[j,U]=S.useState(!1),L=aa(p),q=gg(r),I=S.useRef(!1),[Q,V]=S.useState(0);return S.useEffect(()=>{const H=b.current;if(H)return H.addEventListener(df,L),()=>H.removeEventListener(df,L)},[L]),h.jsx(XE,{scope:r,orientation:o,dir:C,loop:u,currentTabStopId:T,onItemFocus:S.useCallback(H=>R(H),[R]),onItemShiftTab:S.useCallback(()=>U(!0),[]),onFocusableItemAdd:S.useCallback(()=>V(H=>H+1),[]),onFocusableItemRemove:S.useCallback(()=>V(H=>H-1),[]),children:h.jsx(wt.div,{tabIndex:j||Q===0?-1:0,"data-orientation":o,...m,ref:E,style:{outline:"none",...n.style},onMouseDown:Te(n.onMouseDown,()=>{I.current=!0}),onFocus:Te(n.onFocus,H=>{const re=!I.current;if(H.target===H.currentTarget&&re&&!j){const se=new CustomEvent(df,YE);if(H.currentTarget.dispatchEvent(se),!se.defaultPrevented){const ae=q().filter(N=>N.focusable),de=ae.find(N=>N.active),ce=ae.find(N=>N.id===T),he=[de,ce,...ae].filter(Boolean).map(N=>N.ref.current);Eg(he,x)}}I.current=!1}),onBlur:Te(n.onBlur,()=>U(!1))})})}),Sg="RovingFocusGroupItem",wg=S.forwardRef((n,i)=>{const{__scopeRovingFocusGroup:r,focusable:o=!0,active:u=!1,tabStopId:f,children:d,...g}=n,y=ms(),p=f||y,x=KE(Sg,r),m=x.currentTabStopId===p,b=gg(r),{onFocusableItemAdd:E,onFocusableItemRemove:C,currentTabStopId:T}=x,R=GE();return _n(()=>{if(!(!R||!o))return E(),()=>C()},[R,o,E,C]),S.useEffect(()=>{if(!(R||!o))return E(),()=>C()},[R,o,E,C]),h.jsx(Of.ItemSlot,{scope:r,id:p,focusable:o,active:u,children:h.jsx(wt.span,{tabIndex:m?0:-1,"data-orientation":x.orientation,...g,ref:i,onMouseDown:Te(n.onMouseDown,j=>{o?x.onItemFocus(p):j.preventDefault()}),onFocus:Te(n.onFocus,()=>x.onItemFocus(p)),onKeyDown:Te(n.onKeyDown,j=>{if(j.key==="Tab"&&j.shiftKey){x.onItemShiftTab();return}if(j.target!==j.currentTarget)return;const U=IE(j,x.orientation,x.dir);if(U!==void 0){if(j.metaKey||j.ctrlKey||j.altKey||j.shiftKey)return;j.preventDefault();let q=b().filter(I=>I.focusable).map(I=>I.ref.current);if(U==="last")q.reverse();else if(U==="prev"||U==="next"){U==="prev"&&q.reverse();const I=q.indexOf(j.currentTarget);q=x.loop?$E(q,I+1):q.slice(I+1)}setTimeout(()=>Eg(q))}}),children:typeof d=="function"?d({isCurrentTabStop:m,hasTabStop:T!=null}):d})})});wg.displayName=Sg;var ZE={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function PE(n,i){return i!=="rtl"?n:n==="ArrowLeft"?"ArrowRight":n==="ArrowRight"?"ArrowLeft":n}function IE(n,i,r){const o=PE(n.key,r);if(!(i==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(i==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return ZE[o]}function Eg(n,i=!1){const r=document.activeElement;for(const o of n)if(o===r||(o.focus({preventScroll:i}),document.activeElement!==r))return}function $E(n,i){return n.map((r,o)=>n[(i+o)%n.length])}var JE=xg,WE=wg,Nf=["Enter"," "],e2=["ArrowDown","PageUp","Home"],Cg=["ArrowUp","PageDown","End"],t2=[...e2,...Cg],n2={ltr:[...Nf,"ArrowRight"],rtl:[...Nf,"ArrowLeft"]},a2={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Nr="Menu",[Sr,l2,i2]=_y(Nr),[pl,Tg]=pi(Nr,[i2,Os,bg]),Ns=Os(),Mg=bg(),[r2,vl]=pl(Nr),[o2,_r]=pl(Nr),Ag=n=>{const{__scopeMenu:i,open:r=!1,children:o,dir:u,onOpenChange:f,modal:d=!0}=n,g=Ns(i),[y,p]=S.useState(null),x=S.useRef(!1),m=aa(f),b=Dy(u);return S.useEffect(()=>{const E=()=>{x.current=!0,document.addEventListener("pointerdown",C,{capture:!0,once:!0}),document.addEventListener("pointermove",C,{capture:!0,once:!0})},C=()=>x.current=!1;return document.addEventListener("keydown",E,{capture:!0}),()=>{document.removeEventListener("keydown",E,{capture:!0}),document.removeEventListener("pointerdown",C,{capture:!0}),document.removeEventListener("pointermove",C,{capture:!0})}},[]),S.useEffect(()=>{if(!r)return;const E=()=>m(!1);return window.addEventListener("blur",E),()=>window.removeEventListener("blur",E)},[r,m]),h.jsx(hg,{...g,children:h.jsx(r2,{scope:i,open:r,onOpenChange:m,content:y,onContentChange:p,children:h.jsx(o2,{scope:i,onClose:S.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:x,dir:b,modal:d,children:o})})})};Ag.displayName=Nr;var s2="MenuAnchor",td=S.forwardRef((n,i)=>{const{__scopeMenu:r,...o}=n,u=Ns(r);return h.jsx(mg,{...u,...o,ref:i})});td.displayName=s2;var nd="MenuPortal",[c2,Rg]=pl(nd,{forceMount:void 0}),jg=n=>{const{__scopeMenu:i,forceMount:r,children:o,container:u}=n,f=vl(nd,i);return h.jsx(c2,{scope:i,forceMount:r,children:h.jsx(ml,{present:r||f.open,children:h.jsx(Xf,{asChild:!0,container:u,children:o})})})};jg.displayName=nd;var mn="MenuContent",[u2,ad]=pl(mn),Og=S.forwardRef((n,i)=>{const r=Rg(mn,n.__scopeMenu),{forceMount:o=r.forceMount,...u}=n,f=vl(mn,n.__scopeMenu),d=_r(mn,n.__scopeMenu);return h.jsx(Sr.Provider,{scope:n.__scopeMenu,children:h.jsx(ml,{present:o||f.open,children:h.jsx(Sr.Slot,{scope:n.__scopeMenu,children:d.modal?h.jsx(f2,{...u,ref:i}):h.jsx(d2,{...u,ref:i})})})})}),f2=S.forwardRef((n,i)=>{const r=vl(mn,n.__scopeMenu),o=S.useRef(null),u=ht(i,o);return S.useEffect(()=>{const f=o.current;if(f)return Ew(f)},[]),h.jsx(ld,{...n,ref:u,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Te(n.onFocusOutside,f=>f.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),d2=S.forwardRef((n,i)=>{const r=vl(mn,n.__scopeMenu);return h.jsx(ld,{...n,ref:i,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),h2=hs("MenuContent.ScrollLock"),ld=S.forwardRef((n,i)=>{const{__scopeMenu:r,loop:o=!1,trapFocus:u,onOpenAutoFocus:f,onCloseAutoFocus:d,disableOutsidePointerEvents:g,onEntryFocus:y,onEscapeKeyDown:p,onPointerDownOutside:x,onFocusOutside:m,onInteractOutside:b,onDismiss:E,disableOutsideScroll:C,...T}=n,R=vl(mn,r),j=_r(mn,r),U=Ns(r),L=Mg(r),q=l2(r),[I,Q]=S.useState(null),V=S.useRef(null),H=ht(i,V,R.onContentChange),re=S.useRef(0),se=S.useRef(""),ae=S.useRef(0),de=S.useRef(null),ce=S.useRef("right"),be=S.useRef(0),he=C?Xy:S.Fragment,N=C?{as:h2,allowPinchZoom:!0}:void 0,X=J=>{const P=se.current+J,A=q().filter(fe=>!fe.disabled),G=document.activeElement,F=A.find(fe=>fe.ref.current===G)?.textValue,W=A.map(fe=>fe.textValue),ee=T2(W,P,F),te=A.find(fe=>fe.textValue===ee)?.ref.current;(function fe(pe){se.current=pe,window.clearTimeout(re.current),pe!==""&&(re.current=window.setTimeout(()=>fe(""),1e3))})(P),te&&setTimeout(()=>te.focus())};S.useEffect(()=>()=>window.clearTimeout(re.current),[]),US();const $=S.useCallback(J=>ce.current===de.current?.side&&A2(J,de.current?.area),[]);return h.jsx(u2,{scope:r,searchRef:se,onItemEnter:S.useCallback(J=>{$(J)&&J.preventDefault()},[$]),onItemLeave:S.useCallback(J=>{$(J)||(V.current?.focus(),Q(null))},[$]),onTriggerLeave:S.useCallback(J=>{$(J)&&J.preventDefault()},[$]),pointerGraceTimerRef:ae,onPointerGraceIntentChange:S.useCallback(J=>{de.current=J},[]),children:h.jsx(he,{...N,children:h.jsx(Ly,{asChild:!0,trapped:u,onMountAutoFocus:Te(f,J=>{J.preventDefault(),V.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:h.jsx(Vf,{asChild:!0,disableOutsidePointerEvents:g,onEscapeKeyDown:p,onPointerDownOutside:x,onFocusOutside:m,onInteractOutside:b,onDismiss:E,children:h.jsx(JE,{asChild:!0,...L,dir:j.dir,orientation:"vertical",loop:o,currentTabStopId:I,onCurrentTabStopIdChange:Q,onEntryFocus:Te(y,J=>{j.isUsingKeyboardRef.current||J.preventDefault()}),preventScrollOnEntryFocus:!0,children:h.jsx(pg,{role:"menu","aria-orientation":"vertical","data-state":Kg(R.open),"data-radix-menu-content":"",dir:j.dir,...U,...T,ref:H,style:{outline:"none",...T.style},onKeyDown:Te(T.onKeyDown,J=>{const A=J.target.closest("[data-radix-menu-content]")===J.currentTarget,G=J.ctrlKey||J.altKey||J.metaKey,F=J.key.length===1;A&&(J.key==="Tab"&&J.preventDefault(),!G&&F&&X(J.key));const W=V.current;if(J.target!==W||!t2.includes(J.key))return;J.preventDefault();const te=q().filter(fe=>!fe.disabled).map(fe=>fe.ref.current);Cg.includes(J.key)&&te.reverse(),E2(te)}),onBlur:Te(n.onBlur,J=>{J.currentTarget.contains(J.target)||(window.clearTimeout(re.current),se.current="")}),onPointerMove:Te(n.onPointerMove,wr(J=>{const P=J.target,A=be.current!==J.clientX;if(J.currentTarget.contains(P)&&A){const G=J.clientX>be.current?"right":"left";ce.current=G,be.current=J.clientX}}))})})})})})})});Og.displayName=mn;var m2="MenuGroup",id=S.forwardRef((n,i)=>{const{__scopeMenu:r,...o}=n;return h.jsx(wt.div,{role:"group",...o,ref:i})});id.displayName=m2;var p2="MenuLabel",Ng=S.forwardRef((n,i)=>{const{__scopeMenu:r,...o}=n;return h.jsx(wt.div,{...o,ref:i})});Ng.displayName=p2;var bs="MenuItem",$v="menu.itemSelect",_s=S.forwardRef((n,i)=>{const{disabled:r=!1,onSelect:o,...u}=n,f=S.useRef(null),d=_r(bs,n.__scopeMenu),g=ad(bs,n.__scopeMenu),y=ht(i,f),p=S.useRef(!1),x=()=>{const m=f.current;if(!r&&m){const b=new CustomEvent($v,{bubbles:!0,cancelable:!0});m.addEventListener($v,E=>o?.(E),{once:!0}),Oy(m,b),b.defaultPrevented?p.current=!1:d.onClose()}};return h.jsx(_g,{...u,ref:y,disabled:r,onClick:Te(n.onClick,x),onPointerDown:m=>{n.onPointerDown?.(m),p.current=!0},onPointerUp:Te(n.onPointerUp,m=>{p.current||m.currentTarget?.click()}),onKeyDown:Te(n.onKeyDown,m=>{r||m.target!==m.currentTarget||g.searchRef.current!==""&&m.key===" "||Nf.includes(m.key)&&(m.currentTarget.click(),m.preventDefault())})})});_s.displayName=bs;var _g=S.forwardRef((n,i)=>{const{__scopeMenu:r,disabled:o=!1,textValue:u,...f}=n,d=ad(bs,r),g=Mg(r),y=S.useRef(null),p=ht(i,y),[x,m]=S.useState(!1),[b,E]=S.useState("");return S.useEffect(()=>{const C=y.current;C&&E((C.textContent??"").trim())},[f.children]),h.jsx(Sr.ItemSlot,{scope:r,disabled:o,textValue:u??b,children:h.jsx(WE,{asChild:!0,...g,focusable:!o,children:h.jsx(wt.div,{role:"menuitem","data-highlighted":x?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...f,ref:p,onPointerMove:Te(n.onPointerMove,wr(C=>{o?d.onItemLeave(C):(d.onItemEnter(C),C.defaultPrevented||C.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Te(n.onPointerLeave,wr(C=>d.onItemLeave(C))),onFocus:Te(n.onFocus,()=>m(!0)),onBlur:Te(n.onBlur,()=>m(!1))})})})}),v2="MenuCheckboxItem",Dg=S.forwardRef((n,i)=>{const{checked:r=!1,onCheckedChange:o,...u}=n;return h.jsx(Hg,{scope:n.__scopeMenu,checked:r,children:h.jsx(_s,{role:"menuitemcheckbox","aria-checked":xs(r)?"mixed":r,...u,ref:i,"data-state":od(r),onSelect:Te(u.onSelect,()=>o?.(xs(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Dg.displayName=v2;var zg="MenuRadioGroup",[y2,g2]=pl(zg,{value:void 0,onValueChange:()=>{}}),kg=S.forwardRef((n,i)=>{const{value:r,onValueChange:o,...u}=n,f=aa(o);return h.jsx(y2,{scope:n.__scopeMenu,value:r,onValueChange:f,children:h.jsx(id,{...u,ref:i})})});kg.displayName=zg;var Lg="MenuRadioItem",Ug=S.forwardRef((n,i)=>{const{value:r,...o}=n,u=g2(Lg,n.__scopeMenu),f=r===u.value;return h.jsx(Hg,{scope:n.__scopeMenu,checked:f,children:h.jsx(_s,{role:"menuitemradio","aria-checked":f,...o,ref:i,"data-state":od(f),onSelect:Te(o.onSelect,()=>u.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});Ug.displayName=Lg;var rd="MenuItemIndicator",[Hg,b2]=pl(rd,{checked:!1}),Bg=S.forwardRef((n,i)=>{const{__scopeMenu:r,forceMount:o,...u}=n,f=b2(rd,r);return h.jsx(ml,{present:o||xs(f.checked)||f.checked===!0,children:h.jsx(wt.span,{...u,ref:i,"data-state":od(f.checked)})})});Bg.displayName=rd;var x2="MenuSeparator",qg=S.forwardRef((n,i)=>{const{__scopeMenu:r,...o}=n;return h.jsx(wt.div,{role:"separator","aria-orientation":"horizontal",...o,ref:i})});qg.displayName=x2;var S2="MenuArrow",Gg=S.forwardRef((n,i)=>{const{__scopeMenu:r,...o}=n,u=Ns(r);return h.jsx(vg,{...u,...o,ref:i})});Gg.displayName=S2;var w2="MenuSub",[DR,Yg]=pl(w2),mr="MenuSubTrigger",Qg=S.forwardRef((n,i)=>{const r=vl(mr,n.__scopeMenu),o=_r(mr,n.__scopeMenu),u=Yg(mr,n.__scopeMenu),f=ad(mr,n.__scopeMenu),d=S.useRef(null),{pointerGraceTimerRef:g,onPointerGraceIntentChange:y}=f,p={__scopeMenu:n.__scopeMenu},x=S.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);S.useEffect(()=>x,[x]),S.useEffect(()=>{const b=g.current;return()=>{window.clearTimeout(b),y(null)}},[g,y]);const m=ht(i,u.onTriggerChange);return h.jsx(td,{asChild:!0,...p,children:h.jsx(_g,{id:u.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?u.contentId:void 0,"data-state":Kg(r.open),...n,ref:m,onClick:b=>{n.onClick?.(b),!(n.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Te(n.onPointerMove,wr(b=>{f.onItemEnter(b),!b.defaultPrevented&&!n.disabled&&!r.open&&!d.current&&(f.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{r.onOpenChange(!0),x()},100))})),onPointerLeave:Te(n.onPointerLeave,wr(b=>{x();const E=r.content?.getBoundingClientRect();if(E){const C=r.content?.dataset.side,T=C==="right",R=T?-5:5,j=E[T?"left":"right"],U=E[T?"right":"left"];f.onPointerGraceIntentChange({area:[{x:b.clientX+R,y:b.clientY},{x:j,y:E.top},{x:U,y:E.top},{x:U,y:E.bottom},{x:j,y:E.bottom}],side:C}),window.clearTimeout(g.current),g.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(b),b.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:Te(n.onKeyDown,b=>{n.disabled||b.target!==b.currentTarget||f.searchRef.current!==""&&b.key===" "||n2[o.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});Qg.displayName=mr;var Vg="MenuSubContent",Xg=S.forwardRef((n,i)=>{const r=Rg(mn,n.__scopeMenu),{forceMount:o=r.forceMount,align:u="start",...f}=n,d=vl(mn,n.__scopeMenu),g=_r(mn,n.__scopeMenu),y=Yg(Vg,n.__scopeMenu),p=S.useRef(null),x=ht(i,p);return h.jsx(Sr.Provider,{scope:n.__scopeMenu,children:h.jsx(ml,{present:o||d.open,children:h.jsx(Sr.Slot,{scope:n.__scopeMenu,children:h.jsx(ld,{id:y.contentId,"aria-labelledby":y.triggerId,...f,ref:x,align:u,side:g.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:m=>{g.isUsingKeyboardRef.current&&p.current?.focus(),m.preventDefault()},onCloseAutoFocus:m=>m.preventDefault(),onFocusOutside:Te(n.onFocusOutside,m=>{m.target!==y.trigger&&d.onOpenChange(!1)}),onEscapeKeyDown:Te(n.onEscapeKeyDown,m=>{g.onClose(),m.preventDefault()}),onKeyDown:Te(n.onKeyDown,m=>{const b=m.currentTarget.contains(m.target),E=a2[g.dir].includes(m.key);b&&E&&(d.onOpenChange(!1),y.trigger?.focus(),m.preventDefault())})})})})})});Xg.displayName=Vg;function Kg(n){return n?"open":"closed"}function xs(n){return n==="indeterminate"}function od(n){return xs(n)?"indeterminate":n?"checked":"unchecked"}function E2(n){const i=document.activeElement;for(const r of n)if(r===i||(r.focus(),document.activeElement!==i))return}function C2(n,i){return n.map((r,o)=>n[(i+o)%n.length])}function T2(n,i,r){const u=i.length>1&&Array.from(i).every(p=>p===i[0])?i[0]:i,f=r?n.indexOf(r):-1;let d=C2(n,Math.max(f,0));u.length===1&&(d=d.filter(p=>p!==r));const y=d.find(p=>p.toLowerCase().startsWith(u.toLowerCase()));return y!==r?y:void 0}function M2(n,i){const{x:r,y:o}=n;let u=!1;for(let f=0,d=i.length-1;fo!=b>o&&r<(m-p)*(o-x)/(b-x)+p&&(u=!u)}return u}function A2(n,i){if(!i)return!1;const r={x:n.clientX,y:n.clientY};return M2(r,i)}function wr(n){return i=>i.pointerType==="mouse"?n(i):void 0}var R2=Ag,j2=td,O2=jg,N2=Og,_2=id,D2=Ng,z2=_s,k2=Dg,L2=kg,U2=Ug,H2=Bg,B2=qg,q2=Gg,G2=Qg,Y2=Xg,Ds="DropdownMenu",[Q2]=pi(Ds,[Tg]),Ot=Tg(),[V2,Fg]=Q2(Ds),Zg=n=>{const{__scopeDropdownMenu:i,children:r,dir:o,open:u,defaultOpen:f,onOpenChange:d,modal:g=!0}=n,y=Ot(i),p=S.useRef(null),[x,m]=Qf({prop:u,defaultProp:f??!1,onChange:d,caller:Ds});return h.jsx(V2,{scope:i,triggerId:ms(),triggerRef:p,contentId:ms(),open:x,onOpenChange:m,onOpenToggle:S.useCallback(()=>m(b=>!b),[m]),modal:g,children:h.jsx(R2,{...y,open:x,onOpenChange:m,dir:o,modal:g,children:r})})};Zg.displayName=Ds;var Pg="DropdownMenuTrigger",Ig=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,disabled:o=!1,...u}=n,f=Fg(Pg,r),d=Ot(r),g=ht(i,f.triggerRef);return h.jsx(j2,{asChild:!0,...d,children:h.jsx(wt.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...u,ref:g,onPointerDown:Te(n.onPointerDown,y=>{!o&&y.button===0&&y.ctrlKey===!1&&(f.onOpenToggle(),f.open||y.preventDefault())}),onKeyDown:Te(n.onKeyDown,y=>{o||(["Enter"," "].includes(y.key)&&f.onOpenToggle(),y.key==="ArrowDown"&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(y.key)&&y.preventDefault())})})})});Ig.displayName=Pg;var X2="DropdownMenuPortal",$g=n=>{const{__scopeDropdownMenu:i,...r}=n,o=Ot(i);return h.jsx(O2,{...o,...r})};$g.displayName=X2;var Jg="DropdownMenuContent",Wg=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Fg(Jg,r),f=Ot(r),d=S.useRef(!1);return h.jsx(N2,{id:u.contentId,"aria-labelledby":u.triggerId,...f,...o,ref:i,onCloseAutoFocus:Te(n.onCloseAutoFocus,g=>{d.current||u.triggerRef.current?.focus(),d.current=!1,g.preventDefault()}),onInteractOutside:Te(n.onInteractOutside,g=>{const y=g.detail.originalEvent,p=y.button===0&&y.ctrlKey===!0,x=y.button===2||p;(!u.modal||x)&&(d.current=!0)}),style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Wg.displayName=Jg;var K2="DropdownMenuGroup",F2=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(_2,{...u,...o,ref:i})});F2.displayName=K2;var Z2="DropdownMenuLabel",e0=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(D2,{...u,...o,ref:i})});e0.displayName=Z2;var P2="DropdownMenuItem",t0=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(z2,{...u,...o,ref:i})});t0.displayName=P2;var I2="DropdownMenuCheckboxItem",$2=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(k2,{...u,...o,ref:i})});$2.displayName=I2;var J2="DropdownMenuRadioGroup",W2=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(L2,{...u,...o,ref:i})});W2.displayName=J2;var eC="DropdownMenuRadioItem",tC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(U2,{...u,...o,ref:i})});tC.displayName=eC;var nC="DropdownMenuItemIndicator",aC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(H2,{...u,...o,ref:i})});aC.displayName=nC;var lC="DropdownMenuSeparator",iC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(B2,{...u,...o,ref:i})});iC.displayName=lC;var rC="DropdownMenuArrow",oC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(q2,{...u,...o,ref:i})});oC.displayName=rC;var sC="DropdownMenuSubTrigger",cC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(G2,{...u,...o,ref:i})});cC.displayName=sC;var uC="DropdownMenuSubContent",fC=S.forwardRef((n,i)=>{const{__scopeDropdownMenu:r,...o}=n,u=Ot(r);return h.jsx(Y2,{...u,...o,ref:i,style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});fC.displayName=uC;var dC=Zg,hC=Ig,mC=$g,pC=Wg,vC=e0,yC=t0,[zs]=pi("Tooltip",[Os]),ks=Os(),n0="TooltipProvider",gC=700,_f="tooltip.open",[bC,sd]=zs(n0),a0=n=>{const{__scopeTooltip:i,delayDuration:r=gC,skipDelayDuration:o=300,disableHoverableContent:u=!1,children:f}=n,d=S.useRef(!0),g=S.useRef(!1),y=S.useRef(0);return S.useEffect(()=>{const p=y.current;return()=>window.clearTimeout(p)},[]),h.jsx(bC,{scope:i,isOpenDelayedRef:d,delayDuration:r,onOpen:S.useCallback(()=>{o<=0||(window.clearTimeout(y.current),d.current=!1)},[o]),onClose:S.useCallback(()=>{o<=0||(window.clearTimeout(y.current),y.current=window.setTimeout(()=>d.current=!0,o))},[o]),isPointerInTransitRef:g,onPointerInTransitChange:S.useCallback(p=>{g.current=p},[]),disableHoverableContent:u,children:f})};a0.displayName=n0;var Er="Tooltip",[xC,Dr]=zs(Er),l0=n=>{const{__scopeTooltip:i,children:r,open:o,defaultOpen:u,onOpenChange:f,disableHoverableContent:d,delayDuration:g}=n,y=sd(Er,n.__scopeTooltip),p=ks(i),[x,m]=S.useState(null),b=ms(),E=S.useRef(0),C=d??y.disableHoverableContent,T=g??y.delayDuration,R=S.useRef(!1),[j,U]=Qf({prop:o,defaultProp:u??!1,onChange:V=>{V?(y.onOpen(),document.dispatchEvent(new CustomEvent(_f))):y.onClose(),f?.(V)},caller:Er}),L=S.useMemo(()=>j?R.current?"delayed-open":"instant-open":"closed",[j]),q=S.useCallback(()=>{window.clearTimeout(E.current),E.current=0,R.current=!1,U(!0)},[U]),I=S.useCallback(()=>{window.clearTimeout(E.current),E.current=0,U(!1)},[U]),Q=S.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{R.current=!0,U(!0),E.current=0},T)},[T,U]);return S.useEffect(()=>()=>{E.current&&(window.clearTimeout(E.current),E.current=0)},[]),h.jsx(hg,{...p,children:h.jsx(xC,{scope:i,contentId:b,open:j,stateAttribute:L,trigger:x,onTriggerChange:m,onTriggerEnter:S.useCallback(()=>{y.isOpenDelayedRef.current?Q():q()},[y.isOpenDelayedRef,Q,q]),onTriggerLeave:S.useCallback(()=>{C?I():(window.clearTimeout(E.current),E.current=0)},[I,C]),onOpen:q,onClose:I,disableHoverableContent:C,children:r})})};l0.displayName=Er;var Df="TooltipTrigger",i0=S.forwardRef((n,i)=>{const{__scopeTooltip:r,...o}=n,u=Dr(Df,r),f=sd(Df,r),d=ks(r),g=S.useRef(null),y=ht(i,g,u.onTriggerChange),p=S.useRef(!1),x=S.useRef(!1),m=S.useCallback(()=>p.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),h.jsx(mg,{asChild:!0,...d,children:h.jsx(wt.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...o,ref:y,onPointerMove:Te(n.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!f.isPointerInTransitRef.current&&(u.onTriggerEnter(),x.current=!0)}),onPointerLeave:Te(n.onPointerLeave,()=>{u.onTriggerLeave(),x.current=!1}),onPointerDown:Te(n.onPointerDown,()=>{u.open&&u.onClose(),p.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:Te(n.onFocus,()=>{p.current||u.onOpen()}),onBlur:Te(n.onBlur,u.onClose),onClick:Te(n.onClick,u.onClose)})})});i0.displayName=Df;var cd="TooltipPortal",[SC,wC]=zs(cd,{forceMount:void 0}),r0=n=>{const{__scopeTooltip:i,forceMount:r,children:o,container:u}=n,f=Dr(cd,i);return h.jsx(SC,{scope:i,forceMount:r,children:h.jsx(ml,{present:r||f.open,children:h.jsx(Xf,{asChild:!0,container:u,children:o})})})};r0.displayName=cd;var mi="TooltipContent",o0=S.forwardRef((n,i)=>{const r=wC(mi,n.__scopeTooltip),{forceMount:o=r.forceMount,side:u="top",...f}=n,d=Dr(mi,n.__scopeTooltip);return h.jsx(ml,{present:o||d.open,children:d.disableHoverableContent?h.jsx(s0,{side:u,...f,ref:i}):h.jsx(EC,{side:u,...f,ref:i})})}),EC=S.forwardRef((n,i)=>{const r=Dr(mi,n.__scopeTooltip),o=sd(mi,n.__scopeTooltip),u=S.useRef(null),f=ht(i,u),[d,g]=S.useState(null),{trigger:y,onClose:p}=r,x=u.current,{onPointerInTransitChange:m}=o,b=S.useCallback(()=>{g(null),m(!1)},[m]),E=S.useCallback((C,T)=>{const R=C.currentTarget,j={x:C.clientX,y:C.clientY},U=AC(j,R.getBoundingClientRect()),L=RC(j,U),q=jC(T.getBoundingClientRect()),I=NC([...L,...q]);g(I),m(!0)},[m]);return S.useEffect(()=>()=>b(),[b]),S.useEffect(()=>{if(y&&x){const C=R=>E(R,x),T=R=>E(R,y);return y.addEventListener("pointerleave",C),x.addEventListener("pointerleave",T),()=>{y.removeEventListener("pointerleave",C),x.removeEventListener("pointerleave",T)}}},[y,x,E,b]),S.useEffect(()=>{if(d){const C=T=>{const R=T.target,j={x:T.clientX,y:T.clientY},U=y?.contains(R)||x?.contains(R),L=!OC(j,d);U?b():L&&(b(),p())};return document.addEventListener("pointermove",C),()=>document.removeEventListener("pointermove",C)}},[y,x,d,p,b]),h.jsx(s0,{...n,ref:f})}),[CC,TC]=zs(Er,{isInside:!1}),MC=$x("TooltipContent"),s0=S.forwardRef((n,i)=>{const{__scopeTooltip:r,children:o,"aria-label":u,onEscapeKeyDown:f,onPointerDownOutside:d,...g}=n,y=Dr(mi,r),p=ks(r),{onClose:x}=y;return S.useEffect(()=>(document.addEventListener(_f,x),()=>document.removeEventListener(_f,x)),[x]),S.useEffect(()=>{if(y.trigger){const m=b=>{b.target instanceof Node&&b.target.contains(y.trigger)&&x()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[y.trigger,x]),h.jsx(Vf,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:f,onPointerDownOutside:d,onFocusOutside:m=>m.preventDefault(),onDismiss:x,children:h.jsxs(pg,{"data-state":y.stateAttribute,...p,...g,ref:i,style:{...g.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[h.jsx(MC,{children:o}),h.jsx(CC,{scope:r,isInside:!0,children:h.jsx(cS,{id:y.contentId,role:"tooltip",children:u||o})})]})})});o0.displayName=mi;var c0="TooltipArrow",u0=S.forwardRef((n,i)=>{const{__scopeTooltip:r,...o}=n,u=ks(r);return TC(c0,r).isInside?null:h.jsx(vg,{...u,...o,ref:i})});u0.displayName=c0;function AC(n,i){const r=Math.abs(i.top-n.y),o=Math.abs(i.bottom-n.y),u=Math.abs(i.right-n.x),f=Math.abs(i.left-n.x);switch(Math.min(r,o,u,f)){case f:return"left";case u:return"right";case r:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function RC(n,i,r=5){const o=[];switch(i){case"top":o.push({x:n.x-r,y:n.y+r},{x:n.x+r,y:n.y+r});break;case"bottom":o.push({x:n.x-r,y:n.y-r},{x:n.x+r,y:n.y-r});break;case"left":o.push({x:n.x+r,y:n.y-r},{x:n.x+r,y:n.y+r});break;case"right":o.push({x:n.x-r,y:n.y-r},{x:n.x-r,y:n.y+r});break}return o}function jC(n){const{top:i,right:r,bottom:o,left:u}=n;return[{x:u,y:i},{x:r,y:i},{x:r,y:o},{x:u,y:o}]}function OC(n,i){const{x:r,y:o}=n;let u=!1;for(let f=0,d=i.length-1;fo!=b>o&&r<(m-p)*(o-x)/(b-x)+p&&(u=!u)}return u}function NC(n){const i=n.slice();return i.sort((r,o)=>r.xo.x?1:r.yo.y?1:0),_C(i)}function _C(n){if(n.length<=1)return n.slice();const i=[];for(let o=0;o=2;){const f=i[i.length-1],d=i[i.length-2];if((f.x-d.x)*(u.y-d.y)>=(f.y-d.y)*(u.x-d.x))i.pop();else break}i.push(u)}i.pop();const r=[];for(let o=n.length-1;o>=0;o--){const u=n[o];for(;r.length>=2;){const f=r[r.length-1],d=r[r.length-2];if((f.x-d.x)*(u.y-d.y)>=(f.y-d.y)*(u.x-d.x))r.pop();else break}r.push(u)}return r.pop(),i.length===1&&r.length===1&&i[0].x===r[0].x&&i[0].y===r[0].y?i:i.concat(r)}var DC=a0,zC=l0,kC=i0,LC=r0,UC=o0,HC=u0;function f0(n){var i,r,o="";if(typeof n=="string"||typeof n=="number")o+=n;else if(typeof n=="object")if(Array.isArray(n)){var u=n.length;for(i=0;i{const r=new Array(n.length+i.length);for(let o=0;o({classGroupId:n,validator:i}),d0=(n=new Map,i=null,r)=>({nextPart:n,validators:i,classGroupId:r}),Ss="-",Jv=[],YC="arbitrary..",QC=n=>{const i=XC(n),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=n;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return VC(d);const g=d.split(Ss),y=g[0]===""&&g.length>1?1:0;return h0(g,y,i)},getConflictingClassGroupIds:(d,g)=>{if(g){const y=o[d],p=r[d];return y?p?qC(p,y):y:p||Jv}return r[d]||Jv}}},h0=(n,i,r)=>{if(n.length-i===0)return r.classGroupId;const u=n[i],f=r.nextPart.get(u);if(f){const p=h0(n,i+1,f);if(p)return p}const d=r.validators;if(d===null)return;const g=i===0?n.join(Ss):n.slice(i).join(Ss),y=d.length;for(let p=0;pn.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const i=n.slice(1,-1),r=i.indexOf(":"),o=i.slice(0,r);return o?YC+o:void 0})(),XC=n=>{const{theme:i,classGroups:r}=n;return KC(r,i)},KC=(n,i)=>{const r=d0();for(const o in n){const u=n[o];ud(u,r,o,i)}return r},ud=(n,i,r,o)=>{const u=n.length;for(let f=0;f{if(typeof n=="string"){ZC(n,i,r);return}if(typeof n=="function"){PC(n,i,r,o);return}IC(n,i,r,o)},ZC=(n,i,r)=>{const o=n===""?i:m0(i,n);o.classGroupId=r},PC=(n,i,r,o)=>{if($C(n)){ud(n(o),i,r,o);return}i.validators===null&&(i.validators=[]),i.validators.push(GC(r,n))},IC=(n,i,r,o)=>{const u=Object.entries(n),f=u.length;for(let d=0;d{let r=n;const o=i.split(Ss),u=o.length;for(let f=0;f"isThemeGetter"in n&&n.isThemeGetter===!0,JC=n=>{if(n<1)return{get:()=>{},set:()=>{}};let i=0,r=Object.create(null),o=Object.create(null);const u=(f,d)=>{r[f]=d,i++,i>n&&(i=0,o=r,r=Object.create(null))};return{get(f){let d=r[f];if(d!==void 0)return d;if((d=o[f])!==void 0)return u(f,d),d},set(f,d){f in r?r[f]=d:u(f,d)}}},zf="!",Wv=":",WC=[],ey=(n,i,r,o,u)=>({modifiers:n,hasImportantModifier:i,baseClassName:r,maybePostfixModifierPosition:o,isExternal:u}),eT=n=>{const{prefix:i,experimentalParseClassName:r}=n;let o=u=>{const f=[];let d=0,g=0,y=0,p;const x=u.length;for(let T=0;Ty?p-y:void 0;return ey(f,E,b,C)};if(i){const u=i+Wv,f=o;o=d=>d.startsWith(u)?f(d.slice(u.length)):ey(WC,!1,d,void 0,!0)}if(r){const u=o;o=f=>r({className:f,parseClassName:u})}return o},tT=n=>{const i=new Map;return n.orderSensitiveModifiers.forEach((r,o)=>{i.set(r,1e6+o)}),r=>{const o=[];let u=[];for(let f=0;f0&&(u.sort(),o.push(...u),u=[]),o.push(d)):u.push(d)}return u.length>0&&(u.sort(),o.push(...u)),o}},nT=n=>({cache:JC(n.cacheSize),parseClassName:eT(n),sortModifiers:tT(n),postfixLookupClassGroupIds:aT(n),...QC(n)}),aT=n=>{const i=Object.create(null),r=n.postfixLookupClassGroups;if(r)for(let o=0;o{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:u,sortModifiers:f,postfixLookupClassGroupIds:d}=i,g=[],y=n.trim().split(lT);let p="";for(let x=y.length-1;x>=0;x-=1){const m=y[x],{isExternal:b,modifiers:E,hasImportantModifier:C,baseClassName:T,maybePostfixModifierPosition:R}=r(m);if(b){p=m+(p.length>0?" "+p:p);continue}let j=!!R,U;if(j){const V=T.substring(0,R);U=o(V);const H=U&&d[U]?o(T):void 0;H&&H!==U&&(U=H,j=!1)}else U=o(T);if(!U){if(!j){p=m+(p.length>0?" "+p:p);continue}if(U=o(T),!U){p=m+(p.length>0?" "+p:p);continue}j=!1}const L=E.length===0?"":E.length===1?E[0]:f(E).join(":"),q=C?L+zf:L,I=q+U;if(g.indexOf(I)>-1)continue;g.push(I);const Q=u(U,j);for(let V=0;V0?" "+p:p)}return p},rT=(...n)=>{let i=0,r,o,u="";for(;i{if(typeof n=="string")return n;let i,r="";for(let o=0;o{let r,o,u,f;const d=y=>{const p=i.reduce((x,m)=>m(x),n());return r=nT(p),o=r.cache.get,u=r.cache.set,f=g,g(y)},g=y=>{const p=o(y);if(p)return p;const x=iT(y,r);return u(y,x),x};return f=d,(...y)=>f(rT(...y))},sT=[],rt=n=>{const i=r=>r[n]||sT;return i.isThemeGetter=!0,i},v0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,y0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cT=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,uT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fT=/\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$/,dT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,hT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_a=n=>cT.test(n),Me=n=>!!n&&!Number.isNaN(Number(n)),Rn=n=>!!n&&Number.isInteger(Number(n)),hf=n=>n.endsWith("%")&&Me(n.slice(0,-1)),ea=n=>uT.test(n),g0=()=>!0,pT=n=>fT.test(n)&&!dT.test(n),fd=()=>!1,vT=n=>hT.test(n),yT=n=>mT.test(n),gT=n=>!le(n)&&!ie(n),bT=n=>n.startsWith("@container")&&(n[10]==="/"&&n[11]!==void 0||n[11]==="s"&&n[16]!==void 0&&n.startsWith("-size/",10)||n[11]==="n"&&n[18]!==void 0&&n.startsWith("-normal/",10)),xT=n=>Ba(n,S0,fd),le=n=>v0.test(n),ul=n=>Ba(n,w0,pT),ty=n=>Ba(n,RT,Me),ST=n=>Ba(n,C0,g0),wT=n=>Ba(n,E0,fd),ny=n=>Ba(n,b0,fd),ET=n=>Ba(n,x0,yT),as=n=>Ba(n,T0,vT),ie=n=>y0.test(n),hr=n=>yl(n,w0),CT=n=>yl(n,E0),ay=n=>yl(n,b0),TT=n=>yl(n,S0),MT=n=>yl(n,x0),ls=n=>yl(n,T0,!0),AT=n=>yl(n,C0,!0),Ba=(n,i,r)=>{const o=v0.exec(n);return o?o[1]?i(o[1]):r(o[2]):!1},yl=(n,i,r=!1)=>{const o=y0.exec(n);return o?o[1]?i(o[1]):r:!1},b0=n=>n==="position"||n==="percentage",x0=n=>n==="image"||n==="url",S0=n=>n==="length"||n==="size"||n==="bg-size",w0=n=>n==="length",RT=n=>n==="number",E0=n=>n==="family-name",C0=n=>n==="number"||n==="weight",T0=n=>n==="shadow",jT=()=>{const n=rt("color"),i=rt("font"),r=rt("text"),o=rt("font-weight"),u=rt("tracking"),f=rt("leading"),d=rt("breakpoint"),g=rt("container"),y=rt("spacing"),p=rt("radius"),x=rt("shadow"),m=rt("inset-shadow"),b=rt("text-shadow"),E=rt("drop-shadow"),C=rt("blur"),T=rt("perspective"),R=rt("aspect"),j=rt("ease"),U=rt("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],q=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...q(),ie,le],Q=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],H=()=>[ie,le,y],re=()=>[_a,"full","auto",...H()],se=()=>[Rn,"none","subgrid",ie,le],ae=()=>["auto",{span:["full",Rn,ie,le]},Rn,ie,le],de=()=>[Rn,"auto",ie,le],ce=()=>["auto","min","max","fr",ie,le],be=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],he=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...H()],X=()=>[_a,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...H()],$=()=>[_a,"screen","full","dvw","lvw","svw","min","max","fit",...H()],J=()=>[_a,"screen","full","lh","dvh","lvh","svh","min","max","fit",...H()],P=()=>[n,ie,le],A=()=>[...q(),ay,ny,{position:[ie,le]}],G=()=>["no-repeat",{repeat:["","x","y","space","round"]}],F=()=>["auto","cover","contain",TT,xT,{size:[ie,le]}],W=()=>[hf,hr,ul],ee=()=>["","none","full",p,ie,le],te=()=>["",Me,hr,ul],fe=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[Me,hf,ay,ny],mt=()=>["","none",C,ie,le],st=()=>["none",Me,ie,le],Je=()=>["none",Me,ie,le],Mt=()=>[Me,ie,le],Ze=()=>[_a,"full",...H()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ea],breakpoint:[ea],color:[g0],container:[ea],"drop-shadow":[ea],ease:["in","out","in-out"],font:[gT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ea],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ea],shadow:[ea],spacing:["px",Me],text:[ea],"text-shadow":[ea],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",_a,le,ie,R]}],container:["container"],"container-type":[{"@container":["","normal","size",ie,le]}],"container-named":[bT],columns:[{columns:[Me,le,ie,g]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"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:I()}],overflow:[{overflow:Q()}],"overflow-x":[{"overflow-x":Q()}],"overflow-y":[{"overflow-y":Q()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:re()}],"inset-x":[{"inset-x":re()}],"inset-y":[{"inset-y":re()}],start:[{"inset-s":re(),start:re()}],end:[{"inset-e":re(),end:re()}],"inset-bs":[{"inset-bs":re()}],"inset-be":[{"inset-be":re()}],top:[{top:re()}],right:[{right:re()}],bottom:[{bottom:re()}],left:[{left:re()}],visibility:["visible","invisible","collapse"],z:[{z:[Rn,"auto",ie,le]}],basis:[{basis:[_a,"full","auto",g,...H()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Me,_a,"auto","initial","none",le]}],grow:[{grow:["",Me,ie,le]}],shrink:[{shrink:["",Me,ie,le]}],order:[{order:[Rn,"first","last","none",ie,le]}],"grid-cols":[{"grid-cols":se()}],"col-start-end":[{col:ae()}],"col-start":[{"col-start":de()}],"col-end":[{"col-end":de()}],"grid-rows":[{"grid-rows":se()}],"row-start-end":[{row:ae()}],"row-start":[{"row-start":de()}],"row-end":[{"row-end":de()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ce()}],"auto-rows":[{"auto-rows":ce()}],gap:[{gap:H()}],"gap-x":[{"gap-x":H()}],"gap-y":[{"gap-y":H()}],"justify-content":[{justify:[...be(),"normal"]}],"justify-items":[{"justify-items":[...he(),"normal"]}],"justify-self":[{"justify-self":["auto",...he()]}],"align-content":[{content:["normal",...be()]}],"align-items":[{items:[...he(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...he(),{baseline:["","last"]}]}],"place-content":[{"place-content":be()}],"place-items":[{"place-items":[...he(),"baseline"]}],"place-self":[{"place-self":["auto",...he()]}],p:[{p:H()}],px:[{px:H()}],py:[{py:H()}],ps:[{ps:H()}],pe:[{pe:H()}],pbs:[{pbs:H()}],pbe:[{pbe:H()}],pt:[{pt:H()}],pr:[{pr:H()}],pb:[{pb:H()}],pl:[{pl:H()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":H()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":H()}],"space-y-reverse":["space-y-reverse"],size:[{size:X()}],"inline-size":[{inline:["auto",...$()]}],"min-inline-size":[{"min-inline":["auto",...$()]}],"max-inline-size":[{"max-inline":["none",...$()]}],"block-size":[{block:["auto",...J()]}],"min-block-size":[{"min-block":["auto",...J()]}],"max-block-size":[{"max-block":["none",...J()]}],w:[{w:[g,"screen",...X()]}],"min-w":[{"min-w":[g,"screen","none",...X()]}],"max-w":[{"max-w":[g,"screen","none","prose",{screen:[d]},...X()]}],h:[{h:["screen","lh",...X()]}],"min-h":[{"min-h":["screen","lh","none",...X()]}],"max-h":[{"max-h":["screen","lh",...X()]}],"font-size":[{text:["base",r,hr,ul]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,AT,ST]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hf,le]}],"font-family":[{font:[CT,wT,i]}],"font-features":[{"font-features":[le]}],"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:[u,ie,le]}],"line-clamp":[{"line-clamp":[Me,"none",ie,ty]}],leading:[{leading:[f,...H()]}],"list-image":[{"list-image":["none",ie,le]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ie,le]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Me,"from-font","auto",ie,ul]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Me,"auto",ie,le]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"tab-size":[{tab:[Rn,ie,le]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ie,le]}],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",ie,le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:A()}],"bg-repeat":[{bg:G()}],"bg-size":[{bg:F()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rn,ie,le],radial:["",ie,le],conic:[Rn,ie,le]},MT,ET]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:ee()}],"rounded-s":[{"rounded-s":ee()}],"rounded-e":[{"rounded-e":ee()}],"rounded-t":[{"rounded-t":ee()}],"rounded-r":[{"rounded-r":ee()}],"rounded-b":[{"rounded-b":ee()}],"rounded-l":[{"rounded-l":ee()}],"rounded-ss":[{"rounded-ss":ee()}],"rounded-se":[{"rounded-se":ee()}],"rounded-ee":[{"rounded-ee":ee()}],"rounded-es":[{"rounded-es":ee()}],"rounded-tl":[{"rounded-tl":ee()}],"rounded-tr":[{"rounded-tr":ee()}],"rounded-br":[{"rounded-br":ee()}],"rounded-bl":[{"rounded-bl":ee()}],"border-w":[{border:te()}],"border-w-x":[{"border-x":te()}],"border-w-y":[{"border-y":te()}],"border-w-s":[{"border-s":te()}],"border-w-e":[{"border-e":te()}],"border-w-bs":[{"border-bs":te()}],"border-w-be":[{"border-be":te()}],"border-w-t":[{"border-t":te()}],"border-w-r":[{"border-r":te()}],"border-w-b":[{"border-b":te()}],"border-w-l":[{"border-l":te()}],"divide-x":[{"divide-x":te()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":te()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Me,ie,le]}],"outline-w":[{outline:["",Me,hr,ul]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",x,ls,as]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",m,ls,as]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Me,ul]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":te()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",b,ls,as]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Me,ie,le]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"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":[Me]}],"mask-image-linear-from-pos":[{"mask-linear-from":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[ie,le]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"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":q()}],"mask-image-conic-pos":[{"mask-conic":[Me]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:A()}],"mask-repeat":[{mask:G()}],"mask-size":[{mask:F()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ie,le]}],filter:[{filter:["","none",ie,le]}],blur:[{blur:mt()}],brightness:[{brightness:[Me,ie,le]}],contrast:[{contrast:[Me,ie,le]}],"drop-shadow":[{"drop-shadow":["","none",E,ls,as]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",Me,ie,le]}],"hue-rotate":[{"hue-rotate":[Me,ie,le]}],invert:[{invert:["",Me,ie,le]}],saturate:[{saturate:[Me,ie,le]}],sepia:[{sepia:["",Me,ie,le]}],"backdrop-filter":[{"backdrop-filter":["","none",ie,le]}],"backdrop-blur":[{"backdrop-blur":mt()}],"backdrop-brightness":[{"backdrop-brightness":[Me,ie,le]}],"backdrop-contrast":[{"backdrop-contrast":[Me,ie,le]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Me,ie,le]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Me,ie,le]}],"backdrop-invert":[{"backdrop-invert":["",Me,ie,le]}],"backdrop-opacity":[{"backdrop-opacity":[Me,ie,le]}],"backdrop-saturate":[{"backdrop-saturate":[Me,ie,le]}],"backdrop-sepia":[{"backdrop-sepia":["",Me,ie,le]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":H()}],"border-spacing-x":[{"border-spacing-x":H()}],"border-spacing-y":[{"border-spacing-y":H()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ie,le]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Me,"initial",ie,le]}],ease:[{ease:["linear","initial",j,ie,le]}],delay:[{delay:[Me,ie,le]}],animate:[{animate:["none",U,ie,le]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[T,ie,le]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:st()}],"rotate-x":[{"rotate-x":st()}],"rotate-y":[{"rotate-y":st()}],"rotate-z":[{"rotate-z":st()}],scale:[{scale:Je()}],"scale-x":[{"scale-x":Je()}],"scale-y":[{"scale-y":Je()}],"scale-z":[{"scale-z":Je()}],"scale-3d":["scale-3d"],skew:[{skew:Mt()}],"skew-x":[{"skew-x":Mt()}],"skew-y":[{"skew-y":Mt()}],transform:[{transform:[ie,le,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ze()}],"translate-x":[{"translate-x":Ze()}],"translate-y":[{"translate-y":Ze()}],"translate-z":[{"translate-z":Ze()}],"translate-none":["translate-none"],zoom:[{zoom:[Rn,ie,le]}],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"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",ie,le]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mbs":[{"scroll-mbs":H()}],"scroll-mbe":[{"scroll-mbe":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pbs":[{"scroll-pbs":H()}],"scroll-pbe":[{"scroll-pbe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"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",ie,le]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[Me,hr,ul,ty]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],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"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},OT=oT(jT);function Ls(...n){return OT(BC(n))}function NT({delayDuration:n=0,...i}){return h.jsx(DC,{"data-slot":"tooltip-provider",delayDuration:n,...i})}function _T({...n}){return h.jsx(zC,{"data-slot":"tooltip",...n})}function DT({...n}){return h.jsx(kC,{"data-slot":"tooltip-trigger",...n})}function zT({className:n,sideOffset:i=0,children:r,...o}){return h.jsx(LC,{children:h.jsxs(UC,{"data-slot":"tooltip-content",sideOffset:i,className:Ls("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",n),...o,children:[r,h.jsx(HC,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const kf=new Set;function kT(n){return kf.add(n),()=>kf.delete(n)}function LT(){for(const n of kf)n()}const M0=(...n)=>n.filter((i,r,o)=>!!i&&i.trim()!==""&&o.indexOf(i)===r).join(" ").trim();const UT=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const HT=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(i,r,o)=>o?o.toUpperCase():r.toLowerCase());const ly=n=>{const i=HT(n);return i.charAt(0).toUpperCase()+i.slice(1)};var mf={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"};const BT=n=>{for(const i in n)if(i.startsWith("aria-")||i==="role"||i==="title")return!0;return!1},qT=S.createContext({}),GT=()=>S.useContext(qT),YT=S.forwardRef(({color:n,size:i,strokeWidth:r,absoluteStrokeWidth:o,className:u="",children:f,iconNode:d,...g},y)=>{const{size:p=24,strokeWidth:x=2,absoluteStrokeWidth:m=!1,color:b="currentColor",className:E=""}=GT()??{},C=o??m?Number(r??x)*24/Number(i??p):r??x;return S.createElement("svg",{ref:y,...mf,width:i??p??mf.width,height:i??p??mf.height,stroke:n??b,strokeWidth:C,className:M0("lucide",E,u),...!f&&!BT(g)&&{"aria-hidden":"true"},...g},[...d.map(([T,R])=>S.createElement(T,R)),...Array.isArray(f)?f:[f]])});const Ue=(n,i)=>{const r=S.forwardRef(({className:o,...u},f)=>S.createElement(YT,{ref:f,iconNode:i,className:M0(`lucide-${UT(ly(n))}`,`lucide-${n}`,o),...u}));return r.displayName=ly(n),r};const QT=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],VT=Ue("check",QT);const XT=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],KT=Ue("chevron-down",XT);const FT=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ZT=Ue("chevron-right",FT);const PT=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],IT=Ue("circle-check",PT);const $T=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],JT=Ue("clock",$T);const WT=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],eM=Ue("copy",WT);const tM=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],nM=Ue("download",tM);const aM=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],lM=Ue("ellipsis",aM);const iM=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],rM=Ue("file-text",iM);const oM=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],sM=Ue("folder",oM);const cM=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],uM=Ue("globe",cM);const fM=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],dM=Ue("history",fM);const hM=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],mM=Ue("info",hM);const pM=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],vM=Ue("layout-dashboard",pM);const yM=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],gM=Ue("link",yM);const bM=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],xM=Ue("loader-circle",bM);const SM=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],wM=Ue("lock",SM);const EM=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],CM=Ue("log-out",EM);const TM=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],MM=Ue("menu",TM);const AM=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],RM=Ue("octagon-x",AM);const jM=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],OM=Ue("plus",jM);const NM=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],_M=Ue("search",NM);const DM=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],zM=Ue("settings",DM);const kM=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],LM=Ue("share-2",kM);const UM=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],HM=Ue("shield",UM);const BM=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],qM=Ue("square-terminal",BM);const GM=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],YM=Ue("trash-2",GM);const QM=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],A0=Ue("triangle-alert",QM);const VM=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],XM=Ue("upload",VM);const KM=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],FM=Ue("users",KM);const ZM=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],PM=Ue("x",ZM);function IM(){document.body.classList.toggle("sb-open")}function xn(){document.body.classList.remove("sb-open")}const $M={alert:A0,check:VT,chev:ZT,chevd:KT,clock:JT,copy:eM,doc:rM,dots:lM,download:nM,folder:sM,dashboard:vM,gear:zM,globe:uM,hist:dM,link:gM,lock:wM,menu:MM,plus:OM,power:CM,search:_M,share:LM,shield:HM,terminal:qM,trash:YM,upload:XM,users:FM,x:PM};function ot({name:n}){const i=$M[n];return i?h.jsx(i,{className:"ico","aria-hidden":"true"}):null}function Cr(n){return h.jsxs(h.Fragment,{children:[h.jsx("div",{id:"sb-backdrop",onClick:xn}),h.jsxs("aside",{id:"sidebar",children:[n.vault,n.projectsNav,n.tree??h.jsx("nav",{id:"tree","aria-label":"Files"}),n.orgBar]}),h.jsxs("main",{id:"main",children:[n.topbar,h.jsx("article",{id:"content",className:n.contentClass??"markdown",ref:n.contentRef,onScroll:n.onContentScroll,children:n.children})]})]})}function Us(n){const{name:i,onHome:r,showSignout:o,search:u}=n;return h.jsxs("header",{id:"vault",children:[h.jsx("span",{id:"vault-badge","aria-hidden":"true",children:"🐻"}),h.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:f=>{r&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),r())},children:i}),h.jsxs("div",{className:"vault-actions",children:[u&&h.jsxs(_T,{delayDuration:150,children:[h.jsx(DT,{asChild:!0,children:h.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{LT(),xn()},children:h.jsx(ot,{name:"search"})})}),h.jsxs(zT,{className:"tipcard",sideOffset:6,children:["Search ",h.jsx("kbd",{children:"⌘K"})]})]}),o&&h.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:h.jsx(ot,{name:"power"})})]})]})}function Tr(n){return h.jsxs("header",{id:"topbar",children:[h.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu",onClick:IM,children:h.jsx(ot,{name:"menu"})}),h.jsx("span",{id:"crumb",children:n.crumb}),h.jsx("span",{id:"meta",children:n.meta}),n.actions]})}function JM(n){if(typeof document>"u")return;let i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",i.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}const WM=n=>{switch(n){case"success":return nA;case"info":return lA;case"warning":return aA;case"error":return iA;default:return null}},eA=Array(12).fill(0),tA=({visible:n,className:i})=>ne.createElement("div",{className:["sonner-loading-wrapper",i].filter(Boolean).join(" "),"data-visible":n},ne.createElement("div",{className:"sonner-spinner"},eA.map((r,o)=>ne.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),nA=ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ne.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),aA=ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ne.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),lA=ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ne.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),iA=ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ne.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),rA=ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ne.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ne.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),oA=()=>{const[n,i]=ne.useState(document.hidden);return ne.useEffect(()=>{const r=()=>{i(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),n};let Lf=1;class sA{constructor(){this.subscribe=i=>(this.subscribers.push(i),()=>{const r=this.subscribers.indexOf(i);this.subscribers.splice(r,1)}),this.publish=i=>{this.subscribers.forEach(r=>r(i))},this.addToast=i=>{this.publish(i),this.toasts=[...this.toasts,i]},this.create=i=>{var r;const{message:o,...u}=i,f=typeof i?.id=="number"||((r=i.id)==null?void 0:r.length)>0?i.id:Lf++,d=this.toasts.find(y=>y.id===f),g=i.dismissible===void 0?!0:i.dismissible;return this.dismissedToasts.has(f)&&this.dismissedToasts.delete(f),d?this.toasts=this.toasts.map(y=>y.id===f?(this.publish({...y,...i,id:f,title:o}),{...y,...i,id:f,dismissible:g,title:o}):y):this.addToast({title:o,...u,dismissible:g,id:f}),f},this.dismiss=i=>(i?(this.dismissedToasts.add(i),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:i,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(o=>o({id:r.id,dismiss:!0}))}),i),this.message=(i,r)=>this.create({...r,message:i}),this.error=(i,r)=>this.create({...r,message:i,type:"error"}),this.success=(i,r)=>this.create({...r,type:"success",message:i}),this.info=(i,r)=>this.create({...r,type:"info",message:i}),this.warning=(i,r)=>this.create({...r,type:"warning",message:i}),this.loading=(i,r)=>this.create({...r,type:"loading",message:i}),this.promise=(i,r)=>{if(!r)return;let o;r.loading!==void 0&&(o=this.create({...r,promise:i,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const u=Promise.resolve(i instanceof Function?i():i);let f=o!==void 0,d;const g=u.then(async p=>{if(d=["resolve",p],ne.isValidElement(p))f=!1,this.create({id:o,type:"default",message:p});else if(uA(p)&&!p.ok){f=!1;const m=typeof r.error=="function"?await r.error(`HTTP error! status: ${p.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${p.status}`):r.description,C=typeof m=="object"&&!ne.isValidElement(m)?m:{message:m};this.create({id:o,type:"error",description:b,...C})}else if(p instanceof Error){f=!1;const m=typeof r.error=="function"?await r.error(p):r.error,b=typeof r.description=="function"?await r.description(p):r.description,C=typeof m=="object"&&!ne.isValidElement(m)?m:{message:m};this.create({id:o,type:"error",description:b,...C})}else if(r.success!==void 0){f=!1;const m=typeof r.success=="function"?await r.success(p):r.success,b=typeof r.description=="function"?await r.description(p):r.description,C=typeof m=="object"&&!ne.isValidElement(m)?m:{message:m};this.create({id:o,type:"success",description:b,...C})}}).catch(async p=>{if(d=["reject",p],r.error!==void 0){f=!1;const x=typeof r.error=="function"?await r.error(p):r.error,m=typeof r.description=="function"?await r.description(p):r.description,E=typeof x=="object"&&!ne.isValidElement(x)?x:{message:x};this.create({id:o,type:"error",description:m,...E})}}).finally(()=>{f&&(this.dismiss(o),o=void 0),r.finally==null||r.finally.call(r)}),y=()=>new Promise((p,x)=>g.then(()=>d[0]==="reject"?x(d[1]):p(d[1])).catch(x));return typeof o!="string"&&typeof o!="number"?{unwrap:y}:Object.assign(o,{unwrap:y})},this.custom=(i,r)=>{const o=r?.id||Lf++;return this.create({jsx:i(o),id:o,...r}),o},this.getActiveToasts=()=>this.toasts.filter(i=>!this.dismissedToasts.has(i.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Yt=new sA,cA=(n,i)=>{const r=i?.id||Lf++;return Yt.addToast({title:n,...i,id:r}),r},uA=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",fA=cA,dA=()=>Yt.toasts,hA=()=>Yt.getActiveToasts(),iy=Object.assign(fA,{success:Yt.success,info:Yt.info,warning:Yt.warning,error:Yt.error,custom:Yt.custom,message:Yt.message,promise:Yt.promise,dismiss:Yt.dismiss,loading:Yt.loading},{getHistory:dA,getToasts:hA});JM("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function is(n){return n.label!==void 0}const mA=3,pA="24px",vA="16px",ry=4e3,yA=356,gA=14,bA=45,xA=200;function jn(...n){return n.filter(Boolean).join(" ")}function SA(n){const[i,r]=n.split("-"),o=[];return i&&o.push(i),r&&o.push(r),o}const wA=n=>{var i,r,o,u,f,d,g,y,p;const{invert:x,toast:m,unstyled:b,interacting:E,setHeights:C,visibleToasts:T,heights:R,index:j,toasts:U,expanded:L,removeToast:q,defaultRichColors:I,closeButton:Q,style:V,cancelButtonStyle:H,actionButtonStyle:re,className:se="",descriptionClassName:ae="",duration:de,position:ce,gap:be,expandByDefault:he,classNames:N,icons:X,closeButtonAriaLabel:$="Close toast"}=n,[J,P]=ne.useState(null),[A,G]=ne.useState(null),[F,W]=ne.useState(!1),[ee,te]=ne.useState(!1),[fe,pe]=ne.useState(!1),[ve,mt]=ne.useState(!1),[st,Je]=ne.useState(!1),[Mt,Ze]=ne.useState(0),[Sn,Nt]=ne.useState(0),ct=ne.useRef(m.duration||de||ry),qa=ne.useRef(null),At=ne.useRef(null),Se=j===0,Ne=j+1<=T,Ce=m.type,nn=m.dismissible!==!1,pt=m.className||"",gi=m.descriptionClassName||"",Ga=ne.useMemo(()=>R.findIndex(ge=>ge.toastId===m.id)||0,[R,m.id]),zr=ne.useMemo(()=>{var ge;return(ge=m.closeButton)!=null?ge:Q},[m.closeButton,Q]),Ya=ne.useMemo(()=>m.duration||de||ry,[m.duration,de]),bi=ne.useRef(0),kn=ne.useRef(0),kr=ne.useRef(0),ra=ne.useRef(null),[Qa,Rt]=ce.split("-"),pn=ne.useMemo(()=>R.reduce((ge,Ke,ut)=>ut>=Ga?ge:ge+Ke.height,0),[R,Ga]),Et=oA(),Hs=m.invert||x,xi=Ce==="loading";kn.current=ne.useMemo(()=>Ga*be+pn,[Ga,pn]),ne.useEffect(()=>{ct.current=Ya},[Ya]),ne.useEffect(()=>{W(!0)},[]),ne.useEffect(()=>{const ge=At.current;if(ge){const Ke=ge.getBoundingClientRect().height;return Nt(Ke),C(ut=>[{toastId:m.id,height:Ke,position:m.position},...ut]),()=>C(ut=>ut.filter(Ct=>Ct.toastId!==m.id))}},[C,m.id]),ne.useLayoutEffect(()=>{if(!F)return;const ge=At.current,Ke=ge.style.height;ge.style.height="auto";const ut=ge.getBoundingClientRect().height;ge.style.height=Ke,Nt(ut),C(Ct=>Ct.find(Pe=>Pe.toastId===m.id)?Ct.map(Pe=>Pe.toastId===m.id?{...Pe,height:ut}:Pe):[{toastId:m.id,height:ut,position:m.position},...Ct])},[F,m.title,m.description,C,m.id,m.jsx,m.action,m.cancel]);const wn=ne.useCallback(()=>{te(!0),Ze(kn.current),C(ge=>ge.filter(Ke=>Ke.toastId!==m.id)),setTimeout(()=>{q(m)},xA)},[m,q,C,kn]);ne.useEffect(()=>{if(m.promise&&Ce==="loading"||m.duration===1/0||m.type==="loading")return;let ge;return L||E||Et?(()=>{if(kr.current{m.onAutoClose==null||m.onAutoClose.call(m,m),wn()},ct.current)),()=>clearTimeout(ge)},[L,E,m,Ce,Et,wn]),ne.useEffect(()=>{m.delete&&(wn(),m.onDismiss==null||m.onDismiss.call(m,m))},[wn,m.delete]);function gl(){var ge;if(X?.loading){var Ke;return ne.createElement("div",{className:jn(N?.loader,m==null||(Ke=m.classNames)==null?void 0:Ke.loader,"sonner-loader"),"data-visible":Ce==="loading"},X.loading)}return ne.createElement(tA,{className:jn(N?.loader,m==null||(ge=m.classNames)==null?void 0:ge.loader),visible:Ce==="loading"})}const bl=m.icon||X?.[Ce]||WM(Ce);var Va,En;return ne.createElement("li",{tabIndex:0,ref:At,className:jn(se,pt,N?.toast,m==null||(i=m.classNames)==null?void 0:i.toast,N?.default,N?.[Ce],m==null||(r=m.classNames)==null?void 0:r[Ce]),"data-sonner-toast":"","data-rich-colors":(Va=m.richColors)!=null?Va:I,"data-styled":!(m.jsx||m.unstyled||b),"data-mounted":F,"data-promise":!!m.promise,"data-swiped":st,"data-removed":ee,"data-visible":Ne,"data-y-position":Qa,"data-x-position":Rt,"data-index":j,"data-front":Se,"data-swiping":fe,"data-dismissible":nn,"data-type":Ce,"data-invert":Hs,"data-swipe-out":ve,"data-swipe-direction":A,"data-expanded":!!(L||he&&F),"data-testid":m.testId,style:{"--index":j,"--toasts-before":j,"--z-index":U.length-j,"--offset":`${ee?Mt:kn.current}px`,"--initial-height":he?"auto":`${Sn}px`,...V,...m.style},onDragEnd:()=>{pe(!1),P(null),ra.current=null},onPointerDown:ge=>{ge.button!==2&&(xi||!nn||(qa.current=new Date,Ze(kn.current),ge.target.setPointerCapture(ge.pointerId),ge.target.tagName!=="BUTTON"&&(pe(!0),ra.current={x:ge.clientX,y:ge.clientY})))},onPointerUp:()=>{var ge,Ke,ut;if(ve||!nn)return;ra.current=null;const Ct=Number(((ge=At.current)==null?void 0:ge.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),oa=Number(((Ke=At.current)==null?void 0:Ke.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Pe=new Date().getTime()-((ut=qa.current)==null?void 0:ut.getTime()),_t=J==="x"?Ct:oa,Xa=Math.abs(_t)/Pe;if(Math.abs(_t)>=bA||Xa>.11){Ze(kn.current),m.onDismiss==null||m.onDismiss.call(m,m),G(J==="x"?Ct>0?"right":"left":oa>0?"down":"up"),wn(),mt(!0);return}else{var Dt,zt;(Dt=At.current)==null||Dt.style.setProperty("--swipe-amount-x","0px"),(zt=At.current)==null||zt.style.setProperty("--swipe-amount-y","0px")}Je(!1),pe(!1),P(null)},onPointerMove:ge=>{var Ke,ut,Ct;if(!ra.current||!nn||((Ke=window.getSelection())==null?void 0:Ke.toString().length)>0)return;const Pe=ge.clientY-ra.current.y,_t=ge.clientX-ra.current.x;var Xa;const Dt=(Xa=n.swipeDirections)!=null?Xa:SA(ce);!J&&(Math.abs(_t)>1||Math.abs(Pe)>1)&&P(Math.abs(_t)>Math.abs(Pe)?"x":"y");let zt={x:0,y:0};const xl=vn=>1/(1.5+Math.abs(vn)/20);if(J==="y"){if(Dt.includes("top")||Dt.includes("bottom"))if(Dt.includes("top")&&Pe<0||Dt.includes("bottom")&&Pe>0)zt.y=Pe;else{const vn=Pe*xl(Pe);zt.y=Math.abs(vn)0)zt.x=_t;else{const vn=_t*xl(_t);zt.x=Math.abs(vn)0||Math.abs(zt.y)>0)&&Je(!0),(ut=At.current)==null||ut.style.setProperty("--swipe-amount-x",`${zt.x}px`),(Ct=At.current)==null||Ct.style.setProperty("--swipe-amount-y",`${zt.y}px`)}},zr&&!m.jsx&&Ce!=="loading"?ne.createElement("button",{"aria-label":$,"data-disabled":xi,"data-close-button":!0,onClick:xi||!nn?()=>{}:()=>{wn(),m.onDismiss==null||m.onDismiss.call(m,m)},className:jn(N?.closeButton,m==null||(o=m.classNames)==null?void 0:o.closeButton)},(En=X?.close)!=null?En:rA):null,(Ce||m.icon||m.promise)&&m.icon!==null&&(X?.[Ce]!==null||m.icon)?ne.createElement("div",{"data-icon":"",className:jn(N?.icon,m==null||(u=m.classNames)==null?void 0:u.icon)},m.promise||m.type==="loading"&&!m.icon?m.icon||gl():null,m.type!=="loading"?bl:null):null,ne.createElement("div",{"data-content":"",className:jn(N?.content,m==null||(f=m.classNames)==null?void 0:f.content)},ne.createElement("div",{"data-title":"",className:jn(N?.title,m==null||(d=m.classNames)==null?void 0:d.title)},m.jsx?m.jsx:typeof m.title=="function"?m.title():m.title),m.description?ne.createElement("div",{"data-description":"",className:jn(ae,gi,N?.description,m==null||(g=m.classNames)==null?void 0:g.description)},typeof m.description=="function"?m.description():m.description):null),ne.isValidElement(m.cancel)?m.cancel:m.cancel&&is(m.cancel)?ne.createElement("button",{"data-button":!0,"data-cancel":!0,style:m.cancelButtonStyle||H,onClick:ge=>{is(m.cancel)&&nn&&(m.cancel.onClick==null||m.cancel.onClick.call(m.cancel,ge),wn())},className:jn(N?.cancelButton,m==null||(y=m.classNames)==null?void 0:y.cancelButton)},m.cancel.label):null,ne.isValidElement(m.action)?m.action:m.action&&is(m.action)?ne.createElement("button",{"data-button":!0,"data-action":!0,style:m.actionButtonStyle||re,onClick:ge=>{is(m.action)&&(m.action.onClick==null||m.action.onClick.call(m.action,ge),!ge.defaultPrevented&&wn())},className:jn(N?.actionButton,m==null||(p=m.classNames)==null?void 0:p.actionButton)},m.action.label):null)};function oy(){if(typeof window>"u"||typeof document>"u")return"ltr";const n=document.documentElement.getAttribute("dir");return n==="auto"||!n?window.getComputedStyle(document.documentElement).direction:n}function EA(n,i){const r={};return[n,i].forEach((o,u)=>{const f=u===1,d=f?"--mobile-offset":"--offset",g=f?vA:pA;function y(p){["top","right","bottom","left"].forEach(x=>{r[`${d}-${x}`]=typeof p=="number"?`${p}px`:p})}typeof o=="number"||typeof o=="string"?y(o):typeof o=="object"?["top","right","bottom","left"].forEach(p=>{o[p]===void 0?r[`${d}-${p}`]=g:r[`${d}-${p}`]=typeof o[p]=="number"?`${o[p]}px`:o[p]}):y(g)}),r}const CA=ne.forwardRef(function(i,r){const{id:o,invert:u,position:f="bottom-right",hotkey:d=["altKey","KeyT"],expand:g,closeButton:y,className:p,offset:x,mobileOffset:m,theme:b="light",richColors:E,duration:C,style:T,visibleToasts:R=mA,toastOptions:j,dir:U=oy(),gap:L=gA,icons:q,containerAriaLabel:I="Notifications"}=i,[Q,V]=ne.useState([]),H=ne.useMemo(()=>o?Q.filter(F=>F.toasterId===o):Q.filter(F=>!F.toasterId),[Q,o]),re=ne.useMemo(()=>Array.from(new Set([f].concat(H.filter(F=>F.position).map(F=>F.position)))),[H,f]),[se,ae]=ne.useState([]),[de,ce]=ne.useState(!1),[be,he]=ne.useState(!1),[N,X]=ne.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),$=ne.useRef(null),J=d.join("+").replace(/Key/g,"").replace(/Digit/g,""),P=ne.useRef(null),A=ne.useRef(!1),G=ne.useCallback(F=>{V(W=>{var ee;return(ee=W.find(te=>te.id===F.id))!=null&&ee.delete||Yt.dismiss(F.id),W.filter(({id:te})=>te!==F.id)})},[]);return ne.useEffect(()=>Yt.subscribe(F=>{if(F.dismiss){requestAnimationFrame(()=>{V(W=>W.map(ee=>ee.id===F.id?{...ee,delete:!0}:ee))});return}setTimeout(()=>{Px.flushSync(()=>{V(W=>{const ee=W.findIndex(te=>te.id===F.id);return ee!==-1?[...W.slice(0,ee),{...W[ee],...F},...W.slice(ee+1)]:[F,...W]})})})}),[Q]),ne.useEffect(()=>{if(b!=="system"){X(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?X("dark"):X("light")),typeof window>"u")return;const F=window.matchMedia("(prefers-color-scheme: dark)");try{F.addEventListener("change",({matches:W})=>{X(W?"dark":"light")})}catch{F.addListener(({matches:ee})=>{try{X(ee?"dark":"light")}catch(te){console.error(te)}})}},[b]),ne.useEffect(()=>{Q.length<=1&&ce(!1)},[Q]),ne.useEffect(()=>{const F=W=>{var ee;if(d.every(pe=>W[pe]||W.code===pe)){var fe;ce(!0),(fe=$.current)==null||fe.focus()}W.code==="Escape"&&(document.activeElement===$.current||(ee=$.current)!=null&&ee.contains(document.activeElement))&&ce(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[d]),ne.useEffect(()=>{if($.current)return()=>{P.current&&(P.current.focus({preventScroll:!0}),P.current=null,A.current=!1)}},[$.current]),ne.createElement("section",{ref:r,"aria-label":`${I} ${J}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},re.map((F,W)=>{var ee;const[te,fe]=F.split("-");return H.length?ne.createElement("ol",{key:F,dir:U==="auto"?oy():U,tabIndex:-1,ref:$,className:p,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":te,"data-x-position":fe,style:{"--front-toast-height":`${((ee=se[0])==null?void 0:ee.height)||0}px`,"--width":`${yA}px`,"--gap":`${L}px`,...T,...EA(x,m)},onBlur:pe=>{A.current&&!pe.currentTarget.contains(pe.relatedTarget)&&(A.current=!1,P.current&&(P.current.focus({preventScroll:!0}),P.current=null))},onFocus:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||A.current||(A.current=!0,P.current=pe.relatedTarget)},onMouseEnter:()=>ce(!0),onMouseMove:()=>ce(!0),onMouseLeave:()=>{be||ce(!1)},onDragEnd:()=>ce(!1),onPointerDown:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||he(!0)},onPointerUp:()=>he(!1)},H.filter(pe=>!pe.position&&W===0||pe.position===F).map((pe,ve)=>{var mt,st;return ne.createElement(wA,{key:pe.id,icons:q,index:ve,toast:pe,defaultRichColors:E,duration:(mt=j?.duration)!=null?mt:C,className:j?.className,descriptionClassName:j?.descriptionClassName,invert:u,visibleToasts:R,closeButton:(st=j?.closeButton)!=null?st:y,interacting:be,position:F,style:j?.style,unstyled:j?.unstyled,classNames:j?.classNames,cancelButtonStyle:j?.cancelButtonStyle,actionButtonStyle:j?.actionButtonStyle,closeButtonAriaLabel:j?.closeButtonAriaLabel,removeToast:G,toasts:H.filter(Je=>Je.position==pe.position),heights:se.filter(Je=>Je.position==pe.position),setHeights:ae,expandByDefault:g,gap:L,expanded:de,swipeDirections:i.swipeDirections})})):null}))}),TA=({...n})=>h.jsx(CA,{theme:"dark",className:"toaster group",icons:{success:h.jsx(IT,{className:"size-4"}),info:h.jsx(mM,{className:"size-4"}),warning:h.jsx(A0,{className:"size-4"}),error:h.jsx(RM,{className:"size-4"}),loading:h.jsx(xM,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...n});function De(n,i=!1){i?iy.error(n):iy(n)}function MA(){return h.jsx(TA,{position:"bottom-center"})}let R0=null,us=[];function dd(n){R0=n,us.forEach(i=>i())}function j0(n,i,r="",o="OK"){return new Promise(u=>dd({kind:"prompt",title:n,label:i,value:r,okLabel:o,resolve:u}))}function rs(n,i,r="Confirm",o=!1){return new Promise(u=>dd({kind:"confirm",title:n,message:i,confirmLabel:r,danger:o,resolve:u}))}function AA(){const n=S.useSyncExternalStore(i=>(us.push(i),()=>{us=us.filter(r=>r!==i)}),()=>R0);return n?n.kind==="prompt"?h.jsx(RA,{m:n}):h.jsx(jA,{m:n}):null}function O0(){dd(null)}function RA({m:n}){const i=S.useRef(null),r=u=>{O0(),n.resolve(u)},o=()=>r(i.current.value.trim()||null);return S.useEffect(()=>{i.current.focus(),i.current.select();const u=f=>{f.key==="Escape"&&r(null),f.key==="Enter"&&o()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[]),h.jsx("div",{className:"modal-back",onClick:u=>u.target===u.currentTarget&&r(null),children:h.jsxs("div",{className:"modal",children:[h.jsx("h3",{children:n.title}),h.jsx("label",{className:"modal-label",children:n.label}),h.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",defaultValue:n.value,ref:i}),h.jsxs("div",{className:"modal-actions",children:[h.jsx("button",{className:"ai-btn",onClick:()=>r(null),children:"Cancel"}),h.jsx("button",{className:"pbtn",onClick:o,children:n.okLabel})]})]})})}function jA({m:n}){const i=S.useRef(null),r=o=>{O0(),n.resolve(o)};return S.useEffect(()=>{i.current.focus();const o=u=>{u.key==="Escape"&&r(!1),u.key==="Enter"&&r(!0)};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[]),h.jsx("div",{className:"modal-back",onClick:o=>o.target===o.currentTarget&&r(!1),children:h.jsxs("div",{className:"modal",children:[h.jsx("h3",{children:n.title}),h.jsx("p",{className:"modal-msg",children:n.message}),h.jsxs("div",{className:"modal-actions",children:[h.jsx("button",{className:"ai-btn",onClick:()=>r(!1),children:"Cancel"}),h.jsx("button",{className:n.danger?"danger-btn":"pbtn",onClick:()=>r(!0),ref:i,children:n.confirmLabel})]})]})})}function OA(n){return Kt({queryKey:["projects"],queryFn:()=>tn("/api/projects"),enabled:n,refetchInterval:3e4,select:i=>i.projects||[]})}function NA(n){return Kt({queryKey:["orgs"],queryFn:()=>tn("/api/orgs"),enabled:n,select:i=>i.orgs||[]})}function N0(n){return Kt({queryKey:["admin","pending"],queryFn:()=>tn("/api/admin/pending"),enabled:n,select:i=>i.pending||[]})}function _0(){const n=jr();return()=>Promise.all([n.invalidateQueries({queryKey:["projects"]}),n.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function D0(n){return n.split("/").map(encodeURIComponent).join("/")}function sy(n){return n.split("/").map(decodeURIComponent).join("/")}const _A=new Set(["insights","history","install","settings"]);function z0(n,i){const r=n.replace(/^\/+/,"");if(i!=="hub")return{path:r?sy(r):""};const o=r.indexOf("/");if(o===-1)return{project:r,path:""};const u={project:r.slice(0,o),path:sy(r.slice(o+1))},f=u.path.indexOf("/"),d=f===-1?u.path:u.path.slice(0,f);return _A.has(d)&&(u.view=d,u.viewTarget=f===-1?"":u.path.slice(f+1).replace(/\/+$/,""),u.path=""),u}function DA(n,i){const r=D0(n);return i?"/"+i+(r?"/"+r:""):"/"+r}function ui(n,i,r){let o=(i?"/"+i:"")+"/"+n;return r&&(o+="/"+D0(r.replace(/\/+$/,""))),o}let hd="POP";const Uf=new Set;function k0(){for(const n of Uf)n()}window.addEventListener("popstate",()=>{hd="POP",k0()});function Vt(n,i){const r=location.pathname+location.search;!i?.replace&&r===n||(history[i?.replace?"replaceState":"pushState"](null,"",n),hd=i?.replace?"REPLACE":"PUSH",k0())}function md(){return S.useSyncExternalStore(n=>(Uf.add(n),()=>{Uf.delete(n)}),()=>location.pathname)}function zA(){return hd}function kA({to:n}){return S.useEffect(()=>{Vt(n,{replace:!0})},[n]),null}const LA=/\.(md|markdown)$/i,UA=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,HA=/\.html?$/i,BA=/\.(txt|log|json|ya?ml|toml|csv|go|py|js|ts|jsx|tsx|sh|bash|zsh|rb|rs|c|h|cpp|java|kt|swift|sql|css|xml|ini|conf|env|mod|sum|jsonl)$/i;function L0(n){if(n<1024)return n+" B";const i=["KB","MB","GB","TB"];let r=-1;do n/=1024,r++;while(n>=1024&&ru.invalidateQueries({queryKey:["orgs"]}),p=()=>u.invalidateQueries({queryKey:["invites",n.id]}),x=()=>u.invalidateQueries({queryKey:["orgShares",n.id]}),{data:m}=Kt({queryKey:["invites",n.id],queryFn:()=>tn(`/api/orgs/${n.id}/invites`),enabled:f,select:C=>C.invites||[]}),{data:b}=Kt({queryKey:["orgShares",n.id],queryFn:()=>tn(`/api/orgs/${n.id}/shares`),enabled:f,select:C=>C.shares||[]}),E=i.filter(C=>C.org===n.id);return h.jsxs("div",{className:"admin",children:[h.jsx("h1",{id:"org-title",children:n.name+(f?"":" · member")}),f&&h.jsxs("div",{className:"admin-row",children:[h.jsx("input",{id:"org-rename",type:"text",value:d,onChange:C=>g(C.target.value)}),h.jsx("button",{className:"pbtn",id:"org-rename-btn",onClick:async()=>{try{await Da("PATCH","/api/orgs/"+n.id,{name:d.trim()}),De("Renamed."),y()}catch(C){De(C.message,!0)}},children:"Rename org"})]}),h.jsx("h3",{children:"Members"}),h.jsx("div",{className:"admin-list",children:n.members.map(C=>{const T=!!r&&C.email.toLowerCase()===r.toLowerCase();return h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:C.email+(T?" (you)":"")}),f&&!T?h.jsxs(h.Fragment,{children:[h.jsxs("select",{value:C.role,onChange:async R=>{try{await Da("PATCH",`/api/orgs/${n.id}/members/${encodeURIComponent(C.email)}`,{role:R.target.value}),De("Role updated.")}catch(j){De(j.message,!0)}y()},children:[h.jsx("option",{value:"owner",children:"owner"}),h.jsx("option",{value:"member",children:"member"})]}),h.jsx("button",{className:"ai-del",onClick:async()=>{if(await rs("Remove member",`Remove ${C.email} from ${n.name}?`,"Remove",!0))try{await Da("DELETE",`/api/orgs/${n.id}/members/${encodeURIComponent(C.email)}`),De("Removed."),y()}catch(R){De(R.message,!0)}},children:"Remove"})]}):h.jsx("span",{className:"ai-tag",children:C.role})]},C.email)})}),f&&h.jsxs(h.Fragment,{children:[h.jsx("h3",{children:"Projects"}),h.jsxs("div",{className:"admin-list",children:[E.length===0&&h.jsx("div",{className:"admin-empty",children:"No projects yet."}),E.map(C=>h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:C.name}),h.jsx("button",{className:"ai-btn",onClick:async()=>{const T=await j0("Rename project","New name",C.name,"Rename");if(!(!T||T===C.name))try{await Da("PATCH","/api/projects/"+C.id,{name:T}),De("Renamed."),await o()}catch(R){De(R.message,!0)}},children:"Rename"}),h.jsx("button",{className:"ai-del",onClick:async()=>{if(await rs("Delete project",`Delete “${C.name}”? Its files stay in storage, but it's removed from the hub.`,"Delete",!0))try{await Da("DELETE","/api/projects/"+C.id),De(`Deleted “${C.name}”.`),await o()}catch(T){De(T.message,!0)}},children:"Delete"})]},C.id))]}),h.jsxs("div",{className:"admin-h",children:[h.jsx("h3",{children:"Invite links"}),h.jsx("button",{className:"pbtn",onClick:async()=>{try{const C=await hi(`/api/orgs/${n.id}/invites`),T=await Mr(C.url);De(T?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),p()}catch(C){De(C.message,!0)}},children:"New invite"})]}),h.jsxs("div",{className:"admin-list",children:[m&&m.length===0&&h.jsx("div",{className:"admin-empty",children:"No active invite links."}),(m||[]).map(C=>h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main mono",style:{cursor:"pointer"},title:"Copy",onClick:()=>Mr(C.url).then(T=>De(T?"Copied.":"Select and copy the link.")),children:C.url}),h.jsx("span",{className:"ai-tag",children:(C.creator?"by "+C.creator+" · ":"")+(C.uses?C.uses+" joined · ":"unused · ")+"expires "+new Date(C.expires).toLocaleDateString()}),h.jsx("button",{className:"ai-del",onClick:async()=>{if(await rs("Revoke invite","Revoke this invite link? Anyone still holding it won't be able to join.","Revoke",!0))try{await Da("DELETE",`/api/orgs/${n.id}/invites/${C.token}`),De("Revoked."),p()}catch(T){De(T.message,!0)}},children:"Revoke"})]},C.token))]}),h.jsx("h3",{children:"Public share links"}),h.jsxs("div",{className:"admin-list",children:[b&&b.length===0&&h.jsx("div",{className:"admin-empty",children:"No public shares."}),(b||[]).map(C=>h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main mono",style:{cursor:"pointer"},title:C.url,onClick:()=>window.open(C.url,"_blank"),children:C.path}),h.jsx("span",{className:"ai-tag",children:(C.project_name||"")+(C.creator?" · by "+C.creator:"")+(C.created?" · "+new Date(C.created).toLocaleDateString():"")}),h.jsx("button",{className:"ai-del",onClick:async()=>{if(await rs("Revoke share link",`Revoke the public link to “${C.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await Da("DELETE","/api/shares/"+C.token),De("Share revoked."),x()}catch(T){De(T.message,!0)}},children:"Revoke"})]},C.token))]})]})]})}function GA(){const n=jr(),{data:i,error:r}=Kt({queryKey:["admin","policy"],queryFn:()=>tn("/api/admin/policy")}),{data:o}=N0(!0),[u,f]=S.useState(!1),[d,g]=S.useState(!1);if(S.useEffect(()=>{i&&(f(i.require_verification&&i.mailer),g(i.require_approval))},[i]),S.useEffect(()=>{r&&De(r.message,!0)},[r]),!i)return null;const y=async(p,x,m)=>{try{await hi(`/api/admin/pending/${p}/${x}`),De((x==="approve"?"Approved ":"Denied ")+m),n.invalidateQueries({queryKey:["admin","pending"]})}catch(b){De(b.message,!0)}};return h.jsxs("div",{className:"admin",children:[h.jsx("h1",{children:"Signup & access"}),h.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),h.jsx("h3",{children:"New-account vetting"}),h.jsxs("div",{className:"admin-list",children:[h.jsx(cy,{label:"Require email verification",desc:i.mailer?"New accounts must click an emailed link before they can sign in — proves they control the address.":"Configure SMTP on the server (auth.smtp) to enable email verification.",checked:u,disabled:!i.mailer,onChange:f}),h.jsx(cy,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",checked:d,onChange:g})]}),h.jsx("button",{className:"pbtn",style:{marginTop:14},onClick:async()=>{try{await hi("/api/admin/policy",{require_verification:u,require_approval:d}),De("Signup policy saved."),n.invalidateQueries({queryKey:["admin","policy"]})}catch(p){De(p.message,!0)}},children:"Save policy"}),h.jsx("h3",{children:"Who can sign up"}),h.jsxs("div",{className:"admin-list",children:[h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Allowed email domains"}),h.jsx("span",{className:"ai-tag",children:i.allowed_domains&&i.allowed_domains.length?i.allowed_domains.map(p=>"@"+p).join(", "):"any"})]}),h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Self-signup"}),h.jsx("span",{className:"ai-tag",children:i.allow_signup?"open":"invite-only"})]}),h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:"Hub admins"}),h.jsx("span",{className:"ai-tag",children:i.admins&&i.admins.length?i.admins.join(", "):"none"})]})]}),h.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),h.jsx("h3",{children:"Pending signups"}),h.jsxs("div",{className:"admin-list",children:[(!o||o.length===0)&&h.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(o||[]).map(p=>h.jsxs("div",{className:"admin-item",children:[h.jsx("span",{className:"ai-main",children:(p.name?p.name+" · ":"")+p.email}),h.jsx("button",{className:"pbtn",onClick:()=>y(p.id,"approve",p.email),children:"Approve"}),h.jsx("button",{className:"ai-del",onClick:()=>y(p.id,"deny",p.email),children:"Deny"})]},p.id))]})]})}function cy({label:n,desc:i,checked:r,disabled:o,onChange:u}){return h.jsxs("label",{className:"admin-item toggle",style:o?{opacity:.55}:void 0,children:[h.jsxs("span",{className:"ai-main",children:[h.jsx("div",{className:"tg-label",children:n}),h.jsx("div",{className:"tg-desc",children:i})]}),h.jsx("input",{type:"checkbox",checked:r,disabled:o,onChange:f=>u(f.target.checked)})]})}const uy=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function H0(n){let i=0;for(const r of n)i=i*31+r.charCodeAt(0)>>>0;return uy[i%uy.length]}function fy({projects:n,currentId:i,menu:r}){const o=_0(),u=async()=>{const f=await j0("New project","Project name","","Create");if(f)try{const d=await hi("/api/projects",{name:f});await o(),Vt("/"+d.project.id),De(`Created “${d.project.name}”.`)}catch(d){De("Could not create the project: "+d.message,!0)}};return h.jsxs("nav",{id:"projects","aria-label":"Projects",children:[h.jsxs("div",{className:"nav-head",children:[h.jsx("span",{children:"Projects"}),h.jsx("button",{className:"nav-add",title:"New project",onClick:u,children:"+"})]}),h.jsx("div",{className:"proj-row",children:h.jsxs("span",{className:"proj-select-wrap",children:[i&&h.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:H0(n.find(f=>f.id===i)?.name||"")}}),h.jsxs("select",{id:"project-select","aria-label":"Switch project",value:i||"",onChange:f=>{f.target.value&&(Vt("/"+f.target.value),xn())},children:[!i&&h.jsx("option",{value:"",disabled:!0}),n.map(f=>h.jsx("option",{value:f.id,children:f.name},f.id))]}),h.jsx(ot,{name:"chevd"})]})}),r&&h.jsx("ul",{className:"nav-menu","aria-label":"Project pages",children:[["dashboard","Dashboard","dashboard",r.onDashboard],["install","Installation","terminal",r.onInstall],["history","History","hist",r.onHistory],["settings","Settings","gear",r.onSettings]].map(([f,d,g,y])=>h.jsx("li",{children:h.jsxs("div",{id:"nav-"+f,className:"row"+(r.active===f?" active":""),role:"button",tabIndex:0,onClick:y,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),y())},children:[h.jsx(ot,{name:g}),h.jsx("span",{className:"label",children:d})]})},f))})]})}function YA({...n}){return h.jsx(dC,{"data-slot":"dropdown-menu",...n})}function QA({...n}){return h.jsx(hC,{"data-slot":"dropdown-menu-trigger",...n})}function VA({className:n,sideOffset:i=4,...r}){return h.jsx(mC,{children:h.jsx(pC,{"data-slot":"dropdown-menu-content",sideOffset:i,className:Ls("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",n),...r})})}function pf({className:n,inset:i,variant:r="default",...o}){return h.jsx(yC,{"data-slot":"dropdown-menu-item","data-inset":i,"data-variant":r,className:Ls("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",n),...o})}function vf({className:n,inset:i,...r}){return h.jsx(vC,{"data-slot":"dropdown-menu-label","data-inset":i,className:Ls("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n),...r})}function XA({me:n,org:i,admin:r,onOrgSettings:o}){const u=n.name||n.email;return h.jsx("footer",{id:"accountbar",children:h.jsxs(YA,{modal:!1,children:[h.jsx(QA,{asChild:!0,children:h.jsxs("button",{id:"account-btn","aria-label":"Account menu",children:[h.jsx("span",{className:"avatar",style:{background:H0(n.email)},"aria-hidden":"true",children:(u.trim()[0]||"?").toUpperCase()}),h.jsxs("span",{className:"acct",children:[h.jsx("b",{children:u}),n.name&&h.jsx("small",{children:n.email})]}),h.jsx(ot,{name:"chev"})]})}),h.jsxs(VA,{id:"account-menu",side:"top",align:"start",sideOffset:6,className:"acct-menu",children:[i&&h.jsxs(h.Fragment,{children:[h.jsx(vf,{className:"menu-sec",children:"Organization"}),h.jsxs(pf,{id:"menu-org-settings",onSelect:()=>o(i),children:[h.jsx(ot,{name:"gear"}),h.jsxs("span",{children:[h.jsx("b",{children:i.name})," Settings"]})]})]}),r&&h.jsxs(h.Fragment,{children:[h.jsx(vf,{className:"menu-sec",children:"Hub"}),h.jsxs(pf,{id:"menu-hub-admin",onSelect:r.onClick,children:[h.jsx(ot,{name:"shield"}),h.jsxs("span",{children:["Signup & access",r.pending?` · ${r.pending}`:""]})]})]}),h.jsx(vf,{className:"menu-sec",children:"Account"}),h.jsx(pf,{asChild:!0,children:h.jsxs("a",{id:"signout",href:"/auth/logout",children:[h.jsx(ot,{name:"power"}),h.jsx("span",{children:"Log out"})]})})]})]})})}function KA({project:n,org:i}){return h.jsxs("div",{className:"project-settings",children:[h.jsx("h2",{children:n.name}),h.jsxs("dl",{className:"ps-facts",children:[h.jsx("dt",{children:"Project id"}),h.jsx("dd",{children:h.jsx("code",{children:n.id})}),i&&h.jsxs(h.Fragment,{children:[h.jsx("dt",{children:"Workspace"}),h.jsx("dd",{children:i.name})]}),n.created&&h.jsxs(h.Fragment,{children:[h.jsx("dt",{children:"Created"}),h.jsx("dd",{children:new Date(n.created).toLocaleDateString()})]})]})]})}const yf=[{key:"claude",label:"Claude Code & Cowork"},{key:"hermes",label:"Hermes",hook:"hermes",note:"Registers BearDrive's hooks in Hermes's config: pull before every turn, push after edits with a session note, and report file reads to Insights."},{key:"codex",label:"Codex",hook:"codex",note:"Registers hooks in .codex/hooks.json.",extra:"Run /hooks inside Codex once to trust the project's .codex layer — after that every turn pulls, edits push automatically, and reads are reported to Insights."}];function FA(n,i){const r=window.location.origin,o=i.id;if(n.key==="claude")return[{title:"Add the BearDrive plugin",desc:"One time, in any Claude Code session. The plugin ships the beardrive skill, the /beardrive commands, and turn-boundary sync hooks — and Claude Cowork shares the same plugins, so installing it once covers both.",code:`/plugin marketplace add runbear-io/beardrive +/plugin install beardrive@beardrive`},{title:"Set up this project conversationally",desc:"In a Claude Code or Cowork session in the folder where you want the files, run:",code:"/beardrive:install connect to "+r+", project "+o,extra:"Claude installs the CLI, signs this machine in, mounts the project, and registers the sync hooks — pull the latest before every turn, push after edits (stamped with the session that made them), and report file reads to Insights. It asks before anything it changes."}];const u=(i.name||"project").toLowerCase().replace(/[^a-z0-9._-]+/g,"-")||"project";return[{title:"Install the BearDrive CLI",desc:"One static binary. Homebrew on macOS and Linux; releases and `go install` also work.",code:"brew install runbear-io/tap/beardrive"},{title:"Sign in to this hub",desc:"Opens the browser once and stores a device token on this machine — the synced folder itself never holds credentials.",code:"bdrive login "+r},{title:"Mount the project into a local folder",desc:"Run it where you want the files. An existing folder works too — contents merge, and re-running init later (or after moving the folder) just resumes.",code:"mkdir -p ~/"+u+" && cd ~/"+u+` +bdrive init --project `+o},{title:"Connect "+n.label,desc:n.note,code:"bdrive hooks install --agent "+n.hook,extra:n.extra}]}function ZA(){try{return localStorage.getItem("bdrive-guide-agent")||"claude"}catch{return"claude"}}function B0({project:n}){const[i,r]=S.useState(ZA),o=yf.find(u=>u.key===i)||yf[0];return h.jsxs("div",{className:"guide",children:[h.jsx("h1",{className:"in-title",children:n.name}),h.jsx("p",{className:"dl-sub",children:"Mount this project as a folder on any machine and connect your coding agent: files sync both ways in the background, every change is journaled with who made it, and agent reads feed Insights."}),h.jsx("div",{className:"gd-tabs",children:yf.map(u=>h.jsx("button",{className:"gd-tab"+(u.key===o.key?" active":""),"data-key":u.key,onClick:()=>{r(u.key);try{localStorage.setItem("bdrive-guide-agent",u.key)}catch{}},children:u.label},u.key))}),h.jsxs("div",{className:"gd-body",children:[FA(o,n).map((u,f)=>h.jsxs("div",{className:"gd-step",children:[h.jsxs("div",{className:"gd-step-head",children:[h.jsx("span",{className:"gd-num",children:f+1}),h.jsx("span",{className:"gd-step-title",children:u.title})]}),u.desc&&h.jsx("p",{className:"gd-desc",children:u.desc}),u.code&&h.jsx(PA,{code:u.code}),u.extra&&h.jsx("p",{className:"gd-desc gd-extra",children:u.extra})]},f)),h.jsx("p",{className:"gd-done",children:"That's it — the folder now syncs on its own. Every agent turn starts from the latest state, edits appear here (and on every teammate's mount) within seconds, and what your agents read shows up in Insights."})]})]})}function PA({code:n}){const[i,r]=S.useState("Copy");return h.jsxs("pre",{className:"gd-code",children:[h.jsx("code",{children:n}),h.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Mr(n)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:i})]})}function IA({authEnabled:n,onCreate:i}){const r=S.useRef(null),o=S.useRef(null),u=()=>{const f=r.current.value.trim(),d=f.match(/join\/([0-9a-f]+)/)||f.match(/^([0-9a-f]{8,})$/);if(!d){De("That doesn't look like an invite link.",!0);return}location.href="/join/"+d[1]};return h.jsxs("div",{className:"onboard",children:[h.jsx("h1",{children:"Welcome to BearDrive"}),h.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&h.jsxs("div",{className:"ob-card",children:[h.jsx("h3",{children:"Have an invite link?"}),h.jsx("p",{children:"A teammate can send you a join link. Paste it here:"}),h.jsxs("div",{className:"ob-row",children:[h.jsx("input",{id:"ob-invite",type:"text",placeholder:"https://…/join/…",autoComplete:"off",ref:r}),h.jsx("button",{id:"ob-join",className:"pbtn",onClick:u,children:"Join"})]})]}),h.jsxs("div",{className:"ob-card",children:[h.jsx("h3",{children:"Or start a new project"}),h.jsx("p",{children:"Create a shared space for your team's files."}),h.jsxs("div",{className:"ob-row",children:[h.jsx("input",{id:"ob-name",type:"text",placeholder:"Project name, e.g. wiki",autoComplete:"off",ref:o}),h.jsx("button",{id:"ob-create",className:"pbtn",onClick:()=>i(o.current.value.trim()),children:"Create"})]})]})]})}function $A(n,i=!0){const r=Kt({queryKey:["tree",n],queryFn:()=>tn(n+"tree"),enabled:i,refetchInterval:15e3}),o=S.useMemo(()=>{const u=[],f=new Map,d=g=>{for(const y of g.children||[])y.dir?(f.set(y.path,y),d(y)):u.push(y)};return r.data&&d(r.data),{flatFiles:u,dirIndex:f}},[r.data]);return{tree:r.data,...o,loaded:!!r.data}}function JA(n,i){return Kt({queryKey:["heat",n],queryFn:()=>tn(n+"heat?days=30"),enabled:i,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function WA(n,i,r){return Kt({queryKey:["history",n,"prefix",i,20],queryFn:()=>tn(n+"history?prefix="+encodeURIComponent(i)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function dy(n,i,r){if(!n)return null;if(!r)return n[i]||null;const o={human:0,agent:0,share:0};for(const[u,f]of Object.entries(n))u.startsWith(i+"/")&&(o.human+=f.human||0,o.agent+=f.agent||0,o.share+=f.share||0);return o.human||o.agent||o.share?o:null}function Ar(n){return(n.human||0)+(n.agent||0)+(n.share||0)}function fs(n){const i=Ar(n);if(!i)return"";let r=i+(i===1?" read":" reads");return n.agent&&(r+=" ("+n.agent+" agent)"),r}function eR(n){const i=Ar(n);return i?i<3?1:i<10?2:i<30?3:4:0}function tR(n){return h.jsx("nav",{id:"tree","aria-label":"Files",children:n.root&&h.jsx(q0,{nodes:n.root.children||[],...n})})}function q0({nodes:n,...i}){return h.jsx("ul",{children:n.map(r=>h.jsx(nR,{node:r,...i},r.path))})}function nR({node:n,...i}){const{expanded:r,onToggle:o,currentPath:u,listingShowing:f,onOpen:d}=i,g=n.dir?r.has(n.path):!1,y=()=>{if(n.dir&&u===n.path&&f){o(n.path);return}d(n.path),n.dir||xn()};return h.jsxs("li",{className:(n.dir?"dir":"file")+(n.dir&&!g?" collapsed":""),children:[h.jsxs("div",{className:"row"+(u===n.path?" active":""),"data-path":n.path,tabIndex:0,role:"button",title:n.name,"aria-expanded":n.dir?g:void 0,onClick:y,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),y())},children:[h.jsx("span",{className:"chev",onClick:p=>{n.dir&&(p.stopPropagation(),o(n.path))},children:h.jsx(ot,{name:"chevd"})}),h.jsx("span",{className:"ticon",children:h.jsx(ot,{name:n.dir?"folder":"doc"})}),h.jsx("span",{className:"label",children:n.name})]}),n.dir&&h.jsx(q0,{nodes:n.children||[],...i})]})}function aR(n){const i=n.split("/"),r=[];let o="";for(let u=0;u{o=o?o+"/"+u:u;const d=o,g=f===r.length-1;return h.jsxs("span",{children:[f>0&&h.jsx("span",{className:"crumb-sep",children:"/"}),g?h.jsx("span",{children:u}):h.jsx("span",{className:"crumb-seg",title:d,onClick:()=>i(d),children:u})]},d)})})}const iR={add:"plus",edit:"edit",delete:"x"},rR={add:"added",edit:"edited",delete:"deleted"};function G0({entry:n,onOpen:i}){const[r,o]=S.useState(!1),u=n.kind==="put"?"edit":n.kind,f=n.user_name?`${n.user_name} <${n.user}>`:n.user||n.author||"unknown",d=[n.device.name||n.device.id,n.device.os,n.device.ip].filter(Boolean).join(" · "),g=u!=="delete",y=p=>{p.target.tagName!=="A"&&g&&i(n.path)};return h.jsxs("div",{className:"hentry "+u+(g?" clickable":""),tabIndex:g?0:void 0,role:g?"button":void 0,onClick:y,onKeyDown:p=>{g&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(n.path))},children:[h.jsxs("div",{className:"hline",children:[h.jsx("span",{className:"hkind",children:h.jsx(ot,{name:iR[u]||"dot"})}),h.jsx("span",{className:"hpath",children:n.path}),h.jsx("span",{className:"htag",children:rR[u]||u}),h.jsx("span",{className:"htime",children:new Date(n.time).toLocaleString()})]}),h.jsxs("div",{className:"hmeta",children:[h.jsx("span",{className:"hwho",children:f}),h.jsx("span",{className:"hdev",children:d}),h.jsx("span",{className:"hsize",children:n.size?L0(n.size):""})]}),n.note&&h.jsx("div",{className:"hnote"+(r?" open":""),tabIndex:0,role:"button",title:r?"Collapse note":"Show full note","aria-expanded":r,onClick:p=>{p.stopPropagation(),p.target.tagName!=="A"&&o(!r)},onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),p.stopPropagation(),o(!r))},children:n.note.split(/(https?:\/\/\S+)/).map((p,x)=>/^https?:\/\//.test(p)?h.jsx("a",{href:p,target:"_blank",rel:"noopener",children:p},x):p)})]})}function oR(n){const{node:i,heatMap:r,onOpen:o}=n,u=(i.children||[]).slice().sort((p,x)=>Number(x.dir||!1)-Number(p.dir||!1)||p.name.localeCompare(x.name)),f=u.filter(p=>p.dir).length,d=u.length-f,g=[];f&&g.push(f+(f===1?" folder":" folders")),d&&g.push(d+(d===1?" file":" files"));const y=dy(r,i.path,!0);return y&&g.push(fs(y)+" in 30 days"),h.jsxs("div",{className:"dirlist",children:[h.jsxs("h1",{className:"dl-title",children:[h.jsx("span",{className:"dl-title-icon",children:h.jsx(ot,{name:"folder"})}),h.jsx("span",{children:i.name})]}),h.jsx("p",{className:"dl-sub",children:g.join(" · ")||"Empty folder"}),u.length===0?h.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):h.jsx("div",{className:"dl-items",children:u.map(p=>{let x="";if(p.dir){const b=(p.children||[]).length;x=b+(b===1?" item":" items")}else x=[p.size?L0(p.size):"",p.time?new Date(p.time).toLocaleDateString():""].filter(Boolean).join(" · ");const m=dy(r,p.path,!!p.dir);return m&&(x=fs(m)+(x?" · "+x:"")),h.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:p.path,onClick:()=>o(p.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),o(p.path))},children:[h.jsx("span",{className:"ticon",children:h.jsx(ot,{name:p.dir?"folder":"doc"})}),h.jsx("span",{className:"dl-name",children:p.name}),m&&h.jsx("span",{className:"heatdot lvl"+eR(m),title:fs(m)+" in 30 days"}),h.jsx("span",{className:"dl-meta",children:x})]},p.path)})}),n.hub&&h.jsx(sR,{apiBase:n.apiBase,prefix:i.path+"/",onOpen:o,onFullHistory:()=>n.onFullHistory(i.path+"/"),onRendered:n.onRendered})]})}function sR(n){const i=WA(n.apiBase,n.prefix,!0),{onRendered:r}=n;return S.useEffect(()=>{i&&i.length&&r&&r()},[i,r]),!i||i.length===0?null:h.jsxs("div",{className:"dl-history",children:[h.jsx("h3",{className:"dl-h3",children:"Recent changes"}),h.jsx("div",{className:"history dl-hlist",children:i.map((o,u)=>h.jsx(G0,{entry:o,onOpen:n.onOpen},u))}),h.jsx("button",{className:"ai-btn dl-more",onClick:n.onFullHistory,children:"Full history"})]})}function cR(n){const{apiBase:i,path:r,onMeta:o}=n,u=i+"file?path="+encodeURIComponent(r);return S.useEffect(()=>()=>o(""),[r,o]),LA.test(r)?h.jsx(uR,{...n}):HA.test(r)?h.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:u,title:r,onLoad:n.onRendered}):UA.test(r)?h.jsx(hR,{src:u,alt:r,onRendered:n.onRendered}):BA.test(r)?h.jsx(mR,{...n,fileURL:u}):h.jsxs("div",{className:"filecard",children:[h.jsx("div",{className:"name",children:r.split("/").pop()}),h.jsx("p",{children:"No preview for this file type."}),h.jsx("a",{className:"btn",download:!0,href:i+"download?path="+encodeURIComponent(r),children:"Download"})]})}function uR(n){const{apiBase:i,path:r,heatMap:o,flatFiles:u,onOpenFile:f,onMeta:d,onRendered:g}=n,{data:y,error:p}=Kt({queryKey:["render",i,r],queryFn:()=>tn(i+"render?path="+encodeURIComponent(r))}),x=S.useMemo(()=>y?dR(y.html,r,i):"",[y,r,i]);return S.useEffect(()=>{if(!y)return;const m=[];y.author&&m.push(y.author+(y.device?" on "+y.device:"")),y.time&&m.push(new Date(y.time).toLocaleString());const b=o&&o[y.path];b&&Ar(b)&&m.push(fs(b)+" / 30d"),d(m.join(" · ")),g?.()},[y,o,d,g]),p?h.jsxs("div",{className:"empty",children:["Could not load file: ",p.message]}):y?h.jsx("div",{dangerouslySetInnerHTML:{__html:x},onClick:m=>fR(m,r,u,f)}):null}function fR(n,i,r,o){const u=n.target.closest("a");if(!u||!n.currentTarget.contains(u))return;const f=u.getAttribute("href")||"",d=i.includes("/")?i.slice(0,i.lastIndexOf("/")):"";f.startsWith("wiki:")?(n.preventDefault(),pR(decodeURIComponent(f.slice(5)),r,o)):/^([a-z]+:|\/|#)/i.test(f)||(n.preventDefault(),o(U0(d,decodeURIComponent(f))))}function dR(n,i,r){const o=i.includes("/")?i.slice(0,i.lastIndexOf("/")):"",u=d=>r+"file?path="+encodeURIComponent(d),f=new DOMParser().parseFromString(n,"text/html");for(const d of f.querySelectorAll("img")){const g=d.getAttribute("src")||"";/^([a-z]+:|\/)/i.test(g)||d.setAttribute("src",u(U0(o,g)))}for(const d of f.querySelectorAll("a")){const g=d.getAttribute("href")||"";/^https?:/i.test(g)&&(d.setAttribute("target","_blank"),d.setAttribute("rel","noopener"))}return f.body.innerHTML}function hR({src:n,alt:i,onRendered:r}){return h.jsx("img",{src:n,alt:i,onLoad:r})}function mR(n){const{path:i,fileURL:r,onRendered:o}=n,{data:u,error:f}=Kt({queryKey:["text",r],queryFn:async()=>{const d=await fetch(r);if(!d.ok)throw new Error(await d.text());return d.text()}});return S.useEffect(()=>{u!=null&&o?.()},[u,o]),f?h.jsxs("div",{className:"empty",children:["Could not load file: ",f.message]}):u==null?null:h.jsx("pre",{className:"plain",children:u},i)}function pR(n,i,r){const o=n.toLowerCase(),u=i.find(f=>f.path.toLowerCase()===o||f.path.toLowerCase()===o+".md")||i.find(f=>{const d=f.name.toLowerCase();return d===o||d===o+".md"});u&&r(u.path)}function vR({url:n,copied:i,onClose:r}){const o=n.split("/s/")[1];return S.useEffect(()=>{const u=f=>{f.key==="Escape"&&r()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[r]),h.jsx("div",{className:"modal-back",onClick:u=>u.target===u.currentTarget&&r(),children:h.jsxs("div",{className:"modal",children:[h.jsx("h3",{children:"Public link created"}),h.jsxs("p",{children:[h.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it."]}),h.jsx("div",{className:"modal-url",children:n}),h.jsxs("div",{className:"modal-actions",children:[h.jsx("button",{className:"pbtn",onClick:()=>Mr(n).then(u=>De(u?"Copied.":"Select and copy the link above.")),children:i?"Copied ✓":"Copy link"}),h.jsx("button",{className:"ai-btn",onClick:()=>window.open(n,"_blank"),children:"Open"}),h.jsx("button",{className:"ai-del",onClick:async()=>{try{await Da("DELETE","/api/shares/"+o),De("Link revoked — it no longer works."),r()}catch(u){De(u.message,!0)}},children:"Revoke"}),h.jsx("button",{className:"ai-btn",onClick:r,children:"Done"})]})]})})}function hy(n,i){if(!n)return{score:0,hits:[]};const r=n.toLowerCase(),o=i.toLowerCase();let u=0,f=0,d=0;const g=[];for(let y=0;y3&&o.endsWith("ies")?u=o.slice(0,-3)+"y":o.length>3&&o.endsWith("es")?u=o.slice(0,-2):o.length>2&&o.endsWith("s")&&(u=o.slice(0,-1)),u?hy(u,i):null}function gR({text:n,hits:i}){const r=[];let o=0;return i.forEach((u,f)=>{u>o&&r.push(n.slice(o,u)),r.push(h.jsx("b",{children:n[u]},f)),o=u+1}),r.push(n.slice(o)),h.jsx("span",{className:"plabel",children:r})}function bR({open:n,onClose:i,candidates:r}){const[o,u]=S.useState(""),[f,d]=S.useState(0),g=S.useRef(null),y=S.useRef(null),p=S.useMemo(()=>{if(!n)return[];const m=[];for(const b of r()){const E=yR(o,b.label);E&&m.push({...b,score:E.score,hits:E.hits})}return m.sort((b,E)=>E.score-b.score),m.slice(0,40)},[n,o,r]);S.useEffect(()=>{n&&(u(""),d(0),g.current?.focus())},[n]),S.useEffect(()=>d(0),[o]),S.useEffect(()=>{y.current?.children[f]?.scrollIntoView({block:"nearest"})},[f,p]);const x=m=>{i(),m.run()};return S.useEffect(()=>{if(!n)return;const m=b=>{if(b.key==="Escape")b.preventDefault(),i();else if(b.key==="ArrowDown"||b.key==="ArrowUp"){b.preventDefault();const E=p.length;E&&d(C=>(C+(b.key==="ArrowDown"?1:E-1))%E)}else b.key==="Enter"&&(b.preventDefault(),p[f]&&x(p[f]))};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[n,p,f]),n?h.jsx("div",{id:"palette-overlay",onClick:m=>m.target===m.currentTarget&&i(),children:h.jsxs("div",{id:"palette",role:"dialog","aria-label":"Search and quick actions",children:[h.jsxs("div",{id:"palette-inputwrap",children:[h.jsx(ot,{name:"search"}),h.jsx("input",{id:"palette-input",type:"text",placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,ref:g,value:o,onChange:m=>u(m.target.value)})]}),h.jsx("ul",{id:"palette-results",ref:y,children:p.length===0?h.jsx("li",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):p.map((m,b)=>h.jsxs("li",{className:b===f?"selected":void 0,onClick:()=>x(m),onMouseMove:()=>f!==b&&d(b),children:[h.jsx("span",{className:"picon",children:h.jsx(ot,{name:m.icon})}),h.jsx(gR,{text:m.label,hits:m.hits}),h.jsx("span",{className:"pkind",children:m.kind})]},m.kind+":"+m.label))}),h.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})}):null}const pr=3,ci=30;function xR(n,i){return Kt({queryKey:["heatDevices",n],queryFn:()=>tn(n+"heat?by=device&days=30"),enabled:i,retry:!1,staleTime:6e4}).data?.devices??null}function my(n){const[i,r]=S.useState("all"),{flatFiles:o,heatMap:u,devices:f,scope:d}=n,g=b=>!d||b===d||b.startsWith(d+"/"),y=d?o.filter(b=>g(b.path)):o,p=f&&d?f.map(b=>{const E={};for(const[C,T]of Object.entries(b.folders||{}))g(C)&&(E[C]=T);return{...b,folders:E}}).filter(b=>Object.keys(b.folders).length>0):f,x=Date.now(),m=y.map(b=>{const E=u&&u[b.path]||{},C=b.time?Math.max(0,(x-new Date(b.time).getTime())/864e5):0,T=i==="all"?Ar(E):E[i]||0;return{path:b.path,reads:T,agent:E.agent||0,total:Ar(E),days:C,danger:T>=pr&&C>=ci}});return h.jsxs("div",{className:"insights",children:[h.jsxs("h1",{className:"in-title",children:["Knowledge insights",d?h.jsxs("span",{className:"in-scope",children:[" · ",d]}):null]}),h.jsx("p",{className:"dl-sub",children:d?`Reads over the last 30 days × freshness, for ${d} and everything in it.`:"Reads over the last 30 days × how long since each file changed. Hot but stale knowledge — read a lot, maintained by nobody — is the danger zone."}),h.jsx("div",{className:"in-lens",children:["all","human","agent"].map(b=>h.jsx("button",{className:"in-lens-btn"+(b===i?" active":""),onClick:()=>r(b),children:b==="all"?"All reads":b==="human"?"Human reads":"Agent reads"},b))}),h.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness"}),h.jsx(wR,{pts:m,onOpenFile:n.onOpenFile,onOpenFolder:n.onOpenFolder,isFolder:n.isFolder}),h.jsx("h3",{className:"dl-h3",children:"Reads × freshness"}),h.jsx(ER,{pts:m,onOpenFile:n.onOpenFile}),h.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),h.jsx(CR,{pts:m,lens:i,onOpenFile:n.onOpenFile}),p&&p.length>0&&h.jsxs(h.Fragment,{children:[h.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),h.jsx(TR,{devices:p})]})]})}function SR(n){const i=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,n/300))*(i.length-1),o=Math.min(i.length-2,Math.floor(r)),u=r-o,f=i[o].map((d,g)=>Math.round(d+(i[o+1][g]-d)*u));return`rgb(${f[0]},${f[1]},${f[2]})`}function py(n,i,r,o,u){const f=n.reduce((p,x)=>p+x.value,0);if(!f||o<=0||u<=0)return[];const d=n.slice().sort((p,x)=>x.value-p.value).map(p=>({it:p,a:p.value/f*o*u})),g=(p,x)=>{const b=p.reduce((C,T)=>C+T.a,0)/x;let E=0;for(const C of p){const T=C.a/b;E=Math.max(E,T/b,b/T)}return E},y=[];for(;d.length;){const p=o>=u,x=p?u:o,m=[d.shift()];for(;d.length&&g(m.concat(d[0]),x)<=g(m,x);)m.push(d.shift());const b=m.reduce((C,T)=>C+T.a,0)/x;let E=0;for(const C of m){const T=C.a/b;p?y.push({item:C.it,x:i,y:r+E,w:b,h:T}):y.push({item:C.it,x:i+E,y:r,w:T,h:b}),E+=T}p?(i+=b,o-=b):(r+=b,u-=b)}return y}const gf=15;function wR({pts:n,onOpenFile:i,onOpenFolder:r,isFolder:o}){const d=new Map;for(const y of n){const p=y.path.includes("/")?y.path.split("/")[0]:"/";let x=d.get(p);x||d.set(p,x={name:p,files:[],value:0}),x.files.push(y),x.value+=y.reads+1}const g=[];for(const y of py([...d.values()],0,0,720,480)){const p=y.item,x=p.name==="/"?"":p.name;if(g.push(h.jsx("rect",{x:y.x+1,y:y.y+1,width:Math.max(0,y.w-2),height:Math.max(0,y.h-2),rx:3,className:"in-tm-group","data-dir":x},"g"+p.name)),y.w>46&&y.h>gf+10){let b=p.name==="/"?"(root)":p.name;const E=Math.floor((y.w-8)/6);b.length>E&&(b=b.slice(0,Math.max(1,E-1))+"…"),g.push(h.jsx("text",{x:y.x+5,y:y.y+12,className:"in-tm-glabel","data-dir":x,children:b},"gl"+p.name))}const m=py(p.files.map(b=>({...b,name:b.path.split("/").pop(),value:b.reads+1})),y.x+2,y.y+gf,Math.max(0,y.w-4),Math.max(0,y.h-gf-2));for(const b of m)if(g.push(h.jsx("rect",{x:b.x+.6,y:b.y+.6,width:Math.max(.4,b.w-1.2),height:Math.max(.4,b.h-1.2),rx:1.5,fill:SR(b.item.days),className:"in-tm-cell","data-path":b.item.path,children:h.jsx("title",{children:`${b.item.path} — ${b.item.reads} read${b.item.reads===1?"":"s"}/30d · changed ${Math.round(b.item.days)}d ago`})},b.item.path)),b.w>54&&b.h>16){const E=Math.floor((b.w-8)/6);let C=(b.item.danger?"⚠ ":"")+b.item.name;C.length>E&&(C=C.slice(0,Math.max(1,E-1))+"…"),E>=5&&g.push(h.jsx("text",{x:b.x+4.5,y:b.y+12.5,className:"in-tm-label","data-path":b.item.path,children:C},"l"+b.item.path))}}return h.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:y=>{const p=y.target.closest("[data-path], [data-dir]");if(!p)return;const x=p.getAttribute("data-path");if(x)return i(x);const m=p.getAttribute("data-dir");m&&o(m)&&r(m)},children:g})}function ER({pts:n,onOpenFile:i}){const u={l:44,r:16,t:20,b:34},f=Math.max(ci*2,...n.map(m=>m.days)),d=Math.max(pr*2,...n.map(m=>m.reads)),g=m=>Math.log10(m+1)/Math.log10(f+1),y=m=>Math.log10(m+1)/Math.log10(d+1),p=m=>u.l+g(m)*(720-u.l-u.r),x=m=>360-u.b-y(m)*(360-u.t-u.b);return h.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[h.jsx("rect",{x:p(ci),y:u.t,width:720-u.r-p(ci),height:x(pr)-u.t,className:"in-danger-zone"}),h.jsx("line",{x1:p(ci),y1:u.t,x2:p(ci),y2:360-u.b,className:"in-threshold"}),h.jsx("line",{x1:u.l,y1:x(pr),x2:720-u.r,y2:x(pr),className:"in-threshold"}),h.jsx("line",{x1:u.l,y1:360-u.b,x2:720-u.r,y2:360-u.b,className:"in-axis"}),h.jsx("line",{x1:u.l,y1:u.t,x2:u.l,y2:360-u.b,className:"in-axis"}),h.jsx("text",{x:(u.l+720-u.r)/2,y:352,className:"in-label",children:"days since last change →"}),h.jsx("text",{x:12,y:(u.t+360-u.b)/2,className:"in-label",transform:`rotate(-90 12 ${(u.t+360-u.b)/2})`,children:"reads / 30d →"}),h.jsx("text",{x:720-u.r-6,y:u.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),h.jsx("text",{x:u.l+6,y:u.t+14,className:"in-quad",children:"hot + fresh"}),h.jsx("text",{x:720-u.r-6,y:360-u.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),h.jsx("text",{x:720-u.r-6,y:u.t+28,className:"in-label",textAnchor:"end",children:"dot size = agent share of reads"}),n.map(m=>{const b=m.total?(m.agent||0)/m.total:0;return h.jsx("circle",{cx:Number(p(m.days).toFixed(1)),cy:Number(x(m.reads).toFixed(1)),r:Number((3+4*b).toFixed(1)),className:"in-pt"+(m.danger?" danger":m.reads?"":" cold"),onClick:()=>i(m.path),children:h.jsx("title",{children:`${m.path} — ${m.reads} read${m.reads===1?"":"s"} / 30d · changed ${Math.round(m.days)}d ago`})},m.path)})]})}function CR({pts:n,lens:i,onOpenFile:r}){const o=n.filter(f=>f.reads>0).sort((f,d)=>d.reads-f.reads||d.days-f.days).slice(0,20);if(!o.length)return h.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const u=o[0].reads;return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"in-hotpath",children:o.map(f=>{const d=i==="agent"?1:i==="human"?0:f.total?f.agent/f.total:0,g=f.reads/u*100;return h.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:f.danger?`${f.reads} read${f.reads===1?"":"s"}/30d · unchanged ${Math.round(f.days)}d — review this file`:f.path,onClick:()=>r(f.path),onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),r(f.path))},children:[h.jsx("span",{className:"in-hp-name"+(f.danger?" danger":""),children:f.path+(f.danger?" ⚠":"")}),h.jsxs("span",{className:"in-hp-bar",children:[h.jsx("span",{className:"in-hp-agent",style:{width:(g*d).toFixed(1)+"%"}}),h.jsx("span",{className:"in-hp-human",style:{width:(g*(1-d)).toFixed(1)+"%"}})]}),h.jsx("span",{className:"in-hp-count",children:f.reads})]},f.path)})}),h.jsxs("p",{className:"in-legend",children:[h.jsx("span",{className:"in-sw agent"})," agent reads ",h.jsx("span",{className:"in-sw human"})," human reads"]})]})}function TR({devices:n}){const i=new Map;for(const b of n)for(const[E,C]of Object.entries(b.folders||{}))i.set(E,(i.get(E)||0)+C);const r=[...i.entries()].sort((b,E)=>E[1]-b[1]).slice(0,12).map(b=>b[0]),o=n.slice(0,12),u=140,f=6,d=Math.min(76,Math.max(34,(720-u-8)/r.length)),g=26,y=720,p=f+o.length*g+58,x=Math.max(1,...o.flatMap(b=>r.map(E=>(b.folders||{})[E]||0))),m=b=>{const E=[23,25,31],C=[245,166,35],T=E.map((R,j)=>Math.round(R+(C[j]-R)*b));return`rgb(${T[0]},${T[1]},${T[2]})`};return h.jsxs("svg",{viewBox:`0 0 ${y} ${p}`,className:"in-chart in-matrix",children:[o.map((b,E)=>{let C=b.name||b.id||"";return C.length>20&&(C=C.slice(0,19)+"…"),h.jsxs("g",{children:[h.jsx("text",{x:u-8,y:f+E*g+17,textAnchor:"end",className:"in-label",children:C}),r.map((T,R)=>{const j=(b.folders||{})[T]||0;return h.jsx("rect",{x:u+R*d,y:f+E*g,width:d-4,height:g-4,rx:3,fill:m(Math.sqrt(j/x)),children:h.jsx("title",{children:`${b.name||b.id} × ${T||"(root)"}: ${j} read${j===1?"":"s"}/30d`})},T)})]},b.id||E)}),r.map((b,E)=>{const C=u+E*d+(d-4)/2,T=f+o.length*g+14;return h.jsx("text",{x:C,y:T,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${C} ${T})`,children:b||"(root)"},b)})]})}function MR(n){const{apiBase:i,target:r,isFolder:o,onMeta:u,onRendered:f}=n,d=r?o(r)?{prefix:r+"/"}:{path:r}:{prefix:""},g="path"in d&&d.path!==void 0?"path="+encodeURIComponent(d.path):"prefix="+encodeURIComponent(d.prefix??""),{data:y,error:p}=Kt({queryKey:["history",i,g,200],queryFn:()=>tn(i+"history?"+g+"&n=200"),staleTime:15e3});if(S.useEffect(()=>{p&&u("History unavailable: "+p.message)},[p,u]),S.useEffect(()=>{y&&f?.()},[y,f]),!y)return null;const x=y.entries||[];return h.jsxs("div",{className:"history",children:[x.length===0&&h.jsx("div",{className:"empty",children:"No history yet."}),x.map((m,b)=>h.jsx(G0,{entry:m,onOpen:n.onOpen},b))]})}function AR(n,i){return n?i(n)?n+"/ (folder)":n:"all changes"}function Y0(n){const{config:i,apiBase:r,route:o,hub:u,project:f}=n,d=md(),g=jr(),{tree:y,flatFiles:p,dirIndex:x,loaded:m}=$A(r,!u||!!f),b=JA(r,u&&!!f&&!!i.reads?.enabled),E=u&&!!f&&!o.path&&!o.view,C=!!n.canInsights&&(o.view==="insights"||E),T=xR(r,C);S.useEffect(()=>{C&&g.invalidateQueries({queryKey:["heat",r]})},[C,r,g]);const R=o.path,j=R||(o.view==="insights"||o.view==="history")&&o.viewTarget||"",U=!!R&&x.has(R),L=!!R&&m&&!U&&p.some(Se=>Se.path===R),q=!!R&&m&&!U&&!L,I=U&&!o.view,[Q,V]=S.useState(()=>new Set),H=S.useRef(!0);S.useEffect(()=>{if(!y||!H.current)return;H.current=!1;const Se=(y.children||[]).filter(Ne=>Ne.dir);Se.length===1&&V(Ne=>new Set(Ne).add(Se[0].path))},[y]),S.useEffect(()=>{if(!j||!m)return;V(Ne=>{const Ce=new Set(Ne);for(const nn of aR(j))Ce.add(nn);return x.has(j)&&Ce.add(j),Ce});const Se=document.querySelector(`#tree .row[data-path="${CSS.escape(j)}"]`);Se&&Se.scrollIntoView({block:"nearest"})},[j,m,x]);const re=S.useCallback(Se=>{V(Ne=>{const Ce=new Set(Ne);return Ce.has(Se)?Ce.delete(Se):Ce.add(Se),Ce})},[]),se=S.useRef(null),ae=S.useRef(new Map),de=S.useRef({key:"",want:0,attempts:0});S.useEffect(()=>{de.current={key:d,want:zA()==="POP"?ae.current.get(d)??0:0,attempts:0}},[d]);const ce=S.useCallback(()=>{const Se=se.current,Ne=de.current;!Se||Ne.key!==d||Ne.attempts>=3||(Ne.attempts++,Se.scrollTo({top:Ne.want,behavior:"instant"}))},[d]),be=S.useCallback(()=>{se.current&&ae.current.set(d,se.current.scrollTop)},[d]),he=S.useCallback(Se=>{Vt(DA(Se,f?.id)),xn()},[f?.id]),N=S.useCallback(Se=>Vt(ui("history",f?.id,Se)),[f?.id]),[X,$]=S.useState(""),[J,P]=S.useState(null),[A,G]=S.useState(!1),[F,W]=S.useState(!1);S.useEffect(()=>kT(()=>W(!0)),[]);const ee=S.useRef(null),te=n.panel??null,fe=!te&&u&&!!f&&L,pe=!te&&u&&!!f,ve=!te&&L,mt=!te&&(L||u&&!!f&&U),st=r+"download?path="+encodeURIComponent(R),Je=S.useCallback(async()=>{try{const Se=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:R})});if(!Se.ok)throw new Error(await Se.text());const Ne=await Se.json(),Ce=await Mr(Ne.url);P({url:Ne.url,copied:Ce})}catch(Se){De("Share failed: "+Se.message,!0)}},[r,R]),Mt=S.useCallback(()=>{if(!R)return N("");N(U?R+"/":R)},[R,U,N]);S.useEffect(()=>{const Se=Ne=>{(Ne.metaKey||Ne.ctrlKey)&&Ne.key.toLowerCase()==="k"&&(Ne.preventDefault(),W(Ce=>!Ce))};return window.addEventListener("keydown",Se),()=>window.removeEventListener("keydown",Se)},[]);const Ze=S.useCallback(()=>{const Se=[],Ne=(Ce,nn,pt,gi)=>Se.push({icon:Ce,label:nn,kind:pt,run:gi});if(u&&f&&R&&(L&&Ne("share","Share: "+R,"action",Je),Ne("hist","History: "+R,"action",Mt),L&&Ne("download","Download: "+R,"action",()=>ee.current?.click())),u&&f&&Ne("hist","History: whole project","action",()=>N("")),u)for(const Ce of n.projects||[])(!f||Ce.id!==f.id)&&Ne("folder","Switch to project: "+Ce.name,"project",()=>Vt("/"+Ce.id));i.auth?.enabled&&Ne("power","Sign out","action",()=>window.location.href="/auth/logout");for(const Ce of x.keys())Ne("folder",Ce,"folder",()=>he(Ce));for(const Ce of p)Ne("doc",Ce.path,"file",()=>he(Ce.path));return Se},[u,f,R,L,i.auth?.enabled,x,p,n.projects,Je,Mt,N,he]);S.useEffect(()=>{if(!A)return;const Se=()=>G(!1);return document.addEventListener("click",Se),()=>document.removeEventListener("click",Se)},[A]);const Sn=S.useCallback(Se=>x.has(Se),[x]);let Nt="markdown",ct;te?(Nt="view",ct=te.body):o.view==="insights"?(Nt="view",ct=n.canInsights?h.jsx(my,{flatFiles:p,heatMap:b,devices:T,scope:o.viewTarget||"",onOpenFile:he,onOpenFolder:he,isFolder:Sn}):h.jsx("div",{className:"empty",children:"Insights is for hub admins and org owners."})):o.view==="history"?(Nt="view",ct=h.jsx(MR,{apiBase:r,target:o.viewTarget||"",isFolder:Sn,onOpen:he,onMeta:$,onRendered:ce})):R?m?q?(Nt="view",ct=h.jsxs("div",{className:"notfound",children:[h.jsx("h1",{children:"Couldn't find that"}),h.jsxs("p",{children:[h.jsx("code",{children:R})," isn't in this project right now."]}),h.jsx("p",{className:"nf-sub",children:"If it was just created, it may still be uploading or syncing from a teammate's device — this page checks again automatically every few seconds, so refresh or come back in a moment."}),h.jsx("button",{className:"pbtn",onClick:()=>g.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]})):U?(Nt="view",ct=h.jsx(oR,{node:x.get(R),heatMap:b,hub:u&&!!f,apiBase:r,onOpen:he,onFullHistory:N,onRendered:ce})):ct=h.jsx(cR,{apiBase:r,path:R,heatMap:b,flatFiles:p,onOpenFile:he,onMeta:$,onRendered:ce}):ct=h.jsx("div",{className:"empty",children:"Loading…"}):E?(Nt="view",ct=h.jsxs(h.Fragment,{children:[h.jsx(B0,{project:f}),n.canInsights&&h.jsx("div",{className:"home-insights",children:h.jsx(my,{flatFiles:p,heatMap:b,devices:T,onOpenFile:he,onOpenFolder:he,isFolder:Sn})})]})):ct=h.jsx("div",{className:"empty",children:"Select a file to read it."});const qa=te?te.crumb:R?h.jsx(lR,{path:R,onOpenFolder:he}):o.view==="insights"?"Insights — "+(o.viewTarget||f?.name||""):o.view==="history"?"History — "+AR(o.viewTarget||"",Sn):E?f.name:null,At=h.jsx(Tr,{crumb:qa,meta:X,actions:h.jsxs(h.Fragment,{children:[fe&&h.jsx("button",{id:"share-btn",className:"btn icon-only",title:"Share","aria-label":"Share",onClick:Je,children:h.jsx(ot,{name:"share"})}),pe&&!R&&!o.view&&h.jsxs("button",{id:"history-btn",className:"btn",onClick:Mt,children:[h.jsx(ot,{name:"hist"})," ",h.jsx("span",{className:"lbl",children:"History"})]}),ve&&h.jsx("a",{id:"download",hidden:!0,download:!0,href:st,ref:ee,children:"Download"}),mt&&h.jsx("button",{id:"more-btn",className:"btn icon-only",title:"More actions","aria-label":"More actions",onClick:Se=>{Se.stopPropagation(),G(!A)},children:h.jsx(ot,{name:"dots"})}),A&&h.jsxs("div",{id:"more-menu",role:"menu",children:[pe&&h.jsx("button",{className:"more-item",onClick:Mt,children:"History"}),ve&&h.jsx("button",{className:"more-item",onClick:()=>ee.current?.click(),children:"Download"}),n.canInsights&&h.jsx("button",{className:"more-item",onClick:()=>{n.onClosePanel?.(),Vt(ui("insights",f?.id,R))},children:"Insights"})]})]})});return h.jsxs(h.Fragment,{children:[h.jsx(Cr,{vault:n.sidebar.vault,projectsNav:n.sidebar.projectsNav,orgBar:n.sidebar.orgBar,tree:h.jsx(tR,{root:y,expanded:Q,onToggle:re,currentPath:j,listingShowing:I,onOpen:he}),topbar:At,contentClass:Nt,contentRef:se,onContentScroll:be,children:ct}),J&&h.jsx(vR,{url:J.url,copied:J.copied,onClose:()=>P(null)}),h.jsx(bR,{open:F,onClose:()=>W(!1),candidates:Ze})]})}function RR({config:n}){const i=md(),r=_0(),[o,u]=S.useState(null),[f,d]=S.useState(null);S.useEffect(()=>d(null),[i]);const g=S.useMemo(()=>{const Q=i.match(/^\/join\/([0-9a-f]+)\/?$/);return Q?Q[1]:null},[i]),{data:y}=OA(!g),{data:p}=NA(!g),x=!!n.auth.admin,{data:m}=N0(x),b=S.useMemo(()=>z0(i,"hub"),[i]),E=S.useMemo(()=>y&&(y.find(Q=>Q.id===b.project)||o&&y.find(Q=>Q.org===o)||y[0])||null,[y,b.project,o]);if(S.useEffect(()=>{document.title=E?E.name+" — BearDrive":n.brand||n.volume||"BearDrive"},[E,n]),g)return h.jsx(jR,{token:g,onDone:async Q=>{u(Q),await r(),Vt("/",{replace:!0})}});const C=n.brand||n.volume||"BearDrive",T=E&&p?.find(Q=>Q.id===E.org)||null,R=x||(T?T.role==="owner":!1),j=h.jsx(Us,{name:C,onHome:()=>Vt("/"),search:!!E}),U=n.me?h.jsx(XA,{me:n.me,org:T,admin:x?{pending:m?.length||0,onClick:()=>{d({kind:"hub"}),xn()}}:void 0,onOrgSettings:Q=>{d({kind:"org",orgId:Q.id}),xn()}}):void 0;if(!y||!p)return h.jsx(Cr,{vault:j,topbar:h.jsx(Tr,{}),children:h.jsx("div",{className:"empty",children:"Loading…"})});if(!E)return h.jsx(Cr,{vault:j,projectsNav:h.jsx(fy,{projects:y}),orgBar:U,topbar:h.jsx(Tr,{}),contentClass:"view",children:h.jsx(IA,{authEnabled:n.auth.enabled,onCreate:async Q=>{if(!Q){De("Give the project a name.",!0);return}try{const V=await hi("/api/projects",{name:Q});await r(),Vt("/"+V.project.id),De(`Created “${V.project.name}”.`)}catch(V){De("Could not create the project: "+V.message,!0)}}})});const L=f?.kind==="org"?p.find(Q=>Q.id===f.orgId):null,q=f?.kind==="hub"?{crumb:"Signup & access",body:h.jsx(GA,{})}:L?{crumb:L.name,body:h.jsx(qA,{org:L,projects:y,myEmail:n.me?.email||"",onProjectsChanged:r})}:null,I=b.view==="settings"?{crumb:"Project settings",body:h.jsx(KA,{project:E,org:T})}:b.view==="install"?{crumb:"Installation",body:h.jsx("div",{className:"onboard",children:h.jsx(B0,{project:E})})}:null;return b.project!==E.id?h.jsx(kA,{to:"/"+E.id}):h.jsx(Y0,{config:n,apiBase:"/api/p/"+E.id+"/",route:b,hub:!0,project:E,projects:y,canInsights:R,sidebar:{vault:j,projectsNav:h.jsx(fy,{projects:y,currentId:E.id,menu:{active:f?null:b.view==="insights"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{d(null),Vt(ui("insights",E.id)),xn()},onInstall:()=>{d(null),Vt(ui("install",E.id)),xn()},onHistory:()=>{d(null),Vt(ui("history",E.id)),xn()},onSettings:()=>{d(null),Vt(ui("settings",E.id)),xn()}}}),orgBar:U},panel:q||I,onClosePanel:()=>d(null)},E.id)}function jR({token:n,onDone:i}){return S.useEffect(()=>{let r=!1;return hi("/api/invites/"+n).then(o=>{r||(De(`Welcome — you joined the “${o.org.name}” team. Opening its projects…`),i(o.org.id))}).catch(o=>{r||String(o.message).includes("signing in")||(De("Could not accept the invite: "+o.message,!0),i(null))}),()=>{r=!0}},[n]),h.jsx(Cr,{vault:h.jsx(Us,{name:"BearDrive"}),topbar:h.jsx(Tr,{}),children:h.jsx("div",{className:"empty",children:"Joining…"})})}function OR({config:n}){const i=md(),r=n.volume||"BearDrive";S.useEffect(()=>{document.title=n.brand||r},[n,r]);const o=S.useMemo(()=>z0(i,"volume"),[i]);return h.jsx(Y0,{config:n,apiBase:"/api/",route:o,hub:!1,sidebar:{vault:h.jsx(Us,{name:r,showSignout:n.auth.enabled,search:!0})}})}function NR(){const{data:n}=Zx();return h.jsxs(NT,{delayDuration:150,children:[n?n.mode==="hub"?h.jsx(RR,{config:n}):h.jsx(OR,{config:n}):h.jsx(Cr,{vault:h.jsx(Us,{name:"…",showSignout:!1}),topbar:h.jsx(Tr,{}),children:h.jsx("div",{className:"empty",children:"Loading…"})}),h.jsx(MA,{}),h.jsx(AA,{})]})}const _R=new kx({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});cx.createRoot(document.getElementById("root")).render(h.jsx(S.StrictMode,{children:h.jsx(Lx,{client:_R,children:h.jsx(NR,{})})})); diff --git a/internal/webapp/static/index.html b/internal/webapp/static/index.html index b774f91..9be4ebc 100644 --- a/internal/webapp/static/index.html +++ b/internal/webapp/static/index.html @@ -5,8 +5,8 @@ BearDrive - - + +