diff --git a/architecture/webapp-frontend.md b/architecture/webapp-frontend.md index e49385f..4d3c21d 100644 --- a/architecture/webapp-frontend.md +++ b/architecture/webapp-frontend.md @@ -31,7 +31,9 @@ classDiagram class Browser { folder listing, file view per-view routes + +moved: /resolve?path= on a tree miss only } + note for Browser "A missing path is decided from /tree alone — the file is never fetched — so the X-Bdrive-Canonical-Path header /file answers with would never reach the browser, and a moved FOLDER has no content fetch to hang a header on. The not-found branch asks GET /resolve?path= instead, then replaceState-navigates to the destination and prints one Moved from … line above it (BEA-81)" class router { +VIEW_ROUTES dashboard history install settings diff --git a/architecture/webapp-server.md b/architecture/webapp-server.md index 95e6ea8..0501912 100644 --- a/architecture/webapp-server.md +++ b/architecture/webapp-server.md @@ -37,7 +37,7 @@ classDiagram class volume { -source Source -refresh time.Duration - -snap *snapshot + -snap *snapshot (files + moves) +snapshot(ctx) +invalidate() } @@ -68,6 +68,30 @@ classDiagram } note for sourcedOp "An op's Device field is whatever the writer typed; From is the journal object it actually came out of, which the /store door gates. Attribution reads From — a peer cannot sign someone else's name on a change by editing its own journal" note for RemoteSource "OpenBlob is the single blob-read door: the sha must match blobRe, and verify re-hashes the bytes whenever the backend is a PutSigner — in direct-upload mode the server never saw the content, so the store is the only thing that could have swapped it. It stops re-hashing only once the object is PROVABLY immutable: both presign doors refuse a key that exists, so every URL for a blob was minted before its first PUT and dies at mint+PresignTTL; past that age the hub is the only writer left. That is what remote.Object.Modified is for" + class MoveSource { + <> + +FilesWithMoves(ctx) files, moveIndex + } + class moveIndex { + <> + +buildMoveIndex(sorted ops) + +resolveForward(idx, files, p) viewer + +resolveShare(idx, files, p, since) /s/ + +chainSegments(idx, p) []segment + +resolveFolder(idx, files, dir) all-or-nothing + } + class pathEvent { + +At the delete that ended it + +To "" = deleted, not moved + +ToAt destination's create + } + class segment { + +Path + +From, To window it WAS the file + } + note for moveIndex "There is no rename op — a move is put(new) + delete(old), same device, same blob, one cycle — so the index is DERIVED inside the replay Files already runs and cached with the snapshot. Pairing needs same device, |Δt| ≤ 30s, B's first-ever put, and one-to-one both ways; anything ambiguous stays a plain deletion. Nothing here writes an op: journal.Less and Replay are untouched" + note for segment "Time-bounded on purpose: a bare set of paths would make history?path=docs/a.md show the ops of the NEW a.md that took the old address" + class Uploader { <> +Upload(ctx, path, r, size, who, note) @@ -346,6 +370,11 @@ classDiagram Source <|.. DirSource Source <|.. RemoteSource + MoveSource <|.. RemoteSource : optional, like Uploader — DirSource has no journals, so no moves + MoveSource ..> moveIndex + volume o-- moveIndex : cached with the snapshot + moveIndex *-- pathEvent + moveIndex ..> segment : chainSegments Uploader <|-- DirectUploader DirectUploader <|.. RemoteSource RemoteSource o-- Backend : Prefixed(Root, projectID) diff --git a/internal/syncer/syncer_test.go b/internal/syncer/syncer_test.go index f17f7e5..75ec767 100644 --- a/internal/syncer/syncer_test.go +++ b/internal/syncer/syncer_test.go @@ -765,3 +765,68 @@ func sha256hex(s string) string { sum := sha256.Sum256([]byte(s)) return hex.EncodeToString(sum[:]) } + +// A rename is not an op — the scanner emits a put at the new path and a +// delete at the old, in one cycle, carrying the same blob. The hub infers +// moves from exactly that shape (internal/webapp/moves.go), which only stays +// true while sync keeps producing it. Nothing in the move index touches +// journal.Less or Replay; this is what pins that. +func TestRenameConvergesAsPutPlusDelete(t *testing.T) { + be := sharedRemote(t) + a := newDevice(t, "deva", be) + b := newDevice(t, "devb", be) + + write(t, a.Folder, "plan.md", "the plan") + cycle(t, a) + cycle(t, b) + if got := read(t, b.Folder, "plan.md"); got != "the plan" { + t.Fatalf("b before the rename = %q", got) + } + + // The rename, exactly as a person or an editor does it. + if err := os.MkdirAll(filepath.Join(a.Folder, "notes"), 0o755); err != nil { + t.Fatal(err) + } + if err := os.Rename(filepath.Join(a.Folder, "plan.md"), filepath.Join(a.Folder, "notes", "plan.md")); err != nil { + t.Fatal(err) + } + res := cycle(t, a) + if res.LocalOps != 2 { + t.Fatalf("LocalOps = %d, want 2 (the put and the delete)", res.LocalOps) + } + cycle(t, b) + + if got := read(t, b.Folder, "notes/plan.md"); got != "the plan" { + t.Fatalf("b after the rename = %q, want the plan", got) + } + if _, err := os.Stat(filepath.Join(b.Folder, "plan.md")); !os.IsNotExist(err) { + t.Fatalf("the old path survived on b: %v", err) + } + + // The two halves the hub pairs on: one device, same blob, same cycle. + ops, err := journal.ReadFile(a.Store.JournalPath(a.Device.ID)) + if err != nil { + t.Fatal(err) + } + var put, del *journal.Op + for i := range ops { + switch { + case ops[i].Kind == journal.KindPut && ops[i].Path == "notes/plan.md": + put = &ops[i] + case ops[i].Kind == journal.KindDelete && ops[i].Path == "plan.md": + del = &ops[i] + } + } + if put == nil || del == nil { + t.Fatalf("rename did not journal a put+delete pair: %+v", ops) + } + if put.Device != del.Device { + t.Fatalf("halves on different devices: %q vs %q", put.Device, del.Device) + } + if want := ops[0].Blob; put.Blob != want { + t.Fatalf("the moved file's blob changed: %q, want %q", put.Blob, want) + } + if d := del.Time.Sub(put.Time); d > 30*time.Second || d < -30*time.Second { + t.Fatalf("the halves landed %v apart — wider than the hub's pairing window", d) + } +} diff --git a/internal/webapp/e2e_serve_test.go b/internal/webapp/e2e_serve_test.go index afcac0f..990036f 100644 --- a/internal/webapp/e2e_serve_test.go +++ b/internal/webapp/e2e_serve_test.go @@ -252,6 +252,19 @@ func seedE2E(t *testing.T, state, prefix, projectID string) { // A second version of the same binary, so the history diff has a // predecessor to refuse to diff (the "binary — no diff" path). put("assets/logo.png", png+"\x00trailing", 3*time.Hour) + // A file that MOVED: the same blob put at the new path and the old path + // deleted, one device, one cycle — the shape the scanner emits for a + // rename. The old URL has to keep working (BEA-81). + put("old-guide.md", "# Old guide\n\nThis file has been moved.\n", 30*time.Hour) + put("archive/moved-guide.md", "# Old guide\n\nThis file has been moved.\n", 5*time.Hour) + lam++ + seq++ + ops = append(ops, journal.Op{ + Seq: seq, Lamport: lam, Time: now.Add(-5 * time.Hour).Add(time.Second), + Device: "seed", DeviceName: "seed-agent", Author: "alice@x.io", + User: "alice@x.io", UserName: "Alice", + Kind: journal.KindDelete, Path: "old-guide.md", + }) // One removed file, so the history feed has a delete row: deletes have no // content, so their rows stay unclickable while every other row is now an // address for its own version. diff --git a/internal/webapp/frontend/e2e/browse.spec.ts b/internal/webapp/frontend/e2e/browse.spec.ts index 3708449..814cfd5 100644 --- a/internal/webapp/frontend/e2e/browse.spec.ts +++ b/internal/webapp/frontend/e2e/browse.spec.ts @@ -808,6 +808,27 @@ test("an old version of an extensionless file previews the same way", async ({ p await expect(page.locator("#content .empty")).toContainText("That version isn't available."); }); +// BEA-81: an old URL for a file that has since been renamed or dragged into +// a folder still lands on the file, rewrites itself, and says what happened. +test("a moved file's old URL redirects and says so", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/old-guide.md`); + await page.waitForURL(`/${pid}/archive/moved-guide.md`); + await expect(page.locator("#content")).toContainText("This file has been moved"); + await expect(page.locator(".vbanner")).toContainText("Moved from old-guide.md"); + // replace, not push: Back must not bounce off the dead URL forever. + await expect(page.locator(".notfound")).toHaveCount(0); +}); + +test("a path that never existed still gets the not-found card", async ({ page }) => { + await login(page); + const pid = await wikiId(page); + await page.goto(`/${pid}/nothing-here.md`); + await expect(page.locator(".notfound")).toBeVisible(); + await expect(page.locator(".vbanner")).toHaveCount(0); +}); + // BEA-74: .csv/.tsv render as a table, and anything the parser can't make a // table of stays the plain-text view it is today. diff --git a/internal/webapp/frontend/src/apps/Browser.tsx b/internal/webapp/frontend/src/apps/Browser.tsx index e4fcabf..7f1d532 100644 --- a/internal/webapp/frontend/src/apps/Browser.tsx +++ b/internal/webapp/frontend/src/apps/Browser.tsx @@ -5,10 +5,10 @@ import { useState, type ReactNode, } from "react"; -import { useQueryClient } from "@tanstack/react-query"; +import { useQuery, useQueryClient } from "@tanstack/react-query"; import { Button } from "@/components/ui/button"; import { atLeast } from "../api/types"; -import { postJSON } from "../api/http"; +import { getJSON, postJSON } from "../api/http"; import type { Project, ServerConfig } from "../api/types"; import { useHeat, useTree } from "../hooks/useBrowse"; import { useShares } from "../hooks/useHub"; @@ -78,6 +78,29 @@ export default function Browser(props: { const isMissing = !!path && loaded && !isDir && !isFile; const listingShowing = isDir && !route.view; + /* ---- an address whose file moved ---- + Files get renamed and dragged into folders, and the old URL is already + in someone's notes. The server can pair the delete with the put that + carried the same blob, so ask it — but only once the tree says the path + is gone, so the happy path costs nothing. It is a separate call rather + than the X-Bdrive-Canonical-Path header /file answers with, because we + never fetch a missing file at all, and a moved FOLDER has no content + fetch to hang a header on. */ + const { data: moved } = useQuery({ + queryKey: ["resolve", apiBase, path], + queryFn: () => + getJSON<{ to: string; kind: string }>(apiBase + "resolve?path=" + encodeURIComponent(path)), + enabled: isMissing, + retry: false, // a 404 here is the normal answer, not a flake + staleTime: 60_000, + }); + const [movedFrom, setMovedFrom] = useState<{ from: string; to: string } | null>(null); + useEffect(() => { + if (!isMissing || !moved?.to) return; + setMovedFrom({ from: path, to: moved.to }); + navigate(urlForPath(moved.to, project?.id), { replace: true }); + }, [isMissing, moved, path, project?.id]); + /* ---- tree expansion ---- */ const [expanded, setExpanded] = useState>(() => new Set()); const firstLoad = useRef(true); @@ -464,6 +487,26 @@ export default function Browser(props: { view =
Select a file to read it.
; } + // Arriving here by redirect: say so, or the URL silently changed under a + // reader who typed the other one. Above whatever the destination renders, + // so a moved folder gets it too. + if (movedFrom && movedFrom.to === path) { + view = ( + <> +
+ + + +
+ Moved from {movedFrom.from} + The URL has been updated. +
+
+ {view} + + ); + } + const crumb = panel ? ( panel.crumb ) : path ? ( diff --git a/internal/webapp/history.go b/internal/webapp/history.go index 24fa15c..0b0628e 100644 --- a/internal/webapp/history.go +++ b/internal/webapp/history.go @@ -216,11 +216,24 @@ func (s *Server) handleHistory(v *volume, w http.ResponseWriter, r *http.Request op journal.Op } visible := s.deviceVisibleIn(projectID(r)) + // A file that moved keeps its past — under its old path. ?path= resolves + // through the move chain so the feed for docs/a.md includes the versions + // written while it was a.md. Each hop is time-bounded (see segment), so + // an unrelated NEW a.md created after the move does not leak in. `all` + // is already sorted by journal.Less, so this costs no extra I/O. + var chain []segment + if path != "" { + ops := make([]journal.Op, len(all)) + for i, sop := range all { + ops[i] = sop.Op + } + chain = chainSegments(buildMoveIndex(ops), path) + } matched := make([]timed, 0, len(all)) for i, sop := range all { op := sop.Op switch { - case path != "" && op.Path != path: + case path != "" && !inSegments(chain, op.Path, op.Time): continue case path == "" && prefix != "" && !strings.HasPrefix(op.Path, strings.TrimSuffix(prefix, "/")+"/"): continue diff --git a/internal/webapp/moves.go b/internal/webapp/moves.go new file mode 100644 index 0000000..33366d2 --- /dev/null +++ b/internal/webapp/moves.go @@ -0,0 +1,357 @@ +package webapp + +import ( + "net/http" + "sort" + "strings" + "time" + + "github.com/runbear-io/beardrive/internal/journal" +) + +// Moves. There is no rename in beardrive: the scanner emits a put for the +// path it has never seen and a delete for the cache key it no longer sees, +// both in the same cycle, from the same device, carrying the same blob +// (internal/syncer/syncer.go). journal.Op has put and delete and nothing +// else, so a move is only ever inferred — never recorded. +// +// Everything keyed on a path therefore breaks the moment a file moves: the +// viewer 404s, history loses the file's own past versions, restore refuses +// them, and a share link either 404s or — worse — silently serves whatever +// unrelated file later lands on the address it was minted for. +// +// This file derives the pairing from the ops the replay already walks. It +// deliberately does NOT add a rename op: journal.Less and Replay are what +// every device converges to, and every already-shipped journal would still +// need the heuristic to read its own history. Derivation is reversible; a +// new op kind is not. +// +// Everything here is read-side. Nothing in this file writes an op. + +// moveWindow is how far apart the two halves of a move may land. Wider than +// one daemon cycle (--scan-interval 3s, so a move split across two cycles +// still pairs), narrower than a person's editing session. It is the one +// number worth revisiting under real journals. +const moveWindow = 30 * time.Second + +// maxChain bounds every walk in this file. Op.Time and Op.Path are peer JSON, +// so a journal can describe a cycle (A→B→A); a visited set alone stops the +// loop, and this stops a pathological chain from making one request walk a +// journal-sized graph. +const maxChain = 64 + +// pathEvent is one moment a path stopped being the file it was. +type pathEvent struct { + At time.Time // the delete that ended it + To string // where the content went; "" = deleted, not moved + ToAt time.Time // when the destination was created (move only) +} + +// hop is the instant the file changed address. The two halves of a move +// arrive in either order (an in-cycle move is put-then-delete; one split +// across cycles is delete-then-put), so the boundary between the old path's +// window and the new one's is the earlier of the two — otherwise the +// destination's own creating op falls outside its own history. +func (e pathEvent) hop() time.Time { + if e.To != "" && !e.ToAt.IsZero() && e.ToAt.Before(e.At) { + return e.ToAt + } + return e.At +} + +// moveIndex is, per path, the events that ended it — in time order. +// +// One time-stamped list rather than two flat maps (movedTo + deletedAt): a +// path that is deleted, recreated and then moved has an entry under the same +// key in both maps and nothing left to say which came first, so a share +// minted before the delete would follow the move and serve the file that +// REPLACED its own. +type moveIndex map[string][]pathEvent + +// buildMoveIndex pairs deletes with creates. ops must already be sorted by +// journal.Less — every caller has them that way (the replay, the history +// feed) so the index costs no extra I/O and no extra pass over storage. +// +// A delete of A pairs with the first-ever put of B when all hold: same +// Op.Device (one device's scan produces both halves), |Δt| ≤ moveWindow, +// B's blob is the blob A held immediately before its delete (content +// identity is the only link the journal gives us), and the pairing is +// one-to-one in both directions. Anything ambiguous — duplicated content, +// empty files — stays unpaired and becomes a plain deletion. Silence beats +// a wrong destination. +func buildMoveIndex(ops []journal.Op) moveIndex { + type half struct { + path, blob, dev string + at time.Time + } + var creates, deletes []half + live := map[string]string{} // path -> the blob it currently holds + ever := map[string]bool{} // path has ever been put + for _, op := range ops { + switch op.Kind { + case journal.KindPut: + // Files ignores a put whose Blob is not a bare sha256 (it is a + // storage key suffix, so anything else is a path the writer + // chose). The index has to agree, or it would pair against a + // version the viewer never shows. + if !blobRe.MatchString(op.Blob) { + continue + } + if !ever[op.Path] { + ever[op.Path] = true + creates = append(creates, half{op.Path, op.Blob, op.Device, op.Time}) + } + live[op.Path] = op.Blob + case journal.KindDelete: + blob, ok := live[op.Path] + if !ok { + continue // deleting nothing + } + delete(live, op.Path) + deletes = append(deletes, half{op.Path, blob, op.Device, op.Time}) + } + } + + key := func(h half) string { return h.dev + "\x00" + h.blob } + byKey := map[string][]int{} + for i, c := range creates { + byKey[key(c)] = append(byKey[key(c)], i) + } + pairs := func(a, b half) bool { + return a.path != b.path && abs(a.at.Sub(b.at)) <= moveWindow + } + // ponytail: O(n²) inside one (device, blob) bucket. A bucket is the + // identical copies of ONE file, not the volume — bucket by time too if + // a duplicate-heavy volume ever shows up in a profile. + idx := moveIndex{} + for _, d := range deletes { + ev := pathEvent{At: d.at} + var only int = -1 + for _, i := range byKey[key(d)] { + if !pairs(creates[i], d) { + continue + } + if only >= 0 { + only = -1 // two candidates: ambiguous, decline + break + } + only = i + } + if only >= 0 { + // ...and one-to-one the other way: two deletes claiming one + // create is the same ambiguity seen from the other side. + c, n := creates[only], 0 + for _, d2 := range deletes { + if key(d2) == key(c) && pairs(c, d2) { + n++ + } + } + if n == 1 { + ev.To, ev.ToAt = c.path, c.at + } + } + idx[d.path] = append(idx[d.path], ev) + } + for p := range idx { + evs := idx[p] + sort.SliceStable(evs, func(i, j int) bool { return evs[i].At.Before(evs[j].At) }) + } + return idx +} + +func abs(d time.Duration) time.Duration { + if d < 0 { + return -d + } + return d +} + +// resolveForward answers "this address is empty — where did the file go?". +// It follows the LAST event of each path (the most recent move wins) until +// it lands somewhere live. Used by the viewer, where a live path always +// wins: the caller only reaches here on a snapshot miss. +func resolveForward(idx moveIndex, files map[string]FileInfo, p string) (string, bool) { + seen := map[string]bool{p: true} + for i := 0; i < maxChain; i++ { + evs := idx[p] + if len(evs) == 0 { + return "", false + } + to := evs[len(evs)-1].To + if to == "" || seen[to] { + return "", false // deleted, or a cycle a journal described + } + seen[to] = true + if _, ok := files[to]; ok { + return to, true + } + p = to + } + return "", false +} + +// resolveShare answers the opposite question: "where is the file this token +// was minted for?" — following the file even when a new one has taken its +// old address. A viewer URL is an address; a share token is a promise about +// one file, and must never resolve to a file it wasn't minted for. +// +// since is the share's creation time: only what happened AFTER the link was +// minted can move it. A path that was deleted rather than moved is gone, +// even if something now occupies the address. +func resolveShare(idx moveIndex, files map[string]FileInfo, p string, since time.Time) (string, bool) { + seen := map[string]bool{p: true} + for i := 0; i < maxChain; i++ { + var next *pathEvent + for j := range idx[p] { + if idx[p][j].At.After(since) { + next = &idx[p][j] + break + } + } + if next == nil { + // Nothing happened to this path since: it is still the file. + if _, ok := files[p]; ok { + return p, true + } + return "", false + } + if next.To == "" || seen[next.To] { + return "", false + } + seen[next.To] = true + p, since = next.To, next.At + } + return "", false +} + +// segment is one path plus the window during which it WAS the file being +// asked about. Time-bounded on purpose: a bare set of paths would make +// history?path=docs/a.md show the ops of the new a.md that took the old +// address. A zero From/To is open at that end. +type segment struct { + Path string + From, To time.Time +} + +// chainSegments walks backwards: p's own window plus each ancestor's, +// ending at the hop that carried the file out of it. Used by history and +// restore, so a moved file keeps reaching its own past versions. +func chainSegments(idx moveIndex, p string) []segment { + type inbound struct { + from string + hop time.Time + } + into := map[string][]inbound{} + for src, evs := range idx { + for _, e := range evs { + if e.To != "" { + into[e.To] = append(into[e.To], inbound{src, e.hop()}) + } + } + } + var segs []segment + seen := map[string]bool{p: true} + cur, upper := p, time.Time{} + for i := 0; i < maxChain; i++ { + anc := into[cur] + // No ancestor, or more than one claiming to be it: stop, leaving + // this segment open at the start rather than guessing. + if len(anc) != 1 || seen[anc[0].from] { + return append(segs, segment{Path: cur, To: upper}) + } + segs = append(segs, segment{Path: cur, From: anc[0].hop, To: upper}) + seen[anc[0].from] = true + cur, upper = anc[0].from, anc[0].hop + } + return segs +} + +// inSegments reports whether an op at path p, time at, belongs to the chain. +func inSegments(segs []segment, p string, at time.Time) bool { + for _, s := range segs { + switch { + case s.Path != p: + case !s.From.IsZero() && at.Before(s.From): + case !s.To.IsZero() && !at.Before(s.To): + default: + return true + } + } + return false +} + +// resolveFolder derives a folder redirect from the file mappings — there are +// no folder ops, so a folder move is N file moves. All-or-nothing: every +// file that was under dir/ must land on the same newdir/, with +// nothing under dir/ still live and no non-move delete in the way. A partial +// match gets no folder redirect; the individual files still redirect on +// their own. +func resolveFolder(idx moveIndex, files map[string]FileInfo, dir string) (string, bool) { + dir = strings.Trim(dir, "/") + if dir == "" { + return "", false + } + prefix := dir + "/" + for p := range files { + if strings.HasPrefix(p, prefix) { + return "", false // the folder still exists; nothing to redirect + } + } + dest := "" + for src := range idx { + if !strings.HasPrefix(src, prefix) { + continue + } + to, ok := resolveForward(idx, files, src) + if !ok { + return "", false // deleted, or ambiguous: no honest destination + } + suffix := strings.TrimPrefix(src, prefix) + if !strings.HasSuffix(to, "/"+suffix) { + return "", false + } + nd := strings.TrimSuffix(to, "/"+suffix) + if nd == "" || (dest != "" && nd != dest) { + return "", false + } + dest = nd + } + return dest, dest != "" +} + +// handleResolve serves GET .../resolve?path= — "this address is empty, where +// did it go?". The SPA calls it only on a miss (it decides a path is missing +// from /tree alone and never fetches the file, so the canonical header on +// /file would never reach the browser) and it is the only shape that covers +// a moved folder, which has no content fetch to hang a header on. +func (s *Server) handleResolve(v *volume, w http.ResponseWriter, r *http.Request) { + p := r.URL.Query().Get("path") + if p == "" { + http.Error(w, "missing ?path=", http.StatusBadRequest) + return + } + snap, err := v.snapshot(r.Context()) + if err != nil { + storageErr(w, http.StatusBadGateway, "content temporarily unavailable", err) + return + } + if _, live := snap.files[p]; !live { + if to, ok := resolveForward(snap.moves, snap.files, p); ok { + writeJSON(w, map[string]string{"to": to, "kind": "file"}) + return + } + if to, ok := resolveFolder(snap.moves, snap.files, p); ok { + writeJSON(w, map[string]string{"to": to, "kind": "folder"}) + return + } + } + http.Error(w, "no such file: "+p, http.StatusNotFound) +} + +// setCanonical tells the caller the path moved. The value is the path that +// answered; a client that cares rewrites its URL to it. +func setCanonical(w http.ResponseWriter, r *http.Request, p string) { + if p != r.URL.Query().Get("path") { + w.Header().Set("X-Bdrive-Canonical-Path", p) + } +} diff --git a/internal/webapp/moves_test.go b/internal/webapp/moves_test.go new file mode 100644 index 0000000..3f22ffc --- /dev/null +++ b/internal/webapp/moves_test.go @@ -0,0 +1,378 @@ +package webapp + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "path/filepath" + "testing" + "time" + + "github.com/runbear-io/beardrive/internal/journal" +) + +// t0 is the fixed clock these tests place ops on. Every pairing rule in +// moves.go is time-windowed, so "now" would make them unreadable. +var t0 = time.Date(2026, 1, 2, 3, 4, 5, 0, time.UTC) + +// delAt is the timed twin of fakeRemote.del (putAt already lives in +// history_test.go). +func (f *fakeRemote) delAt(dev, path string, at time.Time) { + f.t.Helper() + f.append(dev, journal.Op{Kind: journal.KindDelete, Path: path, Time: at}) +} + +// move is the shape the scanner actually emits: one device, one cycle, the +// same blob put at the new path and deleted at the old. +func (f *fakeRemote) move(dev, from, to, content string, at time.Time) { + f.t.Helper() + f.putAt(dev, to, content, at) + f.delAt(dev, from, at.Add(time.Second)) +} + +/* ---- the index ---- */ + +// buildIndex is the unit-level path: ops in, index out. +func buildIndex(ops ...journal.Op) moveIndex { + journal.Sort(ops) + return buildMoveIndex(ops) +} + +func op(kind, path, blob string, at time.Time, dev string, lamport int64) journal.Op { + return journal.Op{ + Kind: kind, Path: path, Blob: blob, Time: at, Device: dev, + Lamport: lamport, Seq: lamport, Size: 4, Mode: 0o644, + } +} + +func sha(s string) string { + sum := sha256.Sum256([]byte(s)) + return hex.EncodeToString(sum[:]) +} + +func TestMoveIndexPairsInEitherJournalOrder(t *testing.T) { + b := sha("body") + for _, tc := range []struct { + name string + ops []journal.Op + }{ + {"put-then-delete", []journal.Op{ + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Minute), "deva", 2), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute+time.Second), "deva", 3), + }}, + {"delete-then-put", []journal.Op{ + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute), "deva", 2), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Minute+4*time.Second), "deva", 3), + }}, + } { + t.Run(tc.name, func(t *testing.T) { + idx := buildIndex(tc.ops...) + evs := idx["a.md"] + if len(evs) != 1 || evs[0].To != "docs/a.md" { + t.Fatalf("a.md events = %+v, want one move to docs/a.md", evs) + } + }) + } +} + +func TestMoveIndexDeclinesOutsideWindow(t *testing.T) { + b := sha("body") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute), "deva", 2), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Hour), "deva", 3), + ) + if evs := idx["a.md"]; len(evs) != 1 || evs[0].To != "" { + t.Fatalf("a.md events = %+v, want one plain deletion", evs) + } +} + +func TestMoveIndexDeclinesAcrossDevices(t *testing.T) { + b := sha("body") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute), "deva", 2), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Minute+time.Second), "devb", 3), + ) + if evs := idx["a.md"]; len(evs) != 1 || evs[0].To != "" { + t.Fatalf("a.md events = %+v, want one plain deletion", evs) + } +} + +func TestMoveIndexAmbiguousIdenticalContent(t *testing.T) { + // Two files with the same bytes, one deleted, one created: content + // identity cannot say which is which, so nothing pairs. + b := sha("body") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindPut, "b.md", b, t0, "deva", 2), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute), "deva", 3), + op(journal.KindDelete, "b.md", "", t0.Add(time.Minute), "deva", 4), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Minute+time.Second), "deva", 5), + ) + for _, p := range []string{"a.md", "b.md"} { + if evs := idx[p]; len(evs) != 1 || evs[0].To != "" { + t.Fatalf("%s events = %+v, want a plain deletion (ambiguous)", p, evs) + } + } +} + +func TestMoveIndexIgnoresOverwritingPut(t *testing.T) { + // docs/a.md already existed, so the put that happens to carry a.md's + // blob is an edit, not a move destination. + b := sha("body") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindPut, "docs/a.md", sha("other"), t0, "deva", 2), + op(journal.KindDelete, "a.md", "", t0.Add(time.Minute), "deva", 3), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Minute), "deva", 4), + ) + if evs := idx["a.md"]; len(evs) != 1 || evs[0].To != "" { + t.Fatalf("a.md events = %+v, want a plain deletion", evs) + } +} + +/* ---- resolvers ---- */ + +func TestResolveShareDeleteBeforeMove(t *testing.T) { + // a.md is deleted, an unrelated a.md is created at the same address, + // and THAT one moves away. A share minted before the delete is a promise + // about the first file — which is gone. + b, c := sha("first"), sha("second") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindDelete, "a.md", "", t0.Add(time.Hour), "deva", 2), + op(journal.KindPut, "a.md", c, t0.Add(2*time.Hour), "deva", 3), + op(journal.KindPut, "docs/a.md", c, t0.Add(3*time.Hour), "deva", 4), + op(journal.KindDelete, "a.md", "", t0.Add(3*time.Hour+time.Second), "deva", 5), + ) + files := map[string]FileInfo{"docs/a.md": {Blob: c}} + if to, ok := resolveShare(idx, files, "a.md", t0); ok { + t.Fatalf("share minted before the delete resolved to %q, want gone", to) + } + to, ok := resolveShare(idx, files, "a.md", t0.Add(2*time.Hour+time.Minute)) + if !ok || to != "docs/a.md" { + t.Fatalf("share minted after the recreate = %q %v, want docs/a.md", to, ok) + } +} + +func TestResolveForwardCycle(t *testing.T) { + // A journal is peer JSON and can describe A→B→A. Answer "not found" + // rather than walk forever. + idx := moveIndex{ + "a.md": {{At: t0, To: "b.md", ToAt: t0}}, + "b.md": {{At: t0.Add(time.Minute), To: "a.md", ToAt: t0.Add(time.Minute)}}, + } + if to, ok := resolveForward(idx, map[string]FileInfo{}, "a.md"); ok { + t.Fatalf("cycle resolved to %q, want not found", to) + } + if to, ok := resolveShare(idx, map[string]FileInfo{}, "a.md", time.Time{}); ok { + t.Fatalf("cycle resolved (share) to %q, want not found", to) + } +} + +func TestChainSegmentsExcludeSuccessorAtOldPath(t *testing.T) { + b := sha("body") + idx := buildIndex( + op(journal.KindPut, "a.md", b, t0, "deva", 1), + op(journal.KindPut, "docs/a.md", b, t0.Add(time.Hour), "deva", 2), + op(journal.KindDelete, "a.md", "", t0.Add(time.Hour+time.Second), "deva", 3), + op(journal.KindPut, "a.md", sha("unrelated"), t0.Add(2*time.Hour), "deva", 4), + ) + segs := chainSegments(idx, "docs/a.md") + if !inSegments(segs, "a.md", t0) { + t.Error("the original a.md version is not in docs/a.md's chain") + } + if inSegments(segs, "a.md", t0.Add(2*time.Hour)) { + t.Error("the unrelated later a.md leaked into docs/a.md's chain") + } + if !inSegments(segs, "docs/a.md", t0.Add(time.Hour)) { + t.Error("docs/a.md's own creating op is not in its chain") + } +} + +/* ---- viewer ---- */ + +func TestMovedFileRedirects(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "a.md", "# Body", t0) + f.move("deva", "a.md", "docs/a.md", "# Body", t0.Add(time.Hour)) + h := f.server().Handler() + + rec := get(t, h, "/api/file?path=a.md") + if rec.Code != 200 || rec.Body.String() != "# Body" { + t.Fatalf("moved file: %d %q", rec.Code, rec.Body) + } + if got := rec.Header().Get("X-Bdrive-Canonical-Path"); got != "docs/a.md" { + t.Fatalf("canonical header = %q, want docs/a.md", got) + } + // The destination itself carries no header — nothing moved. + rec = get(t, h, "/api/file?path=docs/a.md") + if got := rec.Header().Get("X-Bdrive-Canonical-Path"); got != "" { + t.Fatalf("canonical header on the live path = %q, want none", got) + } + // A path that never existed still 404s. + if rec := get(t, h, "/api/file?path=nope.md"); rec.Code != 404 { + t.Fatalf("unknown path: %d, want 404", rec.Code) + } +} + +func TestLivePathWinsOverRedirect(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "a.md", "# Body", t0) + f.move("deva", "a.md", "docs/a.md", "# Body", t0.Add(time.Hour)) + f.putAt("deva", "a.md", "# Brand new", t0.Add(2*time.Hour)) + h := f.server().Handler() + + rec := get(t, h, "/api/file?path=a.md") + if rec.Code != 200 || rec.Body.String() != "# Brand new" { + t.Fatalf("live path: %d %q, want the new file", rec.Code, rec.Body) + } + if got := rec.Header().Get("X-Bdrive-Canonical-Path"); got != "" { + t.Fatalf("canonical header = %q, want none (nothing moved out of a live path)", got) + } +} + +func TestMoveChainResolvesInOneHop(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "a.md", "body", t0) + f.move("deva", "a.md", "b.md", "body", t0.Add(time.Hour)) + f.move("deva", "b.md", "c.md", "body", t0.Add(2*time.Hour)) + h := f.server().Handler() + + rec := get(t, h, "/api/file?path=a.md") + if rec.Code != 200 { + t.Fatalf("a.md: %d %s", rec.Code, rec.Body) + } + if got := rec.Header().Get("X-Bdrive-Canonical-Path"); got != "c.md" { + t.Fatalf("canonical header = %q, want c.md", got) + } +} + +func TestRenderFollowsMove(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "a.md", "# Title", t0) + f.move("deva", "a.md", "docs/a.md", "# Title", t0.Add(time.Hour)) + h := f.server().Handler() + + rec := get(t, h, "/api/render?path=a.md") + if rec.Code != 200 { + t.Fatalf("render: %d %s", rec.Code, rec.Body) + } + var doc struct { + Path string `json:"path"` + } + if err := json.Unmarshal(rec.Body.Bytes(), &doc); err != nil { + t.Fatal(err) + } + if doc.Path != "docs/a.md" { + t.Fatalf("rendered path = %q, want the canonical docs/a.md", doc.Path) + } + if got := rec.Header().Get("X-Bdrive-Canonical-Path"); got != "docs/a.md" { + t.Fatalf("canonical header = %q", got) + } +} + +/* ---- /resolve ---- */ + +func TestResolveEndpoint(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "notes/one.md", "one", t0) + f.putAt("deva", "notes/two.md", "two", t0) + f.move("deva", "notes/one.md", "wiki/one.md", "one", t0.Add(time.Hour)) + f.move("deva", "notes/two.md", "wiki/two.md", "two", t0.Add(time.Hour)) + h := f.server().Handler() + + var got struct{ To, Kind string } + rec := get(t, h, "/api/resolve?path=notes") + if rec.Code != 200 { + t.Fatalf("folder resolve: %d %s", rec.Code, rec.Body) + } + if err := json.Unmarshal(rec.Body.Bytes(), &got); err != nil { + t.Fatal(err) + } + if got.To != "wiki" || got.Kind != "folder" { + t.Fatalf("folder resolve = %+v, want wiki/folder", got) + } + + rec = get(t, h, "/api/resolve?path=notes/one.md") + if rec.Code != 200 { + t.Fatalf("file resolve: %d %s", rec.Code, rec.Body) + } + if err := json.Unmarshal(rec.Body.Bytes(), &got); err != nil { + t.Fatal(err) + } + if got.To != "wiki/one.md" || got.Kind != "file" { + t.Fatalf("file resolve = %+v", got) + } + + // A live path has not gone anywhere. + if rec := get(t, h, "/api/resolve?path=wiki/one.md"); rec.Code != 404 { + t.Fatalf("live path resolve: %d, want 404", rec.Code) + } +} + +func TestResolveFolderIsAllOrNothing(t *testing.T) { + t.Run("half moved", func(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "notes/one.md", "one", t0) + f.putAt("deva", "notes/two.md", "two", t0) + f.move("deva", "notes/one.md", "wiki/one.md", "one", t0.Add(time.Hour)) + if rec := get(t, f.server().Handler(), "/api/resolve?path=notes"); rec.Code != 404 { + t.Fatalf("partial move: %d, want 404 (notes/ still exists)", rec.Code) + } + }) + t.Run("one deleted", func(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "notes/one.md", "one", t0) + f.putAt("deva", "notes/two.md", "two", t0) + f.move("deva", "notes/one.md", "wiki/one.md", "one", t0.Add(time.Hour)) + f.delAt("deva", "notes/two.md", t0.Add(2*time.Hour)) + if rec := get(t, f.server().Handler(), "/api/resolve?path=notes"); rec.Code != 404 { + t.Fatalf("deleted member: %d, want 404 (no honest destination)", rec.Code) + } + }) + t.Run("split destinations", func(t *testing.T) { + f := newFakeRemote(t) + f.putAt("deva", "notes/one.md", "one", t0) + f.putAt("deva", "notes/two.md", "two", t0) + f.move("deva", "notes/one.md", "wiki/one.md", "one", t0.Add(time.Hour)) + f.move("deva", "notes/two.md", "docs/two.md", "two", t0.Add(time.Hour)) + if rec := get(t, f.server().Handler(), "/api/resolve?path=notes"); rec.Code != 404 { + t.Fatalf("split destinations: %d, want 404", rec.Code) + } + }) +} + +/* ---- read heat lands on the canonical path ---- */ + +func TestRedirectedReadCreditsCanonicalPath(t *testing.T) { + srv, p, root := newHub(t, true, nil) + var err error + if srv.Reads, err = OpenReadLedger(filepath.Join(t.TempDir(), "reads.json"), 0); err != nil { + t.Fatal(err) + } + f := newFakeRemoteAt(t, filepath.Join(root, p.ID)) + f.putAt("deva", "a.md", "# Body", t0) + f.move("deva", "a.md", "docs/a.md", "# Body", t0.Add(time.Hour)) + h := srv.Handler() + + if rec := do(t, h, "GET", "/api/p/"+p.ID+"/file?path=a.md", nil); rec.Code != 200 { + t.Fatalf("read: %d %s", rec.Code, rec.Body) + } + rec := do(t, h, "GET", "/api/p/"+p.ID+"/heat?days=30", nil) + var heat struct { + Entries map[string]HeatEntry `json:"entries"` + } + if err := json.Unmarshal(rec.Body.Bytes(), &heat); err != nil { + t.Fatalf("heat: %v (%s)", err, rec.Body) + } + if heat.Entries["docs/a.md"].Human == 0 { + t.Errorf("heat credited %v, want the read on docs/a.md", heat.Entries) + } + if heat.Entries["a.md"].Human != 0 { + t.Errorf("heat credited the OLD path a.md: %v", heat.Entries) + } +} diff --git a/internal/webapp/restore.go b/internal/webapp/restore.go index b8c3194..addae2f 100644 --- a/internal/webapp/restore.go +++ b/internal/webapp/restore.go @@ -51,11 +51,18 @@ func (s *Server) handleRestore(v *volume, w http.ResponseWriter, r *http.Request http.Error(w, err.Error(), http.StatusBadGateway) return } - // The sha must be a version OF THIS PATH: without this, restore would - // paste any blob in the store onto any path. + // The sha must be a version OF THIS FILE: without this, restore would + // paste any blob in the store onto any path. "This file" includes the + // paths it lived at before it moved — otherwise a moved file can never + // be restored to anything older than its move. Ancestors only: the put + // is written at the current path, so a descendant's versions are not + // reachable from here anyway. buildMoveIndex needs journal order. + journal.Sort(all) + chain := chainSegments(buildMoveIndex(all), p) var found *journal.Op for i := range all { - if op := &all[i]; op.Kind == journal.KindPut && op.Path == p && op.Blob == req.SHA { + op := &all[i] + if op.Kind == journal.KindPut && op.Blob == req.SHA && inSegments(chain, op.Path, op.Time) { found = op break } diff --git a/internal/webapp/restore_test.go b/internal/webapp/restore_test.go index b5e1ce9..036db93 100644 --- a/internal/webapp/restore_test.go +++ b/internal/webapp/restore_test.go @@ -6,6 +6,7 @@ import ( "path/filepath" "strings" "testing" + "time" "github.com/runbear-io/beardrive/internal/journal" ) @@ -276,3 +277,70 @@ func TestRestoreNotOnSingleVolume(t *testing.T) { t.Fatalf("single-volume restore: %d, want no such route", rec.Code) } } + +// A moved file keeps its past. Without the chain, restore refuses every +// version written before the move — the file's own history becomes +// unreachable the moment someone drags it into a folder. +func TestRestoreReachesVersionsFromBeforeAMove(t *testing.T) { + srv, p, root := newHub(t, true, nil) + dir := filepath.Join(root, p.ID) + f := newFakeRemoteAt(t, dir) + at := time.Now().Add(-time.Hour) + f.putAt("dev1", "plan.md", "v1", at) + f.putAt("dev1", "plan.md", "v2 longer", at.Add(time.Minute)) + // the move: same device, same blob, one cycle + f.putAt("dev1", "notes/plan.md", "v2 longer", at.Add(2*time.Minute)) + f.delAt("dev1", "plan.md", at.Add(2*time.Minute+time.Second)) + // an unrelated file later takes the old address + f.putAt("dev1", "plan.md", "not the same file", at.Add(time.Hour)) + h := srv.Handler() + base := "/api/p/" + p.ID + "/" + + rec := do(t, h, "POST", base+"restore", + map[string]string{"path": "notes/plan.md", "sha": shaOf("v1")}) + if rec.Code != 200 { + t.Fatalf("restore across a move: %d %s", rec.Code, rec.Body) + } + if rec := do(t, h, "GET", base+"file?path=notes/plan.md", nil); rec.Body.String() != "v1" { + t.Fatalf("file after restore = %q, want v1", rec.Body) + } + // The successor at the old address is a different file, not an ancestor. + rec = do(t, h, "POST", base+"restore", + map[string]string{"path": "notes/plan.md", "sha": shaOf("not the same file")}) + if rec.Code != http.StatusNotFound { + t.Fatalf("restore of the successor's blob: %d %s, want 404", rec.Code, rec.Body) + } +} + +// The same chain, on the history feed. +func TestHistoryFollowsAMove(t *testing.T) { + srv, p, root := newHub(t, true, nil) + f := newFakeRemoteAt(t, filepath.Join(root, p.ID)) + at := time.Now().Add(-time.Hour) + f.putAt("dev1", "plan.md", "v1", at) + f.putAt("dev1", "plan.md", "v2", at.Add(time.Minute)) + f.putAt("dev1", "notes/plan.md", "v2", at.Add(2*time.Minute)) + f.delAt("dev1", "plan.md", at.Add(2*time.Minute+time.Second)) + f.putAt("dev1", "plan.md", "unrelated", at.Add(time.Hour)) + h := srv.Handler() + base := "/api/p/" + p.ID + "/" + + entries := historyOf(t, h, base, "notes/plan.md") + var blobs []string + for _, e := range entries { + blobs = append(blobs, e.Blob) + } + if len(entries) != 3 { + t.Fatalf("history = %d entries %v, want 3 (v1, v2, the move)", len(entries), blobs) + } + seen := map[string]bool{} + for _, b := range blobs { + seen[b] = true + } + if !seen[shaOf("v1")] { + t.Errorf("the pre-move v1 is missing from the feed: %v", blobs) + } + if seen[shaOf("unrelated")] { + t.Errorf("the unrelated file at the old address leaked in: %v", blobs) + } +} diff --git a/internal/webapp/server.go b/internal/webapp/server.go index 6858490..cd0136e 100644 --- a/internal/webapp/server.go +++ b/internal/webapp/server.go @@ -203,6 +203,18 @@ type volume struct { type snapshot struct { files map[string]FileInfo + // moves is the derived rename index (see moves.go), cached with the + // listing it was replayed alongside. Nil for a source that has no + // journals to derive it from — every resolver then answers "not found", + // so the DirSource exclusion falls out instead of needing a rule. + moves moveIndex +} + +// MoveSource is a Source that can also report where its files came from. +// Optional, like Uploader: implementing it keeps the replay ONE pass, so the +// move index costs no extra journal read. +type MoveSource interface { + FilesWithMoves(context.Context) (map[string]FileInfo, moveIndex, error) } func (v *volume) snapshot(ctx context.Context) (*snapshot, error) { @@ -211,14 +223,23 @@ func (v *volume) snapshot(ctx context.Context) (*snapshot, error) { if v.snap != nil && time.Since(v.at) < v.refresh { return v.snap, nil } - files, err := v.source.Files(ctx) + var ( + files map[string]FileInfo + moves moveIndex + err error + ) + if ms, ok := v.source.(MoveSource); ok { + files, moves, err = ms.FilesWithMoves(ctx) + } else { + files, err = v.source.Files(ctx) + } if err != nil { if v.snap != nil { return v.snap, nil // serve stale rather than fail } return nil, err } - v.snap, v.at = &snapshot{files: files}, time.Now() + v.snap, v.at = &snapshot{files: files, moves: moves}, time.Now() return v.snap, nil } @@ -468,9 +489,16 @@ func (r *RemoteSource) loadSourcedOps(ctx context.Context) ([]sourcedOp, error) } func (r *RemoteSource) Files(ctx context.Context) (map[string]FileInfo, error) { + files, _, err := r.FilesWithMoves(ctx) + return files, err +} + +// FilesWithMoves is the replay, plus the rename index derived from the same +// sorted ops — one pass, so the index rides in the cached snapshot. +func (r *RemoteSource) FilesWithMoves(ctx context.Context) (map[string]FileInfo, moveIndex, error) { all, err := r.loadOps(ctx) if err != nil { - return nil, err + return nil, nil, err } journal.Sort(all) files := make(map[string]FileInfo) @@ -495,7 +523,7 @@ func (r *RemoteSource) Files(ctx context.Context) (map[string]FileInfo, error) { delete(files, op.Path) } } - return files, nil + return files, buildMoveIndex(all), nil } func (r *RemoteSource) Open(ctx context.Context, _ string, fi FileInfo) (io.ReadCloser, error) { @@ -567,6 +595,7 @@ func (s *Server) Handler() http.Handler { "/api/p/{project}/": proj, } { mux.HandleFunc("GET "+prefix+"tree", resolve(PermRead, s.handleTree)) + mux.HandleFunc("GET "+prefix+"resolve", resolve(PermRead, s.handleResolve)) mux.HandleFunc("GET "+prefix+"file", resolve(PermRead, s.handleFile)) mux.HandleFunc("GET "+prefix+"download", resolve(PermRead, s.handleDownload)) mux.HandleFunc("GET "+prefix+"render", resolve(PermRead, s.handleRender)) @@ -1008,7 +1037,18 @@ func lookup(v *volume, r *http.Request) (string, FileInfo, int, error) { } fi, ok := snap.files[p] if !ok { - return "", FileInfo{}, http.StatusNotFound, fmt.Errorf("no such file: %s", p) + // The address is empty — but the file may have moved out of it. A + // LIVE path always wins, which falls out of the ordering: the + // snapshot hit above returns first, so nothing redirects while + // something still answers at the old address. + to, moved := resolveForward(snap.moves, snap.files, p) + if !moved { + return "", FileInfo{}, http.StatusNotFound, fmt.Errorf("no such file: %s", p) + } + // The canonical path is what gets returned, so the read is recorded + // against it (heat doesn't split across old and new) and the render + // payload names it. + p, fi = to, snap.files[to] } return p, fi, 0, nil } @@ -1019,6 +1059,7 @@ func (s *Server) serveBlob(v *volume, w http.ResponseWriter, r *http.Request, at http.Error(w, err.Error(), code) return } + setCanonical(w, r, p) // Count the read before the ETag check: a 304 render is still a person // reading the file, and skipping it would undercount the hottest pages. s.recordRead(r, p) @@ -1086,6 +1127,7 @@ func (s *Server) handleRender(v *volume, w http.ResponseWriter, r *http.Request) http.Error(w, err.Error(), code) return } + setCanonical(w, r, p) s.recordRead(r, p) rc, err := v.source.Open(r.Context(), p, fi) if err != nil { diff --git a/internal/webapp/server_test.go b/internal/webapp/server_test.go index 3816eda..f493590 100644 --- a/internal/webapp/server_test.go +++ b/internal/webapp/server_test.go @@ -66,7 +66,11 @@ func (f *fakeRemote) append(dev string, op journal.Op) { f.lam++ f.seq[dev]++ op.Seq, op.Lamport = f.seq[dev], f.lam - op.Time = time.Now().UTC() + // A caller that set Time keeps it: move pairing and share resolution are + // both time-windowed, so those tests have to place ops in time. + if op.Time.IsZero() { + op.Time = time.Now().UTC() + } op.Device, op.DeviceName, op.Author = dev, dev, dev+"@test" if err := journal.Append(filepath.Join(f.dir, "journal", dev+".jsonl"), []journal.Op{op}); err != nil { f.t.Fatal(err) diff --git a/internal/webapp/shares.go b/internal/webapp/shares.go index e57e5b9..4a0d937 100644 --- a/internal/webapp/shares.go +++ b/internal/webapp/shares.go @@ -458,14 +458,19 @@ func (s *Server) handleShared(w http.ResponseWriter, r *http.Request) { http.Error(w, "content temporarily unavailable", http.StatusBadGateway) return } - fi, ok := snap.files[sh.Path] + // A share token is a promise about ONE file, so it follows that file + // when it moves — the opposite of a viewer URL, which is an address and + // always serves whatever lives there now. That also closes a leak: a + // share used to serve whatever unrelated file later occupied its path. + sp, ok := resolveShare(snap.moves, snap.files, sh.Path, sh.Created) if !ok { http.Error(w, "the shared file no longer exists", http.StatusNotFound) return } + fi := snap.files[sp] // A share hit is external consumption. Actor is token+IP: one audience // member reloading is debounced to a visit, distinct visitors still count. - s.Reads.Record(sh.Project, sh.Path, ReadKindShare, sh.Token+"/"+s.clientIP(r)) + s.Reads.Record(sh.Project, sp, ReadKindShare, sh.Token+"/"+s.clientIP(r)) // Share links are the only unauthenticated door to stored bytes, so they // are the only egress a plan actually caps. The per-IP limiter above @@ -485,7 +490,7 @@ func (s *Server) handleShared(w http.ResponseWriter, r *http.Request) { cw := &countingWriter{w: w} defer func() { s.quota().RecordEgress(org, cw.n) }() - rc, err := v.source.Open(r.Context(), sh.Path, fi) + rc, err := v.source.Open(r.Context(), sp, fi) if err != nil { http.Error(w, "content temporarily unavailable", http.StatusBadGateway) return @@ -493,13 +498,13 @@ func (s *Server) handleShared(w http.ResponseWriter, r *http.Request) { defer rc.Close() if r.URL.Query().Get("download") == "1" { - w.Header().Set("Content-Type", contentType(sh.Path)) - w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%q", sanitizeFilename(path.Base(sh.Path)))) + w.Header().Set("Content-Type", contentType(sp)) + w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%q", sanitizeFilename(path.Base(sp)))) io.Copy(cw, rc) return } - switch strings.ToLower(path.Ext(sh.Path)) { + switch strings.ToLower(path.Ext(sp)) { case ".md", ".markdown": src, err := io.ReadAll(rc) if err != nil { @@ -512,12 +517,12 @@ func (s *Server) handleShared(w http.ResponseWriter, r *http.Request) { return } w.Header().Set("Content-Type", "text/html; charset=utf-8") - fmt.Fprintf(cw, sharedMarkdownShell, html.EscapeString(path.Base(sh.Path)), updatedStamp(fi.Time), body) + fmt.Fprintf(cw, sharedMarkdownShell, html.EscapeString(path.Base(sp)), updatedStamp(fi.Time), body) case ".html", ".htm": w.Header().Set("Content-Type", "text/html; charset=utf-8") io.Copy(cw, rc) default: - w.Header().Set("Content-Type", contentType(sh.Path)) + w.Header().Set("Content-Type", contentType(sp)) setContentLength(w, rc) // measured, never the journal's Size field io.Copy(cw, rc) } diff --git a/internal/webapp/shares_test.go b/internal/webapp/shares_test.go index 85fcdcb..eceaf2a 100644 --- a/internal/webapp/shares_test.go +++ b/internal/webapp/shares_test.go @@ -667,3 +667,58 @@ func authAs(t *testing.T, srv *Server, req *http.Request) { } req.Header.Set("Authorization", "Bearer "+tok) } + +// A share token is a promise about ONE file. These three pin the direction +// it goes when a path changes hands — the opposite of the viewer's, which is +// an address and always serves whatever lives there now. + +func TestShareFollowsMovedFile(t *testing.T) { + srv, p, _, f, h := shareHub(t) + token, _ := authedShare(t, srv, h, p.ID, "wiki/notes.md") + + at := time.Now().Add(time.Minute) + f.putAt("dev1", "docs/notes.md", "# Notes\n\nhello **team**", at) + f.delAt("dev1", "wiki/notes.md", at.Add(time.Second)) + + rec := do(t, h, "GET", "/s/"+token, nil) + if rec.Code != 200 || !strings.Contains(rec.Body.String(), "hello") { + t.Fatalf("share after move: %d %s", rec.Code, rec.Body) + } + + // ...and keeps following it once an UNRELATED file takes the old address. + f.putAt("dev1", "wiki/notes.md", "# Someone else's file", at.Add(time.Hour)) + rec = do(t, h, "GET", "/s/"+token, nil) + if rec.Code != 200 { + t.Fatalf("share with a new file at the old path: %d %s", rec.Code, rec.Body) + } + if body := rec.Body.String(); strings.Contains(body, "Someone else") { + t.Fatalf("share served the file that took its old address:\n%s", body) + } +} + +func TestShareOfDeletedFileNeverServesItsSuccessor(t *testing.T) { + srv, p, _, f, h := shareHub(t) + token, _ := authedShare(t, srv, h, p.ID, "wiki/notes.md") + + at := time.Now().Add(time.Minute) + f.delAt("dev1", "wiki/notes.md", at) + if rec := do(t, h, "GET", "/s/"+token, nil); rec.Code != 404 { + t.Fatalf("share of a deleted file: %d, want 404", rec.Code) + } + // The leak this closes: something new lands on the address later, and + // the public link used to start serving it with no revoke and no signal. + f.putAt("dev1", "wiki/notes.md", "# Payroll", at.Add(time.Hour)) + rec := do(t, h, "GET", "/s/"+token, nil) + if rec.Code != 404 { + t.Fatalf("share resurrected by an unrelated file: %d %s", rec.Code, rec.Body) + } +} + +func TestShareUnaffectedByAnUnmovedFile(t *testing.T) { + srv, p, _, f, h := shareHub(t) + _ = f + token, _ := authedShare(t, srv, h, p.ID, "wiki/notes.md") + if rec := do(t, h, "GET", "/s/"+token, nil); rec.Code != 200 { + t.Fatalf("unmoved share: %d %s", rec.Code, rec.Body) + } +} diff --git a/internal/webapp/static/assets/index-BiaGRL-i.js b/internal/webapp/static/assets/index-BiaGRL-i.js deleted file mode 100644 index dd1a52e..0000000 --- a/internal/webapp/static/assets/index-BiaGRL-i.js +++ /dev/null @@ -1,122 +0,0 @@ -function y2(e,n){for(var r=0;ri[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function r(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=r(s);fetch(s.href,l)}})();function bw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Rh={exports:{}},Is={};var lb;function b2(){if(lb)return Is;lb=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(i,s,l){var u=null;if(l!==void 0&&(u=""+l),s.key!==void 0&&(u=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:i,key:u,ref:s!==void 0?s:null,props:l}}return Is.Fragment=n,Is.jsx=r,Is.jsxs=r,Is}var cb;function x2(){return cb||(cb=1,Rh.exports=b2()),Rh.exports}var f=x2(),jh={exports:{}},Pe={};var ub;function w2(){if(ub)return Pe;ub=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function x(k){return k===null||typeof k!="object"?null:(k=b&&k[b]||k["@@iterator"],typeof k=="function"?k:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,E={};function R(k,M,B){this.props=k,this.context=M,this.refs=E,this.updater=B||w}R.prototype.isReactComponent={},R.prototype.setState=function(k,M){if(typeof k!="object"&&typeof k!="function"&&k!=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,k,M,"setState")},R.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function T(){}T.prototype=R.prototype;function O(k,M,B){this.props=k,this.context=M,this.refs=E,this.updater=B||w}var D=O.prototype=new T;D.constructor=O,_(D,R.prototype),D.isPureReactComponent=!0;var $=Array.isArray;function F(){}var U={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function pe(k,M,B){var X=B.ref;return{$$typeof:e,type:k,key:M,ref:X!==void 0?X:null,props:B}}function ge(k,M){return pe(k.type,M,k.props)}function de(k){return typeof k=="object"&&k!==null&&k.$$typeof===e}function Q(k){var M={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(B){return M[B]})}var re=/\/+/g;function he(k,M){return typeof k=="object"&&k!==null&&k.key!=null?Q(""+k.key):M.toString(36)}function xe(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(F,F):(k.status="pending",k.then(function(M){k.status==="pending"&&(k.status="fulfilled",k.value=M)},function(M){k.status==="pending"&&(k.status="rejected",k.reason=M)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function N(k,M,B,X,K){var le=typeof k;(le==="undefined"||le==="boolean")&&(k=null);var ee=!1;if(k===null)ee=!0;else switch(le){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(k.$$typeof){case e:case n:ee=!0;break;case y:return ee=k._init,N(ee(k._payload),M,B,X,K)}}if(ee)return K=K(k),ee=X===""?"."+he(k,0):X,$(K)?(B="",ee!=null&&(B=ee.replace(re,"$&/")+"/"),N(K,M,B,"",function(Ne){return Ne})):K!=null&&(de(K)&&(K=ge(K,B+(K.key==null||k&&k.key===K.key?"":(""+K.key).replace(re,"$&/")+"/")+ee)),M.push(K)),1;ee=0;var ve=X===""?".":X+":";if($(k))for(var ye=0;ye>>1,ne=N[te];if(0>>1;tes(B,ie))Xs(K,B)?(N[te]=K,N[X]=ie,te=X):(N[te]=B,N[M]=ie,te=M);else if(Xs(K,ie))N[te]=K,N[X]=ie,te=X;else break e}}return Z}function s(N,Z){var ie=N.sortIndex-Z.sortIndex;return ie!==0?ie:N.id-Z.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var p=[],m=[],y=1,v=null,b=3,x=!1,w=!1,_=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function D(N){for(var Z=r(m);Z!==null;){if(Z.callback===null)i(m);else if(Z.startTime<=N)i(m),Z.sortIndex=Z.expirationTime,n(p,Z);else break;Z=r(m)}}function $(N){if(_=!1,D(N),!w)if(r(p)!==null)w=!0,F||(F=!0,Q());else{var Z=r(m);Z!==null&&xe($,Z.startTime-N)}}var F=!1,U=-1,V=5,pe=-1;function ge(){return E?!0:!(e.unstable_now()-peN&&ge());){var te=v.callback;if(typeof te=="function"){v.callback=null,b=v.priorityLevel;var ne=te(v.expirationTime<=N);if(N=e.unstable_now(),typeof ne=="function"){v.callback=ne,D(N),Z=!0;break t}v===r(p)&&i(p),D(N)}else i(p);v=r(p)}if(v!==null)Z=!0;else{var k=r(m);k!==null&&xe($,k.startTime-N),Z=!1}}break e}finally{v=null,b=ie,x=!1}Z=void 0}}finally{Z?Q():F=!1}}}var Q;if(typeof O=="function")Q=function(){O(de)};else if(typeof MessageChannel<"u"){var re=new MessageChannel,he=re.port2;re.port1.onmessage=de,Q=function(){he.postMessage(null)}}else Q=function(){R(de,0)};function xe(N,Z){U=R(function(){N(e.unstable_now())},Z)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(N){N.callback=null},e.unstable_forceFrameRate=function(N){0>N||125te?(N.sortIndex=ie,n(m,N),r(p)===null&&N===r(m)&&(_?(T(U),U=-1):_=!0,xe($,ie-te))):(N.sortIndex=ne,n(p,N),w||x||(w=!0,F||(F=!0,Q()))),N},e.unstable_shouldYield=ge,e.unstable_wrapCallback=function(N){var Z=b;return function(){var ie=b;b=Z;try{return N.apply(this,arguments)}finally{b=ie}}}})(Ah)),Ah}var hb;function _2(){return hb||(hb=1,Oh.exports=S2()),Oh.exports}var Mh={exports:{}},dn={};var mb;function C2(){if(mb)return dn;mb=1;var e=np();function n(p){var m="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Mh.exports=C2(),Mh.exports}var gb;function E2(){if(gb)return Ps;gb=1;var e=_2(),n=np(),r=xw();function i(t){var a="https://react.dev/errors/"+t;if(1ne||(t.current=te[ne],te[ne]=null,ne--)}function B(t,a){ne++,te[ne]=t.current,t.current=a}var X=k(null),K=k(null),le=k(null),ee=k(null);function ve(t,a){switch(B(le,a),B(K,t),B(X,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?M0(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=M0(a),t=N0(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}M(X),B(X,t)}function ye(){M(X),M(K),M(le)}function Ne(t){t.memoizedState!==null&&B(ee,t);var a=X.current,o=N0(a,t.type);a!==o&&(B(K,t),B(X,o))}function Ie(t){K.current===t&&(M(X),M(K)),ee.current===t&&(M(ee),zs._currentValue=ie)}var Fe,ft;function Qe(t){if(Fe===void 0)try{throw Error()}catch(o){var a=o.stack.trim().match(/\n( *(at )?)/);Fe=a&&a[1]||"",ft=-1)":-1h||L[c]!==G[h]){var ae=` -`+L[c].replace(" at new "," at ");return t.displayName&&ae.includes("")&&(ae=ae.replace("",t.displayName)),ae}while(1<=c&&0<=h);break}}}finally{vn=!1,Error.prepareStackTrace=o}return(o=t?t.displayName||t.name:"")?Qe(o):""}function Kt(t,a){switch(t.tag){case 26:case 27:case 5:return Qe(t.type);case 16:return Qe("Lazy");case 13:return t.child!==a&&a!==null?Qe("Suspense Fallback"):Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 15:return un(t.type,!1);case 11:return un(t.type.render,!1);case 1:return un(t.type,!0);case 31:return Qe("Activity");default:return""}}function ir(t){try{var a="",o=null;do a+=Kt(t,o),o=t,t=t.return;while(t);return a}catch(c){return` -Error generating stack: `+c.message+` -`+c.stack}}var Dt=Object.prototype.hasOwnProperty,or=e.unstable_scheduleCallback,Dr=e.unstable_cancelCallback,Tt=e.unstable_shouldYield,Hn=e.unstable_requestPaint,wt=e.unstable_now,oa=e.unstable_getCurrentPriorityLevel,yn=e.unstable_ImmediatePriority,zr=e.unstable_UserBlockingPriority,sr=e.unstable_NormalPriority,Yt=e.unstable_LowPriority,bn=e.unstable_IdlePriority,A=e.log,z=e.unstable_setDisableYieldValue,I=null,J=null;function ce(t){if(typeof A=="function"&&z(t),J&&typeof J.setStrictMode=="function")try{J.setStrictMode(I,t)}catch{}}var me=Math.clz32?Math.clz32:je,be=Math.log,we=Math.LN2;function je(t){return t>>>=0,t===0?32:31-(be(t)/we|0)|0}var et=256,St=262144,Qt=4194304;function zt(t){var a=t&42;if(a!==0)return a;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Me(t,a,o){var c=t.pendingLanes;if(c===0)return 0;var h=0,g=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~g,c!==0?h=zt(c):(C&=j,C!==0?h=zt(C):o||(o=j&~t,o!==0&&(h=zt(o))))):(j=c&~g,j!==0?h=zt(j):C!==0?h=zt(C):o||(o=c&~t,o!==0&&(h=zt(o)))),h===0?0:a!==0&&a!==h&&(a&g)===0&&(g=h&-h,o=a&-a,g>=o||g===32&&(o&4194048)!==0)?a:h}function ht(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function yt(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+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 a+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 Ht(){var t=Qt;return Qt<<=1,(Qt&62914560)===0&&(Qt=4194304),t}function lr(t){for(var a=[],o=0;31>o;o++)a.push(t);return a}function _t(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function xn(t,a,o,c,h,g){var C=t.pendingLanes;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=o,t.entangledLanes&=o,t.errorRecoveryDisabledLanes&=o,t.shellSuspendCounter=0;var j=t.entanglements,L=t.expirationTimes,G=t.hiddenUpdates;for(o=C&~o;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var fE=/[\n"\\]/g;function qn(t){return t.replace(fE,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function bd(t,a,o,c,h,g,C,j){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),a!=null?C==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+Bn(a)):t.value!==""+Bn(a)&&(t.value=""+Bn(a)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),a!=null?xd(t,C,Bn(a)):o!=null?xd(t,C,Bn(o)):c!=null&&t.removeAttribute("value"),h==null&&g!=null&&(t.defaultChecked=!!g),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Bn(j):t.removeAttribute("name")}function Eg(t,a,o,c,h,g,C,j){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||o!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){yd(t);return}o=o!=null?""+Bn(o):"",a=a!=null?""+Bn(a):o,j||a===t.value||(t.value=a),t.defaultValue=a}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),yd(t)}function xd(t,a,o){a==="number"&&Ol(t.ownerDocument)===t||t.defaultValue===""+o||(t.defaultValue=""+o)}function Hi(t,a,o,c){if(t=t.options,a){a={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ed=!1;if($r)try{var Jo={};Object.defineProperty(Jo,"passive",{get:function(){Ed=!0}}),window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Ed=!1}var la=null,Rd=null,Ml=null;function Ng(){if(Ml)return Ml;var t,a=Rd,o=a.length,c,h="value"in la?la.value:la.textContent,g=h.length;for(t=0;t=ts),Ig=" ",Pg=!1;function Fg(t,a){switch(t){case"keyup":return FE.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zi=!1;function UE(t,a){switch(t){case"compositionend":return Vg(a);case"keypress":return a.which!==32?null:(Pg=!0,Ig);case"textInput":return t=a.data,t===Ig&&Pg?null:t;default:return null}}function HE(t,a){if(Zi)return t==="compositionend"||!Md&&Fg(t,a)?(t=Ng(),Ml=Rd=la=null,Zi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:o,offset:a-t};t=c}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Yg(o)}}function Xg(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Xg(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function Jg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Ol(t.document);a instanceof t.HTMLIFrameElement;){try{var o=typeof a.contentWindow.location.href=="string"}catch{o=!1}if(o)t=a.contentWindow;else break;a=Ol(t.document)}return a}function zd(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var XE=$r&&"documentMode"in document&&11>=document.documentMode,Ki=null,kd=null,is=null,Ld=!1;function Wg(t,a,o){var c=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Ld||Ki==null||Ki!==Ol(c)||(c=Ki,"selectionStart"in c&&zd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),is&&as(is,c)||(is=c,c=Cc(kd,"onSelect"),0>=C,h-=C,xr=1<<32-me(a)+h|o<Ue?(Ze=Te,Te=null):Ze=Te.sibling;var We=Y(H,Te,q[Ue],oe);if(We===null){Te===null&&(Te=Ze);break}t&&Te&&We.alternate===null&&a(H,Te),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We,Te=Ze}if(Ue===q.length)return o(H,Te),Ye&&Pr(H,Ue),Oe;if(Te===null){for(;UeUe?(Ze=Te,Te=null):Ze=Te.sibling;var Aa=Y(H,Te,We.value,oe);if(Aa===null){Te===null&&(Te=Ze);break}t&&Te&&Aa.alternate===null&&a(H,Te),P=g(Aa,P,Ue),Je===null?Oe=Aa:Je.sibling=Aa,Je=Aa,Te=Ze}if(We.done)return o(H,Te),Ye&&Pr(H,Ue),Oe;if(Te===null){for(;!We.done;Ue++,We=q.next())We=se(H,We.value,oe),We!==null&&(P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return Ye&&Pr(H,Ue),Oe}for(Te=c(Te);!We.done;Ue++,We=q.next())We=W(Te,H,Ue,We.value,oe),We!==null&&(t&&We.alternate!==null&&Te.delete(We.key===null?Ue:We.key),P=g(We,P,Ue),Je===null?Oe=We:Je.sibling=We,Je=We);return t&&Te.forEach(function(v2){return a(H,v2)}),Ye&&Pr(H,Ue),Oe}function st(H,P,q,oe){if(typeof q=="object"&&q!==null&&q.type===_&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case x:e:{for(var Oe=q.key;P!==null;){if(P.key===Oe){if(Oe=q.type,Oe===_){if(P.tag===7){o(H,P.sibling),oe=h(P,q.props.children),oe.return=H,H=oe;break e}}else if(P.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===V&&ui(Oe)===P.type){o(H,P.sibling),oe=h(P,q.props),ds(oe,q),oe.return=H,H=oe;break e}o(H,P);break}else a(H,P);P=P.sibling}q.type===_?(oe=ii(q.props.children,H.mode,oe,q.key),oe.return=H,H=oe):(oe=Vl(q.type,q.key,q.props,null,H.mode,oe),ds(oe,q),oe.return=H,H=oe)}return C(H);case w:e:{for(Oe=q.key;P!==null;){if(P.key===Oe)if(P.tag===4&&P.stateNode.containerInfo===q.containerInfo&&P.stateNode.implementation===q.implementation){o(H,P.sibling),oe=h(P,q.children||[]),oe.return=H,H=oe;break e}else{o(H,P);break}else a(H,P);P=P.sibling}oe=Hd(q,H.mode,oe),oe.return=H,H=oe}return C(H);case V:return q=ui(q),st(H,P,q,oe)}if(xe(q))return Ee(H,P,q,oe);if(Q(q)){if(Oe=Q(q),typeof Oe!="function")throw Error(i(150));return q=Oe.call(q),De(H,P,q,oe)}if(typeof q.then=="function")return st(H,P,Kl(q),oe);if(q.$$typeof===O)return st(H,P,Bl(H,q),oe);Yl(H,q)}return typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint"?(q=""+q,P!==null&&P.tag===6?(o(H,P.sibling),oe=h(P,q),oe.return=H,H=oe):(o(H,P),oe=Ud(q,H.mode,oe),oe.return=H,H=oe),C(H)):o(H,P)}return function(H,P,q,oe){try{us=0;var Oe=st(H,P,q,oe);return io=null,Oe}catch(Te){if(Te===ao||Te===Gl)throw Te;var Je=zn(29,Te,null,H.mode);return Je.lanes=oe,Je.return=H,Je}}}var fi=Sv(!0),_v=Sv(!1),ha=!1;function tf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function nf(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ma(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function pa(t,a,o){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(tt&2)!==0){var h=c.pending;return h===null?a.next=a:(a.next=h.next,h.next=a),c.pending=a,a=Fl(t),ov(t,null,o),a}return Pl(t,c,a,o),Fl(t)}function fs(t,a,o){if(a=a.updateQueue,a!==null&&(a=a.shared,(o&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,wn(t,o)}}function rf(t,a){var o=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,o===c)){var h=null,g=null;if(o=o.firstBaseUpdate,o!==null){do{var C={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};g===null?h=g=C:g=g.next=C,o=o.next}while(o!==null);g===null?h=g=a:g=g.next=a}else h=g=a;o={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=o;return}t=o.lastBaseUpdate,t===null?o.firstBaseUpdate=a:t.next=a,o.lastBaseUpdate=a}var af=!1;function hs(){if(af){var t=ro;if(t!==null)throw t}}function ms(t,a,o,c){af=!1;var h=t.updateQueue;ha=!1;var g=h.firstBaseUpdate,C=h.lastBaseUpdate,j=h.shared.pending;if(j!==null){h.shared.pending=null;var L=j,G=L.next;L.next=null,C===null?g=G:C.next=G,C=L;var ae=t.alternate;ae!==null&&(ae=ae.updateQueue,j=ae.lastBaseUpdate,j!==C&&(j===null?ae.firstBaseUpdate=G:j.next=G,ae.lastBaseUpdate=L))}if(g!==null){var se=h.baseState;C=0,ae=G=L=null,j=g;do{var Y=j.lane&-536870913,W=Y!==j.lane;if(W?(Ge&Y)===Y:(c&Y)===Y){Y!==0&&Y===no&&(af=!0),ae!==null&&(ae=ae.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Ee=t,De=j;Y=a;var st=o;switch(De.tag){case 1:if(Ee=De.payload,typeof Ee=="function"){se=Ee.call(st,se,Y);break e}se=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=De.payload,Y=typeof Ee=="function"?Ee.call(st,se,Y):Ee,Y==null)break e;se=v({},se,Y);break e;case 2:ha=!0}}Y=j.callback,Y!==null&&(t.flags|=64,W&&(t.flags|=8192),W=h.callbacks,W===null?h.callbacks=[Y]:W.push(Y))}else W={lane:Y,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ae===null?(G=ae=W,L=se):ae=ae.next=W,C|=Y;if(j=j.next,j===null){if(j=h.shared.pending,j===null)break;W=j,j=W.next,W.next=null,h.lastBaseUpdate=W,h.shared.pending=null}}while(!0);ae===null&&(L=se),h.baseState=L,h.firstBaseUpdate=G,h.lastBaseUpdate=ae,g===null&&(h.shared.lanes=0),xa|=C,t.lanes=C,t.memoizedState=se}}function Cv(t,a){if(typeof t!="function")throw Error(i(191,t));t.call(a)}function Ev(t,a){var o=t.callbacks;if(o!==null)for(t.callbacks=null,t=0;tg?g:8;var C=N.T,j={};N.T=j,Cf(t,!1,a,o);try{var L=h(),G=N.S;if(G!==null&&G(j,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var ae=oR(L,c);vs(t,a,ae,Pn(t))}else vs(t,a,c,Pn(t))}catch(se){vs(t,a,{then:function(){},status:"rejected",reason:se},Pn())}finally{Z.p=g,C!==null&&j.types!==null&&(C.types=j.types),N.T=C}}function fR(){}function Sf(t,a,o,c){if(t.tag!==5)throw Error(i(476));var h=ry(t).queue;ny(t,h,a,ie,o===null?fR:function(){return ay(t),o(c)})}function ry(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:ie},next:null};var o={};return a.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hr,lastRenderedState:o},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function ay(t){var a=ry(t);a.next===null&&(a=t.alternate.memoizedState),vs(t,a.next.queue,{},Pn())}function _f(){return Wt(zs)}function iy(){return At().memoizedState}function oy(){return At().memoizedState}function hR(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var o=Pn();t=ma(o);var c=pa(a,t,o);c!==null&&(On(c,a,o),fs(c,a,o)),a={cache:Xd()},t.payload=a;return}a=a.return}}function mR(t,a,o){var c=Pn();o={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},ic(t)?ly(a,o):(o=Fd(t,a,o,c),o!==null&&(On(o,t,c),cy(o,a,c)))}function sy(t,a,o){var c=Pn();vs(t,a,o,c)}function vs(t,a,o,c){var h={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(ic(t))ly(a,h);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var C=a.lastRenderedState,j=g(C,o);if(h.hasEagerState=!0,h.eagerState=j,Dn(j,C))return Pl(t,a,h,0),ut===null&&Il(),!1}catch{}if(o=Fd(t,a,h,c),o!==null)return On(o,t,c),cy(o,a,c),!0}return!1}function Cf(t,a,o,c){if(c={lane:2,revertLane:nh(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},ic(t)){if(a)throw Error(i(479))}else a=Fd(t,o,c,2),a!==null&&On(a,t,2)}function ic(t){var a=t.alternate;return t===Ve||a!==null&&a===Ve}function ly(t,a){so=Jl=!0;var o=t.pending;o===null?a.next=a:(a.next=o.next,o.next=a),t.pending=a}function cy(t,a,o){if((o&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,wn(t,o)}}var ys={readContext:Wt,use:tc,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};ys.useEffectEvent=Et;var uy={readContext:Wt,use:tc,useCallback:function(t,a){return mn().memoizedState=[t,a===void 0?null:a],t},useContext:Wt,useEffect:Zv,useImperativeHandle:function(t,a,o){o=o!=null?o.concat([t]):null,rc(4194308,4,Xv.bind(null,a,t),o)},useLayoutEffect:function(t,a){return rc(4194308,4,t,a)},useInsertionEffect:function(t,a){rc(4,2,t,a)},useMemo:function(t,a){var o=mn();a=a===void 0?null:a;var c=t();if(hi){ce(!0);try{t()}finally{ce(!1)}}return o.memoizedState=[c,a],c},useReducer:function(t,a,o){var c=mn();if(o!==void 0){var h=o(a);if(hi){ce(!0);try{o(a)}finally{ce(!1)}}}else h=a;return c.memoizedState=c.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},c.queue=t,t=t.dispatch=mR.bind(null,Ve,t),[c.memoizedState,t]},useRef:function(t){var a=mn();return t={current:t},a.memoizedState=t},useState:function(t){t=vf(t);var a=t.queue,o=sy.bind(null,Ve,a);return a.dispatch=o,[t.memoizedState,o]},useDebugValue:xf,useDeferredValue:function(t,a){var o=mn();return wf(o,t,a)},useTransition:function(){var t=vf(!1);return t=ny.bind(null,Ve,t.queue,!0,!1),mn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,o){var c=Ve,h=mn();if(Ye){if(o===void 0)throw Error(i(407));o=o()}else{if(o=a(),ut===null)throw Error(i(349));(Ge&127)!==0||Mv(c,a,o)}h.memoizedState=o;var g={value:o,getSnapshot:a};return h.queue=g,Zv(Dv.bind(null,c,g,t),[t]),c.flags|=2048,co(9,{destroy:void 0},Nv.bind(null,c,g,o,a),null),o},useId:function(){var t=mn(),a=ut.identifierPrefix;if(Ye){var o=wr,c=xr;o=(c&~(1<<32-me(c)-1)).toString(32)+o,a="_"+a+"R_"+o,o=Wl++,0<\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?C.createElement(h,{is:c.is}):C.createElement(h)}}g[Xt]=a,g[_n]=c;e:for(C=a.child;C!==null;){if(C.tag===5||C.tag===6)g.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===a)break e;for(;C.sibling===null;){if(C.return===null||C.return===a)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}a.stateNode=g;e:switch(tn(g,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&qr(a)}}return pt(a),If(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,o),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&qr(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(i(166));if(t=le.current,eo(a)){if(t=a.stateNode,o=a.memoizedProps,c=null,h=Jt,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}t[Xt]=a,t=!!(t.nodeValue===o||c!==null&&c.suppressHydrationWarning===!0||O0(t.nodeValue,o)),t||da(a,!0)}else t=Ec(t).createTextNode(c),t[Xt]=a,a.stateNode=t}return pt(a),null;case 31:if(o=a.memoizedState,t===null||t.memoizedState!==null){if(c=eo(a),o!==null){if(t===null){if(!c)throw Error(i(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(i(557));t[Xt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),t=!1}else o=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=o),t=!0;if(!t)return a.flags&256?(Ln(a),a):(Ln(a),null);if((a.flags&128)!==0)throw Error(i(558))}return pt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=eo(a),c!==null&&c.dehydrated!==null){if(t===null){if(!h)throw Error(i(318));if(h=a.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));h[Xt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),h=!1}else h=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return a.flags&256?(Ln(a),a):(Ln(a),null)}return Ln(a),(a.flags&128)!==0?(a.lanes=o,a):(o=c!==null,t=t!==null&&t.memoizedState!==null,o&&(c=a.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==h&&(c.flags|=2048)),o!==t&&o&&(a.child.flags|=8192),uc(a,a.updateQueue),pt(a),null);case 4:return ye(),t===null&&oh(a.stateNode.containerInfo),pt(a),null;case 10:return Vr(a.type),pt(a),null;case 19:if(M(Ot),c=a.memoizedState,c===null)return pt(a),null;if(h=(a.flags&128)!==0,g=c.rendering,g===null)if(h)xs(c,!1);else{if(Rt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=Xl(t),g!==null){for(a.flags|=128,xs(c,!1),t=g.updateQueue,a.updateQueue=t,uc(a,t),a.subtreeFlags=0,t=o,o=a.child;o!==null;)sv(o,t),o=o.sibling;return B(Ot,Ot.current&1|2),Ye&&Pr(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&wt()>pc&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304)}else{if(!h)if(t=Xl(g),t!==null){if(a.flags|=128,h=!0,t=t.updateQueue,a.updateQueue=t,uc(a,t),xs(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!Ye)return pt(a),null}else 2*wt()-c.renderingStartTime>pc&&o!==536870912&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=wt(),t.sibling=null,o=Ot.current,B(Ot,h?o&1|2:o&1),Ye&&Pr(a,c.treeForkCount),t):(pt(a),null);case 22:case 23:return Ln(a),sf(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(o&536870912)!==0&&(a.flags&128)===0&&(pt(a),a.subtreeFlags&6&&(a.flags|=8192)):pt(a),o=a.updateQueue,o!==null&&uc(a,o.retryQueue),o=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==o&&(a.flags|=2048),t!==null&&M(ci),null;case 24:return o=null,t!==null&&(o=t.memoizedState.cache),a.memoizedState.cache!==o&&(a.flags|=2048),Vr(kt),pt(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function bR(t,a){switch(qd(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return Vr(kt),ye(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ie(a),null;case 31:if(a.memoizedState!==null){if(Ln(a),a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(Ln(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return M(Ot),null;case 4:return ye(),null;case 10:return Vr(a.type),null;case 22:case 23:return Ln(a),sf(),t!==null&&M(ci),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return Vr(kt),null;case 25:return null;default:return null}}function zy(t,a){switch(qd(a),a.tag){case 3:Vr(kt),ye();break;case 26:case 27:case 5:Ie(a);break;case 4:ye();break;case 31:a.memoizedState!==null&&Ln(a);break;case 13:Ln(a);break;case 19:M(Ot);break;case 10:Vr(a.type);break;case 22:case 23:Ln(a),sf(),t!==null&&M(ci);break;case 24:Vr(kt)}}function ws(t,a){try{var o=a.updateQueue,c=o!==null?o.lastEffect:null;if(c!==null){var h=c.next;o=h;do{if((o.tag&t)===t){c=void 0;var g=o.create,C=o.inst;c=g(),C.destroy=c}o=o.next}while(o!==h)}}catch(j){at(a,a.return,j)}}function ya(t,a,o){try{var c=a.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var g=h.next;c=g;do{if((c.tag&t)===t){var C=c.inst,j=C.destroy;if(j!==void 0){C.destroy=void 0,h=a;var L=o,G=j;try{G()}catch(ae){at(h,L,ae)}}}c=c.next}while(c!==g)}}catch(ae){at(a,a.return,ae)}}function ky(t){var a=t.updateQueue;if(a!==null){var o=t.stateNode;try{Ev(a,o)}catch(c){at(t,t.return,c)}}}function Ly(t,a,o){o.props=mi(t.type,t.memoizedProps),o.state=t.memoizedState;try{o.componentWillUnmount()}catch(c){at(t,a,c)}}function Ss(t,a){try{var o=t.ref;if(o!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof o=="function"?t.refCleanup=o(c):o.current=c}}catch(h){at(t,a,h)}}function Sr(t,a){var o=t.ref,c=t.refCleanup;if(o!==null)if(typeof c=="function")try{c()}catch(h){at(t,a,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(h){at(t,a,h)}else o.current=null}function $y(t){var a=t.type,o=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":o.autoFocus&&c.focus();break e;case"img":o.src?c.src=o.src:o.srcSet&&(c.srcset=o.srcSet)}}catch(h){at(t,t.return,h)}}function Pf(t,a,o){try{var c=t.stateNode;VR(c,t.type,o,a),c[_n]=a}catch(h){at(t,t.return,h)}}function Iy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ea(t.type)||t.tag===4}function Ff(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Iy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ea(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Vf(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(t,a):(a=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,a.appendChild(t),o=o._reactRootContainer,o!=null||a.onclick!==null||(a.onclick=Lr));else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode,a=null),t=t.child,t!==null))for(Vf(t,a,o),t=t.sibling;t!==null;)Vf(t,a,o),t=t.sibling}function dc(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?o.insertBefore(t,a):o.appendChild(t);else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode),t=t.child,t!==null))for(dc(t,a,o),t=t.sibling;t!==null;)dc(t,a,o),t=t.sibling}function Py(t){var a=t.stateNode,o=t.memoizedProps;try{for(var c=t.type,h=a.attributes;h.length;)a.removeAttributeNode(h[0]);tn(a,c,o),a[Xt]=t,a[_n]=o}catch(g){at(t,t.return,g)}}var Gr=!1,It=!1,Uf=!1,Fy=typeof WeakSet=="function"?WeakSet:Set,qt=null;function xR(t,a){if(t=t.containerInfo,ch=Nc,t=Jg(t),zd(t)){if("selectionStart"in t)var o={start:t.selectionStart,end:t.selectionEnd};else e:{o=(o=t.ownerDocument)&&o.defaultView||window;var c=o.getSelection&&o.getSelection();if(c&&c.rangeCount!==0){o=c.anchorNode;var h=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{o.nodeType,g.nodeType}catch{o=null;break e}var C=0,j=-1,L=-1,G=0,ae=0,se=t,Y=null;t:for(;;){for(var W;se!==o||h!==0&&se.nodeType!==3||(j=C+h),se!==g||c!==0&&se.nodeType!==3||(L=C+c),se.nodeType===3&&(C+=se.nodeValue.length),(W=se.firstChild)!==null;)Y=se,se=W;for(;;){if(se===t)break t;if(Y===o&&++G===h&&(j=C),Y===g&&++ae===c&&(L=C),(W=se.nextSibling)!==null)break;se=Y,Y=se.parentNode}se=W}o=j===-1||L===-1?null:{start:j,end:L}}else o=null}o=o||{start:0,end:0}}else o=null;for(uh={focusedElem:t,selectionRange:o},Nc=!1,qt=a;qt!==null;)if(a=qt,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,qt=t;else for(;qt!==null;){switch(a=qt,g=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(o=0;o title"))),tn(g,c,o),g[Xt]=t,Bt(g),c=g;break e;case"link":var C=G0("link","href",h).get(c+(o.href||""));if(C){for(var j=0;jst&&(C=st,st=De,De=C);var H=Qg(j,De),P=Qg(j,st);if(H&&P&&(W.rangeCount!==1||W.anchorNode!==H.node||W.anchorOffset!==H.offset||W.focusNode!==P.node||W.focusOffset!==P.offset)){var q=se.createRange();q.setStart(H.node,H.offset),W.removeAllRanges(),De>st?(W.addRange(q),W.extend(P.node,P.offset)):(q.setEnd(P.node,P.offset),W.addRange(q))}}}}for(se=[],W=j;W=W.parentNode;)W.nodeType===1&&se.push({element:W,left:W.scrollLeft,top:W.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jo?32:o,N.T=null,o=Yf,Yf=null;var g=Sa,C=Xr;if(Vt=0,po=Sa=null,Xr=0,(tt&6)!==0)throw Error(i(331));var j=tt;if(tt|=4,Xy(g.current),Ky(g,g.current,C,o),tt=j,Ts(0,!1),J&&typeof J.onPostCommitFiberRoot=="function")try{J.onPostCommitFiberRoot(I,g)}catch{}return!0}finally{Z.p=h,N.T=c,p0(t,a)}}function v0(t,a,o){a=Zn(o,a),a=Tf(t.stateNode,a,2),t=pa(t,a,2),t!==null&&(_t(t,2),_r(t))}function at(t,a,o){if(t.tag===3)v0(t,t,o);else for(;a!==null;){if(a.tag===3){v0(a,t,o);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(wa===null||!wa.has(c))){t=Zn(o,t),o=yy(2),c=pa(a,o,2),c!==null&&(by(o,c,a,t),_t(c,2),_r(c));break}}a=a.return}}function Wf(t,a,o){var c=t.pingCache;if(c===null){c=t.pingCache=new _R;var h=new Set;c.set(a,h)}else h=c.get(a),h===void 0&&(h=new Set,c.set(a,h));h.has(o)||(qf=!0,h.add(o),t=TR.bind(null,t,a,o),a.then(t,t))}function TR(t,a,o){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&o,t.warmLanes&=~o,ut===t&&(Ge&o)===o&&(Rt===4||Rt===3&&(Ge&62914560)===Ge&&300>wt()-mc?(tt&2)===0&&go(t,0):Gf|=o,mo===Ge&&(mo=0)),_r(t)}function y0(t,a){a===0&&(a=Ht()),t=ai(t,a),t!==null&&(_t(t,a),_r(t))}function OR(t){var a=t.memoizedState,o=0;a!==null&&(o=a.retryLane),y0(t,o)}function AR(t,a){var o=0;switch(t.tag){case 31:case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(o=h.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(i(314))}c!==null&&c.delete(a),y0(t,o)}function MR(t,a){return or(t,a)}var wc=null,yo=null,eh=!1,Sc=!1,th=!1,Ca=0;function _r(t){t!==yo&&t.next===null&&(yo===null?wc=yo=t:yo=yo.next=t),Sc=!0,eh||(eh=!0,DR())}function Ts(t,a){if(!th&&Sc){th=!0;do for(var o=!1,c=wc;c!==null;){if(t!==0){var h=c.pendingLanes;if(h===0)var g=0;else{var C=c.suspendedLanes,j=c.pingedLanes;g=(1<<31-me(42|t)+1)-1,g&=h&~(C&~j),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(o=!0,S0(c,g))}else g=Ge,g=Me(c,c===ut?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||ht(c,g)||(o=!0,S0(c,g));c=c.next}while(o);th=!1}}function NR(){b0()}function b0(){Sc=eh=!1;var t=0;Ca!==0&&HR()&&(t=Ca);for(var a=wt(),o=null,c=wc;c!==null;){var h=c.next,g=x0(c,a);g===0?(c.next=null,o===null?wc=h:o.next=h,h===null&&(yo=o)):(o=c,(t!==0||(g&3)!==0)&&(Sc=!0)),c=h}Vt!==0&&Vt!==5||Ts(t),Ca!==0&&(Ca=0)}function x0(t,a){for(var o=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,g=t.pendingLanes&-62914561;0j)break;var ae=L.transferSize,se=L.initiatorType;ae&&A0(se)&&(L=L.responseEnd,C+=ae*(L"u"?null:document;function U0(t,a,o){var c=bo;if(c&&typeof a=="string"&&a){var h=qn(a);h='link[rel="'+t+'"][href="'+h+'"]',typeof o=="string"&&(h+='[crossorigin="'+o+'"]'),V0.has(h)||(V0.add(h),t={rel:t,crossOrigin:o,href:a},c.querySelector(h)===null&&(a=c.createElement("link"),tn(a,"link",t),Bt(a),c.head.appendChild(a)))}}function JR(t){Jr.D(t),U0("dns-prefetch",t,null)}function WR(t,a){Jr.C(t,a),U0("preconnect",t,a)}function e2(t,a,o){Jr.L(t,a,o);var c=bo;if(c&&t&&a){var h='link[rel="preload"][as="'+qn(a)+'"]';a==="image"&&o&&o.imageSrcSet?(h+='[imagesrcset="'+qn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(h+='[imagesizes="'+qn(o.imageSizes)+'"]')):h+='[href="'+qn(t)+'"]';var g=h;switch(a){case"style":g=xo(t);break;case"script":g=wo(t)}Wn.has(g)||(t=v({rel:"preload",href:a==="image"&&o&&o.imageSrcSet?void 0:t,as:a},o),Wn.set(g,t),c.querySelector(h)!==null||a==="style"&&c.querySelector(Ns(g))||a==="script"&&c.querySelector(Ds(g))||(a=c.createElement("link"),tn(a,"link",t),Bt(a),c.head.appendChild(a)))}}function t2(t,a){Jr.m(t,a);var o=bo;if(o&&t){var c=a&&typeof a.as=="string"?a.as:"script",h='link[rel="modulepreload"][as="'+qn(c)+'"][href="'+qn(t)+'"]',g=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=wo(t)}if(!Wn.has(g)&&(t=v({rel:"modulepreload",href:t},a),Wn.set(g,t),o.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(Ds(g)))return}c=o.createElement("link"),tn(c,"link",t),Bt(c),o.head.appendChild(c)}}}function n2(t,a,o){Jr.S(t,a,o);var c=bo;if(c&&t){var h=Vi(c).hoistableStyles,g=xo(t);a=a||"default";var C=h.get(g);if(!C){var j={loading:0,preload:null};if(C=c.querySelector(Ns(g)))j.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":a},o),(o=Wn.get(g))&&vh(t,o);var L=C=c.createElement("link");Bt(L),tn(L,"link",t),L._p=new Promise(function(G,ae){L.onload=G,L.onerror=ae}),L.addEventListener("load",function(){j.loading|=1}),L.addEventListener("error",function(){j.loading|=2}),j.loading|=4,jc(C,a,c)}C={type:"stylesheet",instance:C,count:1,state:j},h.set(g,C)}}}function r2(t,a){Jr.X(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0},a),(a=Wn.get(h))&&yh(t,a),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function a2(t,a){Jr.M(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0,type:"module"},a),(a=Wn.get(h))&&yh(t,a),g=o.createElement("script"),Bt(g),tn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function H0(t,a,o,c){var h=(h=le.current)?Rc(h):null;if(!h)throw Error(i(446));switch(t){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(a=xo(o.href),o=Vi(h).hoistableStyles,c=o.get(a),c||(c={type:"style",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){t=xo(o.href);var g=Vi(h).hoistableStyles,C=g.get(t);if(C||(h=h.ownerDocument||h,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,C),(g=h.querySelector(Ns(t)))&&!g._p&&(C.instance=g,C.state.loading=5),Wn.has(t)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},Wn.set(t,o),g||i2(h,t,o,C.state))),a&&c===null)throw Error(i(528,""));return C}if(a&&c!==null)throw Error(i(529,""));return null;case"script":return a=o.async,o=o.src,typeof o=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=wo(o),o=Vi(h).hoistableScripts,c=o.get(a),c||(c={type:"script",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,t))}}function xo(t){return'href="'+qn(t)+'"'}function Ns(t){return'link[rel="stylesheet"]['+t+"]"}function B0(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function i2(t,a,o,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),tn(a,"link",o),Bt(a),t.head.appendChild(a))}function wo(t){return'[src="'+qn(t)+'"]'}function Ds(t){return"script[async]"+t}function q0(t,a,o){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+qn(o.href)+'"]');if(c)return a.instance=c,Bt(c),c;var h=v({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Bt(c),tn(c,"style",h),jc(c,o.precedence,t),a.instance=c;case"stylesheet":h=xo(o.href);var g=t.querySelector(Ns(h));if(g)return a.state.loading|=4,a.instance=g,Bt(g),g;c=B0(o),(h=Wn.get(h))&&vh(c,h),g=(t.ownerDocument||t).createElement("link"),Bt(g);var C=g;return C._p=new Promise(function(j,L){C.onload=j,C.onerror=L}),tn(g,"link",c),a.state.loading|=4,jc(g,o.precedence,t),a.instance=g;case"script":return g=wo(o.src),(h=t.querySelector(Ds(g)))?(a.instance=h,Bt(h),h):(c=o,(h=Wn.get(g))&&(c=v({},o),yh(c,h)),t=t.ownerDocument||t,h=t.createElement("script"),Bt(h),tn(h,"link",c),t.head.appendChild(h),a.instance=h);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,jc(c,o.precedence,t));return a.instance}function jc(t,a,o){for(var c=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,g=h,C=0;C title"):null)}function o2(t,a,o){if(o===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function K0(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function s2(t,a,o,c){if(o.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var h=xo(c.href),g=a.querySelector(Ns(h));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Oc.bind(t),a.then(t,t)),o.state.loading|=4,o.instance=g,Bt(g);return}g=a.ownerDocument||a,c=B0(c),(h=Wn.get(h))&&vh(c,h),g=g.createElement("link"),Bt(g);var C=g;C._p=new Promise(function(j,L){C.onload=j,C.onerror=L}),tn(g,"link",c),o.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(o,a),(a=o.state.preload)&&(o.state.loading&3)===0&&(t.count++,o=Oc.bind(t),a.addEventListener("load",o),a.addEventListener("error",o))}}var bh=0;function l2(t,a){return t.stylesheets&&t.count===0&&Mc(t,t.stylesheets),0bh?50:800)+a);return t.unsuspend=o,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function Oc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Mc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Ac=null;function Mc(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Ac=new Map,a.forEach(c2,t),Ac=null,Oc.call(t))}function c2(t,a){if(!(a.state.loading&4)){var o=Ac.get(t);if(o)var c=o.get(null);else{o=new Map,Ac.set(t,o);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Th.exports=E2(),Th.exports}var j2=R2(),ml=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},T2=class extends ml{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},rp=new T2,O2={setTimeout:(e,n)=>setTimeout(e,n),clearTimeout:e=>clearTimeout(e),setInterval:(e,n)=>setInterval(e,n),clearInterval:e=>clearInterval(e)},A2=class{#e=O2;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,n){return this.#e.setTimeout(e,n)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,n){return this.#e.setInterval(e,n)}clearInterval(e){this.#e.clearInterval(e)}},xi=new A2;function M2(e){setTimeout(e,0)}var N2=typeof window>"u"||"Deno"in globalThis;function Mn(){}function D2(e,n){return typeof e=="function"?e(n):e}function um(e){return typeof e=="number"&&e>=0&&e!==1/0}function ww(e,n){return Math.max(e+(n||0)-Date.now(),0)}function La(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return typeof e=="function"?e(n):e}function yb(e,n){const{type:r="all",exact:i,fetchStatus:s,predicate:l,queryKey:u,stale:d}=e;if(u){if(i){if(n.queryHash!==ap(u,n.options))return!1}else if(!tl(n.queryKey,u))return!1}if(r!=="all"){const p=n.isActive();if(r==="active"&&!p||r==="inactive"&&p)return!1}return!(typeof d=="boolean"&&n.isStale()!==d||s&&s!==n.state.fetchStatus||l&&!l(n))}function bb(e,n){const{exact:r,status:i,predicate:s,mutationKey:l}=e;if(l){if(!n.options.mutationKey)return!1;if(r){if(el(n.options.mutationKey)!==el(l))return!1}else if(!tl(n.options.mutationKey,l))return!1}return!(i&&n.state.status!==i||s&&!s(n))}function ap(e,n){return(n?.queryKeyHashFn||el)(e)}function el(e){return JSON.stringify(e,(n,r)=>fm(r)?Object.keys(r).sort().reduce((i,s)=>(i[s]=r[s],i),{}):r)}function tl(e,n){return e===n?!0:typeof e!=typeof n?!1:e&&n&&typeof e=="object"&&typeof n=="object"?Object.keys(n).every(r=>tl(e[r],n[r])):!1}var z2=Object.prototype.hasOwnProperty;function Sw(e,n,r=0){if(e===n)return e;if(r>500)return n;const i=xb(e)&&xb(n);if(!i&&!(fm(e)&&fm(n)))return n;const l=(i?e:Object.keys(e)).length,u=i?n:Object.keys(n),d=u.length,p=i?new Array(d):{};let m=0;for(let y=0;y{xi.setTimeout(n,e)})}function hm(e,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,n):r.structuralSharing!==!1?Sw(e,n):n}function L2(e,n,r=0){const i=[...e,n];return r&&i.length>r?i.slice(1):i}function $2(e,n,r=0){const i=[n,...e];return r&&i.length>r?i.slice(0,-1):i}var ip=Symbol();function _w(e,n){return!e.queryFn&&n?.initialPromise?()=>n.initialPromise:!e.queryFn||e.queryFn===ip?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Cw(e,n){return typeof e=="function"?e(...n):!!e}function I2(e,n,r){let i=!1,s;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(s??=n(),i||(i=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),e}var nl=(()=>{let e=()=>N2;return{isServer(){return e()},setIsServer(n){e=n}}})();function mm(){let e,n;const r=new Promise((s,l)=>{e=s,n=l});r.status="pending",r.catch(()=>{});function i(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{i({status:"fulfilled",value:s}),e(s)},r.reject=s=>{i({status:"rejected",reason:s}),n(s)},r}var P2=M2;function F2(){let e=[],n=0,r=d=>{d()},i=d=>{d()},s=P2;const l=d=>{n?e.push(d):s(()=>{r(d)})},u=()=>{const d=e;e=[],d.length&&s(()=>{i(()=>{d.forEach(p=>{r(p)})})})};return{batch:d=>{let p;n++;try{p=d()}finally{n--,n||u()}return p},batchCalls:d=>(...p)=>{l(()=>{d(...p)})},schedule:l,setNotifyFunction:d=>{r=d},setBatchNotifyFunction:d=>{i=d},setScheduler:d=>{s=d}}}var on=F2(),V2=class extends ml{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},du=new V2;function U2(e){return Math.min(1e3*2**e,3e4)}function Ew(e){return(e??"online")==="online"?du.isOnline():!0}var pm=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Rw(e){let n=!1,r=0,i;const s=mm(),l=()=>s.status!=="pending",u=_=>{if(!l()){const E=new pm(_);b(E),e.onCancel?.(E)}},d=()=>{n=!0},p=()=>{n=!1},m=()=>rp.isFocused()&&(e.networkMode==="always"||du.isOnline())&&e.canRun(),y=()=>Ew(e.networkMode)&&e.canRun(),v=_=>{l()||(i?.(),s.resolve(_))},b=_=>{l()||(i?.(),s.reject(_))},x=()=>new Promise(_=>{i=E=>{(l()||m())&&_(E)},e.onPause?.()}).then(()=>{i=void 0,l()||e.onContinue?.()}),w=()=>{if(l())return;let _;const E=r===0?e.initialPromise:void 0;try{_=E??e.fn()}catch(R){_=Promise.reject(R)}Promise.resolve(_).then(v).catch(R=>{if(l())return;const T=e.retry??(nl.isServer()?0:3),O=e.retryDelay??U2,D=typeof O=="function"?O(r,R):O,$=T===!0||typeof T=="number"&&rm()?void 0:x()).then(()=>{n?b(R):w()})})};return{promise:s,status:()=>s.status,cancel:u,continue:()=>(i?.(),s),cancelRetry:d,continueRetry:p,canStart:y,start:()=>(y()?w():x().then(w),s)}}var jw=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),um(this.gcTime)&&(this.#e=xi.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(nl.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(xi.clearTimeout(this.#e),this.#e=void 0)}};function H2(e){return{onFetch:(n,r)=>{const i=n.options,s=n.fetchOptions?.meta?.fetchMore?.direction,l=n.state.data?.pages||[],u=n.state.data?.pageParams||[];let d={pages:[],pageParams:[]},p=0;const m=async()=>{let y=!1;const v=w=>{I2(w,()=>n.signal,()=>y=!0)},b=_w(n.options,n.fetchOptions),x=async(w,_,E)=>{if(y)return Promise.reject(n.signal.reason);if(_==null&&w.pages.length)return Promise.resolve(w);const T=(()=>{const F={client:n.client,queryKey:n.queryKey,pageParam:_,direction:E?"backward":"forward",meta:n.options.meta};return v(F),F})(),O=await b(T),{maxPages:D}=n.options,$=E?$2:L2;return{pages:$(w.pages,O,D),pageParams:$(w.pageParams,_,D)}};if(s&&l.length){const w=s==="backward",_=w?Tw:gm,E={pages:l,pageParams:u},R=_(i,E);d=await x(E,R,w)}else{const w=e??l.length;do{const _=p===0?u[0]??i.initialPageParam:gm(i,d);if(p>0&&_==null)break;d=await x(d,_),p++}while(pn.options.persister?.(m,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r):n.fetchFn=m}}}function gm(e,{pages:n,pageParams:r}){const i=n.length-1;return n.length>0?e.getNextPageParam(n[i],n,r[i],r):void 0}function Tw(e,{pages:n,pageParams:r}){return n.length>0?e.getPreviousPageParam?.(n[0],n,r[0],r):void 0}function B2(e,n){return n?gm(e,n)!=null:!1}function q2(e,n){return!n||!e.getPreviousPageParam?!1:Tw(e,n)!=null}var G2=class extends jw{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e){super(),this.#o=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=_b(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#s,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=_b(this.options);n.data!==void 0&&(this.setState(Sb(n.data,n.dataUpdatedAt)),this.#t=n)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,n){const r=hm(this.state.data,e,this.options);return this.#l({data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e){this.#l({type:"setState",state:e})}cancel(e){const n=this.#a?.promise;return this.#a?.cancel(e),n?n.then(Mn).catch(Mn):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Fn(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ip||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>La(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!ww(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(this.#a&&(this.#o||this.#u()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#l({type:"invalidate"})}async fetch(e,n){if(this.state.fetchStatus!=="idle"&&this.#a?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){const p=this.observers.find(m=>m.options.queryFn);p&&this.setOptions(p.options)}const r=new AbortController,i=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},s=()=>{const p=_w(this.options,n),y=(()=>{const v={client:this.#i,queryKey:this.queryKey,meta:this.meta};return i(v),v})();return this.#o=!1,this.options.persister?this.options.persister(p,y,this):p(y)},u=(()=>{const p={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:s};return i(p),p})();(this.#e==="infinite"?H2(this.options.pages):this.options.behavior)?.onFetch(u,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#l({type:"fetch",meta:u.fetchOptions?.meta}),this.#a=Rw({initialPromise:n?.initialPromise,fn:u.fetchFn,onCancel:p=>{p instanceof pm&&p.revert&&this.setState({...this.#n,fetchStatus:"idle"}),r.abort()},onFail:(p,m)=>{this.#l({type:"failed",failureCount:p,error:m})},onPause:()=>{this.#l({type:"pause"})},onContinue:()=>{this.#l({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{const p=await this.#a.start();if(p===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(p),this.#r.config.onSuccess?.(p,this),this.#r.config.onSettled?.(p,this.state.error,this),p}catch(p){if(p instanceof pm){if(p.silent)return this.#a.promise;if(p.revert){if(this.state.data===void 0)throw p;return this.state.data}}throw this.#l({type:"error",error:p}),this.#r.config.onError?.(p,this),this.#r.config.onSettled?.(this.state.data,p,this),p}finally{this.scheduleGc()}}#l(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Ow(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...Sb(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?i:void 0,i;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),on.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Ow(e,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ew(n.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Sb(e,n){return{data:e,dataUpdatedAt:n??Date.now(),error:null,isInvalidated:!1,status:"success"}}function _b(e){const n=typeof e.initialData=="function"?e.initialData():e.initialData,r=n!==void 0,i=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Aw=class extends ml{constructor(e,n){super(),this.options=n,this.#e=e,this.#o=null,this.#s=mm(),this.bindMethods(),this.setOptions(n)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#s;#o;#u;#l;#m;#d;#f;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Cb(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return vm(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return vm(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#w(),this.#t.removeObserver(this)}setOptions(e){const n=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Fn(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#t.setOptions(this.options),n._defaulted&&!dm(this.options,n)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&Eb(this.#t,r,this.options,n)&&this.#h(),this.updateResult(),i&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||La(this.options.staleTime,this.#t)!==La(n.staleTime,this.#t))&&this.#g();const s=this.#v();i&&(this.#t!==r||Fn(this.options.enabled,this.#t)!==Fn(n.enabled,this.#t)||s!==this.#c)&&this.#y(s)}getOptimisticResult(e){const n=this.#e.getQueryCache().build(this.#e,e),r=this.createResult(n,e);return K2(this,r)&&(this.#r=r,this.#a=this.options,this.#i=this.#t.state),r}getCurrentResult(){return this.#r}trackResult(e,n){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),n?.(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let n=this.#t.fetch(this.options,e);return e?.throwOnError||(n=n.catch(Mn)),n}#g(){this.#x();const e=La(this.options.staleTime,this.#t);if(nl.isServer()||this.#r.isStale||!um(e))return;const r=ww(this.#r.dataUpdatedAt,e)+1;this.#d=xi.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(e){this.#w(),this.#c=e,!(nl.isServer()||Fn(this.options.enabled,this.#t)===!1||!um(this.#c)||this.#c===0)&&(this.#f=xi.setInterval(()=>{(this.options.refetchIntervalInBackground||rp.isFocused())&&this.#h()},this.#c))}#b(){this.#g(),this.#y(this.#v())}#x(){this.#d!==void 0&&(xi.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#f!==void 0&&(xi.clearInterval(this.#f),this.#f=void 0)}createResult(e,n){const r=this.#t,i=this.options,s=this.#r,l=this.#i,u=this.#a,p=e!==r?e.state:this.#n,{state:m}=e;let y={...m},v=!1,b;if(n._optimisticResults){const V=this.hasListeners(),pe=!V&&Cb(e,n),ge=V&&Eb(e,r,n,i);(pe||ge)&&(y={...y,...Ow(m.data,e.options)}),n._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:x,errorUpdatedAt:w,status:_}=y;b=y.data;let E=!1;if(n.placeholderData!==void 0&&b===void 0&&_==="pending"){let V;s?.isPlaceholderData&&n.placeholderData===u?.placeholderData?(V=s.data,E=!0):V=typeof n.placeholderData=="function"?n.placeholderData(this.#m?.state.data,this.#m):n.placeholderData,V!==void 0&&(_="success",b=hm(s?.data,V,n),v=!0)}if(n.select&&b!==void 0&&!E)if(s&&b===l?.data&&n.select===this.#u)b=this.#l;else try{this.#u=n.select,b=n.select(b),b=hm(s?.data,b,n),this.#l=b,this.#o=null}catch(V){this.#o=V}this.#o&&(x=this.#o,b=this.#l,w=Date.now(),_="error");const R=y.fetchStatus==="fetching",T=_==="pending",O=_==="error",D=T&&R,$=b!==void 0,U={status:_,fetchStatus:y.fetchStatus,isPending:T,isSuccess:_==="success",isError:O,isInitialLoading:D,isLoading:D,data:b,dataUpdatedAt:y.dataUpdatedAt,error:x,errorUpdatedAt:w,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:R,isRefetching:R&&!T,isLoadingError:O&&!$,isPaused:y.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:O&&$,isStale:op(e,n),refetch:this.refetch,promise:this.#s,isEnabled:Fn(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const V=U.data!==void 0,pe=U.status==="error"&&!V,ge=re=>{pe?re.reject(U.error):V&&re.resolve(U.data)},de=()=>{const re=this.#s=U.promise=mm();ge(re)},Q=this.#s;switch(Q.status){case"pending":e.queryHash===r.queryHash&&ge(Q);break;case"fulfilled":(pe||U.data!==Q.value)&&de();break;case"rejected":(!pe||U.error!==Q.reason)&&de();break}}return U}updateResult(){const e=this.#r,n=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#m=this.#t),dm(n,e))return;this.#r=n;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!this.#p.size)return!0;const l=new Set(s??this.#p);return this.options.throwOnError&&l.add("error"),Object.keys(this.#r).some(u=>{const d=u;return this.#r[d]!==e[d]&&l.has(d)})};this.#_({listeners:r()})}#S(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const n=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(n?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#_(e){on.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function Z2(e,n){return Fn(n.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Fn(n.retryOnMount,e)===!1)}function Cb(e,n){return Z2(e,n)||e.state.data!==void 0&&vm(e,n,n.refetchOnMount)}function vm(e,n,r){if(Fn(n.enabled,e)!==!1&&La(n.staleTime,e)!=="static"){const i=typeof r=="function"?r(e):r;return i==="always"||i!==!1&&op(e,n)}return!1}function Eb(e,n,r,i){return(e!==n||Fn(i.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&op(e,r)}function op(e,n){return Fn(n.enabled,e)!==!1&&e.isStaleByTime(La(n.staleTime,e))}function K2(e,n){return!dm(e.getCurrentResult(),n)}var Y2=class extends Aw{constructor(e,n){super(e,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,n){const{state:r}=e,i=super.createResult(e,n),{isFetching:s,isRefetching:l,isError:u,isRefetchError:d}=i,p=r.fetchMeta?.fetchMore?.direction,m=u&&p==="forward",y=s&&p==="forward",v=u&&p==="backward",b=s&&p==="backward";return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:B2(n,r.data),hasPreviousPage:q2(n,r.data),isFetchNextPageError:m,isFetchingNextPage:y,isFetchPreviousPageError:v,isFetchingPreviousPage:b,isRefetchError:d&&!m&&!v,isRefetching:l&&!y&&!b}}},Q2=class extends jw{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||X2(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(n=>n!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){const n=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Rw({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(l,u)=>{this.#i({type:"failed",failureCount:l,error:u})},onPause:()=>{this.#i({type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const i=this.state.status==="pending",s=!this.#r.canStart();try{if(i)n();else{this.#i({type:"pending",variables:e,isPaused:s}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);const u=await this.options.onMutate?.(e,r);u!==this.state.context&&this.#i({type:"pending",context:u,variables:e,isPaused:s})}const l=await this.#r.start();return await this.#n.config.onSuccess?.(l,e,this.state.context,this,r),await this.options.onSuccess?.(l,e,this.state.context,r),await this.#n.config.onSettled?.(l,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(l,null,e,this.state.context,r),this.#i({type:"success",data:l}),l}catch(l){try{await this.#n.config.onError?.(l,e,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onError?.(l,e,this.state.context,r)}catch(u){Promise.reject(u)}try{await this.#n.config.onSettled?.(void 0,l,this.state.variables,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onSettled?.(void 0,l,e,this.state.context,r)}catch(u){Promise.reject(u)}throw this.#i({type:"error",error:l}),l}finally{this.#n.runNext(this)}}#i(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),on.batch(()=>{this.#t.forEach(r=>{r.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}};function X2(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var J2=class extends ml{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,n,r){const i=new Q2({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){this.#e.add(e);const n=Pc(e);if(typeof n=="string"){const r=this.#t.get(n);r?r.push(e):this.#t.set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const n=Pc(e);if(typeof n=="string"){const r=this.#t.get(n);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&this.#t.delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=Pc(e);if(typeof n=="string"){const i=this.#t.get(n)?.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){const n=Pc(e);return typeof n=="string"?this.#t.get(n)?.find(i=>i!==e&&i.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){on.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const n={exact:!0,...e};return this.getAll().find(r=>bb(n,r))}findAll(e={}){return this.getAll().filter(n=>bb(e,n))}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return on.batch(()=>Promise.all(e.map(n=>n.continue().catch(Mn))))}};function Pc(e){return e.options.scope?.id}var W2=class extends ml{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,n,r){const i=n.queryKey,s=n.queryHash??ap(i,n);let l=this.get(s);return l||(l=new G2({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(l)),l}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=this.#e.get(e.queryHash);n&&(e.destroy(),n===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){on.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>yb(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>yb(e,r)):n}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){on.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){on.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ej=class{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e={}){this.#e=e.queryCache||new W2,this.#t=e.mutationCache||new J2,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#s=rp.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=du.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#s?.(),this.#s=void 0,this.#o?.(),this.#o=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=this.#e.build(this,n),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(La(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(e,n,r){const i=this.defaultQueryOptions({queryKey:e}),l=this.#e.get(i.queryHash)?.state.data,u=D2(n,l);if(u!==void 0)return this.#e.build(this,i).setData(u,{...r,manual:!0})}setQueriesData(e,n,r){return on.batch(()=>this.#e.findAll(e).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state}removeQueries(e){const n=this.#e;on.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=this.#e;return on.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},i=on.batch(()=>this.#e.findAll(e).map(s=>s.cancel(r)));return Promise.all(i).then(Mn).catch(Mn)}invalidateQueries(e,n={}){return on.batch(()=>(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},i=on.batch(()=>this.#e.findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let l=s.fetch(void 0,r);return r.throwOnError||(l=l.catch(Mn)),s.state.fetchStatus==="paused"?Promise.resolve():l}));return Promise.all(i).then(Mn)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=this.#e.build(this,n);return r.isStaleByTime(La(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Mn).catch(Mn)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Mn).catch(Mn)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return du.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,n){this.#r.set(el(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...this.#r.values()],r={};return n.forEach(i=>{tl(e,i.queryKey)&&Object.assign(r,i.defaultOptions)}),r}setMutationDefaults(e,n){this.#i.set(el(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...this.#i.values()],r={};return n.forEach(i=>{tl(e,i.mutationKey)&&Object.assign(r,i.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=ap(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===ip&&(n.enabled=!1),n}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Mw=S.createContext(void 0),Ai=e=>{const n=S.useContext(Mw);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},tj=({client:e,children:n})=>(S.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),f.jsx(Mw.Provider,{value:e,children:n})),Nw=S.createContext(!1),nj=()=>S.useContext(Nw);Nw.Provider;function rj(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var aj=S.createContext(rj()),ij=()=>S.useContext(aj),oj=(e,n,r)=>{const i=r?.state.error&&typeof e.throwOnError=="function"?Cw(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||i)&&(n.isReset()||(e.retryOnMount=!1))},sj=e=>{S.useEffect(()=>{e.clearReset()},[e])},lj=({result:e,errorResetBoundary:n,throwOnError:r,query:i,suspense:s})=>e.isError&&!n.isReset()&&!e.isFetching&&i&&(s&&e.data===void 0||Cw(r,[e.error,i])),cj=e=>{if(e.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),i=e.staleTime;e.staleTime=typeof i=="function"?(...s)=>r(i(...s)):r(i),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},uj=(e,n)=>e.isLoading&&e.isFetching&&!n,dj=(e,n)=>e?.suspense&&n.isPending,Rb=(e,n,r)=>n.fetchOptimistic(e).catch(()=>{r.clearReset()});function Dw(e,n,r){const i=nj(),s=ij(),l=Ai(),u=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(u);const d=l.getQueryCache().get(u.queryHash),p=e.subscribed!==!1;u._optimisticResults=i?"isRestoring":p?"optimistic":void 0,cj(u),oj(u,s,d),sj(s);const m=!l.getQueryCache().get(u.queryHash),[y]=S.useState(()=>new n(l,u)),v=y.getOptimisticResult(u),b=!i&&p;if(S.useSyncExternalStore(S.useCallback(x=>{const w=b?y.subscribe(on.batchCalls(x)):Mn;return y.updateResult(),w},[y,b]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),S.useEffect(()=>{y.setOptions(u)},[u,y]),dj(u,v))throw Rb(u,y,s);if(lj({result:v,errorResetBoundary:s,throwOnError:u.throwOnError,query:d,suspense:u.suspense}))throw v.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(u,v),u.experimental_prefetchInRender&&!nl.isServer()&&uj(v,i)&&(m?Rb(u,y,s):d?.promise)?.catch(Mn).finally(()=>{y.updateResult()}),u.notifyOnChangeProps?v:y.trackResult(v)}function Zt(e,n){return Dw(e,Aw)}function fj(e,n){return Dw(e,Y2)}let jb=!1;function hj(e){const n=e.analytics;if(!n?.key||jb)return;jb=!0;const r=document.createElement("script");r.src=n.host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",r.async=!0,r.onload=()=>{const i=window.posthog;i&&(i.init(n.key,{api_host:n.host,defaults:"2026-05-30",capture_pageview:"history_change",session_recording:{maskAllInputs:!0,maskTextSelector:"*"}}),e.me&&i.identify(e.me.email,{email:e.me.email,name:e.me.name,...e.billing?{plan:e.billing.plan}:{}}))},document.head.appendChild(r)}function zw(e,n){window.posthog?.capture(e,n)}const mj=[[/^POST \/api\/projects$/,"project_created"],[/^DELETE \/api\/projects\//,"project_deleted"],[/^POST \/api\/p\/[^/]+\/restore$/,"file_restored"],[/^DELETE \/api\/shares\//,"share_revoked"],[/^PATCH \/api\/shares\//,"share_expiry_changed"],[/^POST \/api\/orgs\/[^/]+\/invites$/,"invite_created"],[/^DELETE \/api\/orgs\/[^/]+\/invites\//,"invite_revoked"],[/^POST \/api\/invites\//,"invite_accepted"],[/^PUT \/api\/p\/[^/]+\/permissions\/./,"project_access_granted"],[/^DELETE \/api\/p\/[^/]+\/permissions\/./,"project_access_revoked"]];function kw(e,n){const r=e+" "+n.split("?")[0],i=mj.find(([s])=>s.test(r));i&&zw(i[1])}function sp(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}function pj(e,n){const r=n.trim();switch(e){case 403:return r.includes("seat")?"This plan is out of seats. Upgrade to add more people.":r.includes("owner")?"Only owners can do that.":"You don't have access to that.";case 409:return r?r[0].toUpperCase()+r.slice(1):"That is managed outside this hub.";case 404:return"That is gone — it may have been removed already.";case 413:return"This project is over its plan limit.";case 429:return"Too many requests. Give it a moment.";default:return e>=500?"The server had a problem. Try again.":r?r[0].toUpperCase()+r.slice(1):"Something went wrong."}}async function Au(e){throw new Error(pj(e.status,await e.text()))}async function ln(e){const n=await fetch(e,{headers:{Accept:"application/json"}});return n.status===401&&sp(),n.ok||await Au(n),n.json()}async function gj(e){const n=await fetch(e);return n.status===401&&sp(),n.ok||await Au(n),n}async function tr(e,n,r){const i={method:e};r!==void 0&&(i.headers={"Content-Type":"application/json"},i.body=JSON.stringify(r));const s=await fetch(n,i);return s.ok||await Au(s),kw(e,n),s.status===204?{}:s.json()}async function Si(e,n){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n||{})});return r.status===401&&sp(),r.ok||await Au(r),kw("POST",e),r.json()}function vj(){return Zt({queryKey:["config"],queryFn:async()=>{const e=await ln("/api/config");return e.auth.enabled&&!e.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),hj(e),e},staleTime:1/0})}var Mi=xw();const yj=bw(Mi);function Tb(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Fo(...e){return n=>{let r=!1;const i=e.map(s=>{const l=Tb(s,n);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let s=0;s{let{children:s,...l}=r,u=null,d=!1;const p=[];Ob(s)&&typeof Fc=="function"&&(s=Fc(s._payload)),S.Children.forEach(s,b=>{if(Cj(b)){d=!0;const x=b;let w="child"in x.props?x.props.child:x.props.children;Ob(w)&&typeof Fc=="function"&&(w=Fc(w._payload)),u=wj(x,w),p.push(u?.props?.children)}else p.push(b)}),u?u=S.cloneElement(u,void 0,p):!d&&S.Children.count(s)===1&&S.isValidElement(s)&&(u=s);const m=u?_j(u):void 0,y=nt(i,m);if(!u){if(s||s===0)throw new Error(d?Tj(e):jj(e));return s}const v=Sj(l,u.props??{});return u.type!==S.Fragment&&(v.ref=i?y:m),S.cloneElement(u,v)});return n.displayName=`${e}.Slot`,n}var bj=_i("Slot"),Lw=Symbol.for("radix.slottable");function xj(e){const n=r=>"child"in r?r.children(r.child):r.children;return n.displayName=`${e}.Slottable`,n.__radixId=Lw,n}var wj=(e,n)=>{if("child"in e.props){const r=e.props.child;return S.isValidElement(r)?S.cloneElement(r,void 0,e.props.children(r.props.children)):null}return S.isValidElement(n)?n:null};function Sj(e,n){const r={...n};for(const i in n){const s=e[i],l=n[i];/^on[A-Z]/.test(i)?s&&l?r[i]=(...d)=>{const p=l(...d);return s(...d),p}:s&&(r[i]=s):i==="style"?r[i]={...s,...l}:i==="className"&&(r[i]=[s,l].filter(Boolean).join(" "))}return{...e,...r}}function _j(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Cj(e){return S.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Lw}var Ej=Symbol.for("react.lazy");function Ob(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ej&&"_payload"in e&&Rj(e._payload)}function Rj(e){return typeof e=="object"&&e!==null&&"then"in e}var jj=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Tj=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Fc=Ou[" use ".trim().toString()],Oj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=Oj.reduce((e,n)=>{const r=_i(`Primitive.${n}`),i=S.forwardRef((s,l)=>{const{asChild:u,...d}=s,p=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(p,{...d,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function $w(e,n){e&&Mi.flushSync(()=>e.dispatchEvent(n))}var Iw=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"}),Aj="VisuallyHidden",Pw=S.forwardRef((e,n)=>f.jsx($e.span,{...e,ref:n,style:{...Iw,...e.style}}));Pw.displayName=Aj;var Mj=Pw;function Ga(e,n=[]){let r=[];function i(l,u){const d=S.createContext(u);d.displayName=l+"Context";const p=r.length;r=[...r,u];const m=v=>{const{scope:b,children:x,...w}=v,_=b?.[e]?.[p]||d,E=S.useMemo(()=>w,Object.values(w));return f.jsx(_.Provider,{value:E,children:x})};m.displayName=l+"Provider";function y(v,b,x={}){const{optional:w=!1}=x,_=b?.[e]?.[p]||d,E=S.useContext(_);if(E)return E;if(u!==void 0)return u;if(!w)throw new Error(`\`${v}\` must be used within \`${l}\``)}return[m,y]}const s=()=>{const l=r.map(u=>S.createContext(u));return function(d){const p=d?.[e]||l;return S.useMemo(()=>({[`__scope${e}`]:{...d,[e]:p}}),[d,p])}};return s.scopeName=e,[i,Nj(s,...n)]}function Nj(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const u=i.reduce((d,{useScope:p,scopeName:m})=>{const v=p(l)[`__scope${m}`];return{...d,...v}},{});return S.useMemo(()=>({[`__scope${n.scopeName}`]:u}),[u])}};return r.scopeName=n.scopeName,r}function lp(e){const n=e+"CollectionProvider",[r,i]=Ga(n),[s,l]=r(n,{collectionRef:{current:null},itemMap:new Map}),u=_=>{const{scope:E,children:R}=_,T=S.useRef(null),O=S.useRef(new Map).current;return f.jsx(s,{scope:E,itemMap:O,collectionRef:T,children:R})};u.displayName=n;const d=e+"CollectionSlot",p=_i(d),m=S.forwardRef((_,E)=>{const{scope:R,children:T}=_,O=l(d,R),D=nt(E,O.collectionRef);return f.jsx(p,{ref:D,children:T})});m.displayName=d;const y=e+"CollectionItemSlot",v="data-radix-collection-item",b=_i(y),x=S.forwardRef((_,E)=>{const{scope:R,children:T,...O}=_,D=S.useRef(null),$=nt(E,D),F=l(y,R);return S.useEffect(()=>(F.itemMap.set(D,{ref:D,...O}),()=>{F.itemMap.delete(D)})),f.jsx(b,{[v]:"",ref:$,children:T})});x.displayName=y;function w(_){const E=l(e+"CollectionConsumer",_);return S.useCallback(()=>{const T=E.collectionRef.current;if(!T)return[];const O=Array.from(T.querySelectorAll(`[${v}]`));return Array.from(E.itemMap.values()).sort((F,U)=>O.indexOf(F.ref.current)-O.indexOf(U.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:u,Slot:m,ItemSlot:x},w,i]}function Re(e,n,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e?.(s),r===!1||!s||!s.defaultPrevented)return n?.(s)}}var Gt=globalThis?.document?S.useLayoutEffect:()=>{},Dj=Ou[" useInsertionEffect ".trim().toString()]||Gt;function Vo({prop:e,defaultProp:n,onChange:r=()=>{},caller:i}){const[s,l,u]=zj({defaultProp:n,onChange:r}),d=e!==void 0,p=d?e:s;{const y=S.useRef(e!==void 0);S.useEffect(()=>{const v=y.current;v!==d&&console.warn(`${i} is changing from ${v?"controlled":"uncontrolled"} to ${d?"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.`),y.current=d},[d,i])}const m=S.useCallback(y=>{if(d){const v=kj(y)?y(e):y;v!==e&&u.current?.(v)}else l(y)},[d,e,l,u]);return[p,m]}function zj({defaultProp:e,onChange:n}){const[r,i]=S.useState(e),s=S.useRef(r),l=S.useRef(n);return Dj(()=>{l.current=n},[n]),S.useEffect(()=>{s.current!==r&&(l.current?.(r),s.current=r)},[r,s]),[r,i,l]}function kj(e){return typeof e=="function"}function Lj(e,n){return S.useReducer((r,i)=>n[r][i]??r,e)}var yr=e=>{const{present:n,children:r}=e,i=$j(n),s=typeof r=="function"?r({present:i.isPresent}):S.Children.only(r),l=Ij(i.ref,Pj(s));return typeof r=="function"||i.isPresent?S.cloneElement(s,{ref:l}):null};yr.displayName="Presence";function $j(e){const[n,r]=S.useState(),i=S.useRef(null),s=S.useRef(e),l=S.useRef("none"),u=S.useRef(void 0),d=e?"mounted":"unmounted",[p,m]=Lj(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{p==="mounted"?(l.current=u.current??Fs(i.current),u.current=void 0):l.current="none"},[p]),Gt(()=>{const y=i.current,v=s.current;if(v!==e){const x=l.current,w=Fs(y);e?(u.current=w,m("MOUNT")):w==="none"||y?.display==="none"?m("UNMOUNT"):m(v&&x!==w?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,m]),Gt(()=>{if(n){let y;const v=n.ownerDocument.defaultView??window,b=w=>{const E=Fs(i.current).includes(CSS.escape(w.animationName));if(w.target===n&&E&&(m("ANIMATION_END"),!s.current)){const R=n.style.animationFillMode;n.style.animationFillMode="forwards",y=v.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=R)})}},x=w=>{w.target===n&&(l.current=Fs(i.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{v.clearTimeout(y),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else m("ANIMATION_END")},[n,m]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:S.useCallback(y=>{if(y){const v=getComputedStyle(y);i.current=v,u.current=Fs(v)}else i.current=null;r(y)},[])}}function Ab(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Ij(...e){const n=S.useRef(e);return n.current=e,S.useCallback(r=>{const i=n.current;let s=!1;const l=i.map(u=>{const d=Ab(u,r);return!s&&typeof d=="function"&&(s=!0),d});if(s)return()=>{for(let u=0;u{}),Vj=0;function hn(e){const[n,r]=S.useState(Fj());return Gt(()=>{r(i=>i??String(Vj++))},[e]),n?`radix-${n}`:""}var Uj=S.createContext(void 0);function cp(e){const n=S.useContext(Uj);return e||n||"ltr"}function rr(e){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useMemo(()=>((...r)=>n.current?.(...r)),[])}var Hj="DismissableLayer",ym="dismissableLayer.update",Bj="dismissableLayer.pointerDownOutside",qj="dismissableLayer.focusOutside",Mb,up=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),pl=S.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,onDismiss:p,...m}=e,y=S.useContext(up),[v,b]=S.useState(null),x=v?.ownerDocument??globalThis?.document,[,w]=S.useState({}),_=nt(n,b),E=Array.from(y.layers),[R]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),T=R?E.indexOf(R):-1,O=v?E.indexOf(v):-1,D=y.layersWithOutsidePointerEventsDisabled.size>0,$=O>=T,F=S.useRef(!1),U=Qj(de=>{l?.(de),d?.(de),de.defaultPrevented||p?.()},{ownerDocument:x,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:F,dismissableSurfaces:y.dismissableSurfaces,shouldHandlePointerDownOutside:S.useCallback(de=>{if(!(de instanceof Node))return!1;const Q=[...y.branches].some(re=>re.contains(de));return $&&!Q},[y.branches,$])}),V=Xj(de=>{if(i&&F.current)return;const Q=de.target;[...y.branches].some(he=>he.contains(Q))||(u?.(de),d?.(de),de.defaultPrevented||p?.())},x),pe=v?O===E.length-1:!1,ge=rr(de=>{de.key==="Escape"&&(s?.(de),!de.defaultPrevented&&p&&(de.preventDefault(),p()))});return S.useEffect(()=>{if(pe)return x.addEventListener("keydown",ge,{capture:!0}),()=>x.removeEventListener("keydown",ge,{capture:!0})},[x,pe,ge]),S.useEffect(()=>{if(v)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Mb=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(v)),y.layers.add(v),Nb(),()=>{r&&(y.layersWithOutsidePointerEventsDisabled.delete(v),y.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=Mb))}},[v,x,r,y]),S.useEffect(()=>()=>{v&&(y.layers.delete(v),y.layersWithOutsidePointerEventsDisabled.delete(v),Nb())},[v,y]),S.useEffect(()=>{const de=()=>w({});return document.addEventListener(ym,de),()=>document.removeEventListener(ym,de)},[]),f.jsx($e.div,{...m,ref:_,style:{pointerEvents:D?$?"auto":"none":void 0,...e.style},onFocusCapture:Re(e.onFocusCapture,V.onFocusCapture),onBlurCapture:Re(e.onBlurCapture,V.onBlurCapture),onPointerDownCapture:Re(e.onPointerDownCapture,U.onPointerDownCapture)})});pl.displayName=Hj;var Gj="DismissableLayerBranch",Zj=S.forwardRef((e,n)=>{const r=S.useContext(up),i=S.useRef(null),s=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return r.branches.add(l),()=>{r.branches.delete(l)}},[r.branches]),f.jsx($e.div,{...e,ref:s})});Zj.displayName=Gj;function Kj(){const e=S.useContext(up),[n,r]=S.useState(null);return S.useEffect(()=>{if(n)return e.dismissableSurfaces.add(n),()=>{e.dismissableSurfaces.delete(n)}},[n,e.dismissableSurfaces]),r}var Yj=()=>!0;function Qj(e,n){const{ownerDocument:r=globalThis?.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l,shouldHandlePointerDownOutside:u=Yj}=n,d=rr(e),p=S.useRef(!1),m=S.useRef(!1),y=S.useRef(new Map),v=S.useRef(()=>{});return S.useEffect(()=>{function b(){m.current=!1,s.current=!1,y.current.clear()}function x(){return Array.from(y.current.values()).some(Boolean)}function w(O){if(!m.current)return;const D=O.target;D instanceof Node&&[...l].some(F=>F.contains(D))||y.current.set(O.type,!0),O.type==="click"&&window.setTimeout(()=>{m.current&&v.current()},0)}function _(O){m.current&&y.current.set(O.type,!1)}const E=O=>{if(O.target&&!p.current){let D=function(){r.removeEventListener("click",v.current);const F=x();b(),F||Fw(Bj,d,$,{discrete:!0})};if(!u(O.target)){r.removeEventListener("click",v.current),b(),p.current=!1;return}const $={originalEvent:O};m.current=!0,s.current=i&&O.button===0,y.current.clear(),!i||O.button!==0?D():(r.removeEventListener("click",v.current),v.current=D,r.addEventListener("click",v.current,{once:!0}))}else r.removeEventListener("click",v.current),b();p.current=!1},R=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const O of R)r.addEventListener(O,w,!0),r.addEventListener(O,_);const T=window.setTimeout(()=>{r.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(T),r.removeEventListener("pointerdown",E),r.removeEventListener("click",v.current);for(const O of R)r.removeEventListener(O,w,!0),r.removeEventListener(O,_)}},[r,d,i,s,l,u]),{onPointerDownCapture:()=>p.current=!0}}function Xj(e,n=globalThis?.document){const r=rr(e),i=S.useRef(!1);return S.useEffect(()=>{const s=l=>{l.target&&!i.current&&Fw(qj,r,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Nb(){const e=new CustomEvent(ym);document.dispatchEvent(e)}function Fw(e,n,r,{discrete:i}){const s=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),i?$w(s,l):s.dispatchEvent(l)}var Nh="focusScope.autoFocusOnMount",Dh="focusScope.autoFocusOnUnmount",Db={bubbles:!1,cancelable:!0},Jj="FocusScope",Mu=S.forwardRef((e,n)=>{const{loop:r=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...u}=e,[d,p]=S.useState(null),m=rr(s),y=rr(l),v=S.useRef(null),b=nt(n,p),x=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(i){let _=function(O){if(x.paused||!d)return;const D=O.target;d.contains(D)?v.current=D:Na(v.current,{select:!0})},E=function(O){if(x.paused||!d)return;const D=O.relatedTarget;D!==null&&(d.contains(D)||Na(v.current,{select:!0}))},R=function(O){if(document.activeElement===document.body)for(const $ of O)$.removedNodes.length>0&&Na(d)};document.addEventListener("focusin",_),document.addEventListener("focusout",E);const T=new MutationObserver(R);return d&&T.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",_),document.removeEventListener("focusout",E),T.disconnect()}}},[i,d,x.paused]),S.useEffect(()=>{if(d){kb.add(x);const _=document.activeElement;if(!d.contains(_)){const R=new CustomEvent(Nh,Db);d.addEventListener(Nh,m),d.dispatchEvent(R),R.defaultPrevented||(Wj(aT(Vw(d)),{select:!0}),document.activeElement===_&&Na(d))}return()=>{d.removeEventListener(Nh,m),setTimeout(()=>{const R=new CustomEvent(Dh,Db);d.addEventListener(Dh,y),d.dispatchEvent(R),R.defaultPrevented||Na(_??document.body,{select:!0}),d.removeEventListener(Dh,y),kb.remove(x)},0)}}},[d,m,y,x]);const w=S.useCallback(_=>{if(!r&&!i||x.paused)return;const E=_.key==="Tab"&&!_.altKey&&!_.ctrlKey&&!_.metaKey,R=document.activeElement;if(E&&R){const T=_.currentTarget,[O,D]=eT(T);O&&D?!_.shiftKey&&R===D?(_.preventDefault(),r&&Na(O,{select:!0})):_.shiftKey&&R===O&&(_.preventDefault(),r&&Na(D,{select:!0})):R===T&&_.preventDefault()}},[r,i,x.paused]);return f.jsx($e.div,{tabIndex:-1,...u,ref:b,onKeyDown:w})});Mu.displayName=Jj;function Wj(e,{select:n=!1}={}){const r=document.activeElement;for(const i of e)if(Na(i,{select:n}),document.activeElement!==r)return}function eT(e){const n=Vw(e),r=zb(n,e),i=zb(n.reverse(),e);return[r,i]}function Vw(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function zb(e,n){const r=typeof n.checkVisibility=="function"&&n.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(r?!i.checkVisibility({checkVisibilityCSS:!0}):tT(i,{upTo:n})))return i}function tT(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function nT(e){return e instanceof HTMLInputElement&&"select"in e}function Na(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&nT(e)&&n&&e.select()}}var kb=rT();function rT(){let e=[];return{add(n){const r=e[0];n!==r&&r?.pause(),e=Lb(e,n),e.unshift(n)},remove(n){e=Lb(e,n),e[0]?.resume()}}}function Lb(e,n){const r=[...e],i=r.indexOf(n);return i!==-1&&r.splice(i,1),r}function aT(e){return e.filter(n=>n.tagName!=="A")}var iT="Portal",gl=S.forwardRef((e,n)=>{const{container:r,...i}=e,[s,l]=S.useState(!1);Gt(()=>l(!0),[]);const u=r||s&&globalThis?.document?.body;return u?Mi.createPortal(f.jsx($e.div,{...i,ref:n}),u):null});gl.displayName=iT;var Vc=0,_o=null;function dp(){S.useEffect(()=>{_o||(_o={start:$b(),end:$b()});const{start:e,end:n}=_o;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==n&&document.body.insertAdjacentElement("beforeend",n),Vc++,()=>{Vc===1&&(_o?.start.remove(),_o?.end.remove(),_o=null),Vc=Math.max(0,Vc-1)}},[])}function $b(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Tr=function(){return Tr=Object.assign||function(n){for(var r,i=1,s=arguments.length;i"u")return ST;var n=_T(e),r=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-r+n[2]-n[0])}},ET=qw(),ko="data-scroll-locked",RT=function(e,n,r,i){var s=e.left,l=e.top,u=e.right,d=e.gap;return r===void 0&&(r="margin"),` - .`.concat(sT,` { - overflow: hidden `).concat(i,`; - padding-right: `).concat(d,"px ").concat(i,`; - } - body[`).concat(ko,`] { - overflow: hidden `).concat(i,`; - overscroll-behavior: contain; - `).concat([n&&"position: relative ".concat(i,";"),r==="margin"&&` - padding-left: `.concat(s,`px; - padding-top: `).concat(l,`px; - padding-right: `).concat(u,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(d,"px ").concat(i,`; - `),r==="padding"&&"padding-right: ".concat(d,"px ").concat(i,";")].filter(Boolean).join(""),` - } - - .`).concat(ru,` { - right: `).concat(d,"px ").concat(i,`; - } - - .`).concat(au,` { - margin-right: `).concat(d,"px ").concat(i,`; - } - - .`).concat(ru," .").concat(ru,` { - right: 0 `).concat(i,`; - } - - .`).concat(au," .").concat(au,` { - margin-right: 0 `).concat(i,`; - } - - body[`).concat(ko,`] { - `).concat(lT,": ").concat(d,`px; - } -`)},Pb=function(){var e=parseInt(document.body.getAttribute(ko)||"0",10);return isFinite(e)?e:0},jT=function(){S.useEffect(function(){return document.body.setAttribute(ko,(Pb()+1).toString()),function(){var e=Pb()-1;e<=0?document.body.removeAttribute(ko):document.body.setAttribute(ko,e.toString())}},[])},TT=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,s=i===void 0?"margin":i;jT();var l=S.useMemo(function(){return CT(s)},[s]);return S.createElement(ET,{styles:RT(l,!n,s,r?"":"!important")})},bm=!1;if(typeof window<"u")try{var Uc=Object.defineProperty({},"passive",{get:function(){return bm=!0,!0}});window.addEventListener("test",Uc,Uc),window.removeEventListener("test",Uc,Uc)}catch{bm=!1}var Co=bm?{passive:!1}:!1,OT=function(e){return e.tagName==="TEXTAREA"},Gw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!OT(e)&&r[n]==="visible")},AT=function(e){return Gw(e,"overflowY")},MT=function(e){return Gw(e,"overflowX")},Fb=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=Zw(e,i);if(s){var l=Kw(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},NT=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},DT=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Zw=function(e,n){return e==="v"?AT(n):MT(n)},Kw=function(e,n){return e==="v"?NT(n):DT(n)},zT=function(e,n){return e==="h"&&n==="rtl"?-1:1},kT=function(e,n,r,i,s){var l=zT(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,p=n.contains(d),m=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=Kw(e,d),w=x[0],_=x[1],E=x[2],R=_-E-l*w;(w||R)&&Zw(e,d)&&(v+=R,b+=w);var T=d.parentNode;d=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!p&&d!==document.body||p&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(m=!0),m},Hc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Vb=function(e){return[e.deltaX,e.deltaY]},Ub=function(e){return e&&"current"in e?e.current:e},LT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},$T=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},IT=0,Eo=[];function PT(e){var n=S.useRef([]),r=S.useRef([0,0]),i=S.useRef(),s=S.useState(IT++)[0],l=S.useState(qw)[0],u=S.useRef(e);S.useEffect(function(){u.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var _=oT([e.lockRef.current],(e.shards||[]).map(Ub),!0).filter(Boolean);return _.forEach(function(E){return E.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),_.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var d=S.useCallback(function(_,E){if("touches"in _&&_.touches.length===2||_.type==="wheel"&&_.ctrlKey)return!u.current.allowPinchZoom;var R=Hc(_),T=r.current,O="deltaX"in _?_.deltaX:T[0]-R[0],D="deltaY"in _?_.deltaY:T[1]-R[1],$,F=_.target,U=Math.abs(O)>Math.abs(D)?"h":"v";if("touches"in _&&U==="h"&&F.type==="range")return!1;var V=window.getSelection(),pe=V&&V.anchorNode,ge=pe?pe===F||pe.contains(F):!1;if(ge)return!1;var de=Fb(U,F);if(!de)return!0;if(de?$=U:($=U==="v"?"h":"v",de=Fb(U,F)),!de)return!1;if(!i.current&&"changedTouches"in _&&(O||D)&&(i.current=$),!$)return!0;var Q=i.current||$;return kT(Q,E,_,Q==="h"?O:D)},[]),p=S.useCallback(function(_){var E=_;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var R="deltaY"in E?Vb(E):Hc(E),T=n.current.filter(function($){return $.name===E.type&&($.target===E.target||E.target===$.shadowParent)&<($.delta,R)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var O=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function($){return $.contains(E.target)}),D=O.length>0?d(E,O[0]):!u.current.noIsolation;D&&E.cancelable&&E.preventDefault()}}},[]),m=S.useCallback(function(_,E,R,T){var O={name:_,delta:E,target:R,should:T,shadowParent:FT(R)};n.current.push(O),setTimeout(function(){n.current=n.current.filter(function(D){return D!==O})},1)},[]),y=S.useCallback(function(_){r.current=Hc(_),i.current=void 0},[]),v=S.useCallback(function(_){m(_.type,Vb(_),_.target,d(_,e.lockRef.current))},[]),b=S.useCallback(function(_){m(_.type,Hc(_),_.target,d(_,e.lockRef.current))},[]);S.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",p,Co),document.addEventListener("touchmove",p,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(_){return _!==l}),document.removeEventListener("wheel",p,Co),document.removeEventListener("touchmove",p,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,w=e.inert;return S.createElement(S.Fragment,null,w?S.createElement(l,{styles:$T(s)}):null,x?S.createElement(TT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function FT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const VT=pT(Bw,PT);var Du=S.forwardRef(function(e,n){return S.createElement(Nu,Tr({},e,{ref:n,sideCar:VT}))});Du.classNames=Nu.classNames;var UT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,Bc=new WeakMap,qc={},$h=0,Yw=function(e){return e&&(e.host||Yw(e.parentNode))},HT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Yw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},BT=function(e,n,r,i){var s=HT(n,Array.isArray(e)?e:[e]);qc[r]||(qc[r]=new WeakMap);var l=qc[r],u=[],d=new Set,p=new Set(s),m=function(v){!v||d.has(v)||(d.add(v),m(v.parentNode))};s.forEach(m);var y=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),w=x!==null&&x!=="false",_=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,_),l.set(b,E),u.push(b),_===1&&w&&Bc.set(b,!0),E===1&&b.setAttribute(r,"true"),w||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(Bc.has(v)||v.removeAttribute(i),Bc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Ro=new WeakMap,Ro=new WeakMap,Bc=new WeakMap,qc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=UT(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),BT(i,s,r,"aria-hidden")):function(){return null}},zu="Dialog",[Qw]=Ga(zu),[qT,br]=Qw(zu),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=S.useRef(null),p=S.useRef(null),[m,y]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:zu});return f.jsx(qT,{scope:n,triggerRef:d,contentRef:p,contentId:hn(),titleId:hn(),descriptionId:hn(),open:m,onOpenChange:y,onOpenToggle:S.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=zu;var Xw="DialogTrigger",GT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(Xw,r),l=nt(n,s.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":yp(s.open),...i,ref:l,onClick:Re(e.onClick,s.onOpenToggle)})});GT.displayName=Xw;var mp="DialogPortal",[ZT,Jw]=Qw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,l=br(mp,n);return f.jsx(ZT,{scope:n,forceMount:r,children:S.Children.map(i,u=>f.jsx(yr,{present:r||l.open,children:f.jsx(gl,{asChild:!0,container:s,children:u})}))})};pp.displayName=mp;var fu="DialogOverlay",gp=S.forwardRef((e,n)=>{const r=Jw(fu,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(fu,e.__scopeDialog);return l.modal?f.jsx(yr,{present:i||l.open,children:f.jsx(YT,{...s,ref:n})}):null});gp.displayName=fu;var KT=_i("DialogOverlay.RemoveScroll"),YT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(fu,r),l=Kj(),u=nt(n,l);return f.jsx(Du,{as:KT,allowPinchZoom:!0,shards:[s.contentRef],children:f.jsx($e.div,{"data-state":yp(s.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Uo="DialogContent",vp=S.forwardRef((e,n)=>{const r=Jw(Uo,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=br(Uo,e.__scopeDialog);return f.jsx(yr,{present:i||l.open,children:l.modal?f.jsx(QT,{...s,ref:n}):f.jsx(XT,{...s,ref:n})})});vp.displayName=Uo;var QT=S.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=S.useRef(null),s=nt(n,r.contentRef,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Ww,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Re(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Re(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault())})}),XT=S.forwardRef((e,n)=>{const r=br(Uo,e.__scopeDialog),i=S.useRef(!1),s=S.useRef(!1);return f.jsx(Ww,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Ww=S.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=br(Uo,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Mu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:l,children:f.jsx(pl,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),eS="DialogTitle",tS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(eS,r);return f.jsx($e.h2,{id:s.titleId,...i,ref:n})});tS.displayName=eS;var nS="DialogDescription",JT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(nS,r);return f.jsx($e.p,{id:s.descriptionId,...i,ref:n})});JT.displayName=nS;var rS="DialogClose",aS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=br(rS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:Re(e.onClick,()=>s.onOpenChange(!1))})});aS.displayName=rS;function yp(e){return e?"open":"closed"}function WT(e){const n=S.useRef({value:e,previous:e});return S.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function eO(e){const[n,r]=S.useState(void 0);return Gt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const p=l.borderBoxSize,m=Array.isArray(p)?p[0]:p;u=m.inlineSize,d=m.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const tO=["top","right","bottom","left"],Va=Math.min,na=Math.max,hu=Math.round,Gc=Math.floor,ra=e=>({x:e,y:e}),nO={left:"right",right:"left",bottom:"top",top:"bottom"};function iS(e,n,r){return na(e,Va(n,r))}function aa(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Or(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Or(e))}function rO(e,n,r){r===void 0&&(r=!1);const i=qo(e),s=wp(e),l=xp(s);let u=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=mu(u)),[u,mu(u)]}function aO(e){const n=mu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],iO=["top","bottom"],oO=["bottom","top"];function sO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?iO:oO;default:return[]}}function lO(e,n,r,i){const s=qo(e);let l=sO(Ua(e),r==="start",i);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(xm)))),l}function mu(e){const n=Ua(e);return nO[n]+e.slice(n.length)}function cO(e){var n,r,i,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(s=e.left)!=null?s:0}}function oS(e){return typeof e!="number"?cO(e):{top:e,right:e,bottom:e,left:e}}function pu(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:s}=e;const l=Or(n),u=wp(n),d=xp(u),p=Ua(n),m=l==="y",y=i.x+i.width/2-s.width/2,v=i.y+i.height/2-s.height/2,b=i[d]/2-s[d]/2;let x;switch(p){case"top":x={x:y,y:i.y-s.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-s.width,y:v};break;default:x={x:i.x,y:i.y}}const w=qo(n);return w&&(x[u]+=b*(w==="end"?1:-1)*(r&&m?-1:1)),x}async function uO(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:l,rects:u,elements:d,strategy:p}=e,{boundary:m="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=aa(n,e),w=oS(x),E=d[b?v==="floating"?"reference":"floating":v],R=pu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:m,rootBoundary:y,strategy:p})),T=v==="floating"?{x:i,y:s,width:u.floating.width,height:u.floating.height}:u.reference,O=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),D=await(l.isElement==null?void 0:l.isElement(O))&&await(l.getScale==null?void 0:l.getScale(O))||{x:1,y:1},$=pu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:T,offsetParent:O,strategy:p}):T);return{top:(R.top-$.top+w.top)/D.y,bottom:($.bottom-R.bottom+w.bottom)/D.y,left:(R.left-$.left+w.left)/D.x,right:($.right-R.right+w.right)/D.x}}const dO=50,fO=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:uO},p=await(u.isRTL==null?void 0:u.isRTL(n));let m=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=qb(m,i,p),b=i,x=0;const w={};for(let _=0;_({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:l,platform:u,elements:d,middlewareData:p}=n,{element:m,padding:y=0}=aa(e,n)||{};if(m==null)return{};const v=oS(y),b={x:r,y:i},x=wp(s),w=xp(x),_=await u.getDimensions(m),E=x==="y",R=E?"top":"left",T=E?"bottom":"right",O=E?"clientHeight":"clientWidth",D=l.reference[w]+l.reference[x]-b[x]-l.floating[w],$=b[x]-l.reference[x],F=await(u.getOffsetParent==null?void 0:u.getOffsetParent(m));let U=F?F[O]:0;(!U||!await(u.isElement==null?void 0:u.isElement(F)))&&(U=d.floating[O]||l.floating[w]);const V=D/2-$/2,pe=U/2-_[w]/2-1,ge=Va(v[R],pe),de=Va(v[T],pe),Q=U-_[w]-de,re=U/2-_[w]/2+V,he=iS(ge,re,Q),xe=!p.arrow&&qo(s)!=null&&re!==he&&l.reference[w]/2-(rehe<=0)){var de,Q;const he=(((de=l.flip)==null?void 0:de.index)||0)+1,xe=U[he];if(xe&&(!(v==="alignment"?T!==Or(xe):!1)||ge.every(ie=>Or(ie.placement)===T?ie.overflows[0]>0:!0)))return{data:{index:he,overflows:ge},reset:{placement:xe}};let N=(Q=ge.filter(Z=>Z.overflows[0]<=0).sort((Z,ie)=>Z.overflows[1]-ie.overflows[1])[0])==null?void 0:Q.placement;if(!N)switch(x){case"bestFit":{var re;const Z=(re=ge.filter(ie=>{if(F){const te=Or(ie.placement);return te===T||te==="y"}return!0}).map(ie=>[ie.placement,ie.overflows.filter(te=>te>0).reduce((te,ne)=>te+ne,0)]).sort((ie,te)=>ie[1]-te[1])[0])==null?void 0:re[0];Z&&(N=Z);break}case"initialPlacement":N=d;break}if(s!==N)return{reset:{placement:N}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return tO.some(n=>e[n]>=0)}const pO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:s="referenceHidden",...l}=aa(e,n);switch(s){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},sS=new Set(["left","top"]);async function gO(e,n){const{placement:r,platform:i,elements:s}=e,l=await(i.isRTL==null?void 0:i.isRTL(s.floating)),u=Ua(r),d=qo(r),p=Or(r)==="y",m=sS.has(u)?-1:1,y=l&&p?-1:1,v=aa(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:w}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof w=="number"&&(x=d==="end"?w*-1:w),p?{x:x*y,y:b*m}:{x:b*m,y:x*y}}const vO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:l,placement:u,middlewareData:d}=n,p=await gO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:s+p.x,y:l+p.y,data:{...p,placement:u}}}}},yO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:p={fn:T=>{let{x:O,y:D}=T;return{x:O,y:D}}},...m}=aa(e,n),y={x:r,y:i},v=await l.detectOverflow(n,m),b=Or(s),x=bp(b);let w=y[x],_=y[b];const E=(T,O)=>iS(O+v[T==="y"?"top":"left"],O,O-v[T==="y"?"bottom":"right"]);u&&(w=E(x,w)),d&&(_=E(b,_));const R=p.fn({...n,[x]:w,[b]:_});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},bO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:s,y:l,placement:u,rects:d,middlewareData:p}=n,{offset:m=0,mainAxis:y=!0,crossAxis:v=!0}=aa(e,n),b={x:s,y:l},x=Or(u),w=bp(x);let _=b[w],E=b[x];const R=aa(m,n),T=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const $=w==="y"?"height":"width",F=d.reference[w]-d.floating[$]+T.mainAxis,U=d.reference[w]+d.reference[$]-T.mainAxis;_U&&(_=U)}if(v){var O,D;const $=w==="y"?"width":"height",F=sS.has(Ua(u)),U=d.reference[x]-d.floating[$]+(F&&((O=p.offset)==null?void 0:O[x])||0)+(F?0:T.crossAxis),V=d.reference[x]+d.reference[$]+(F?0:((D=p.offset)==null?void 0:D[x])||0)-(F?T.crossAxis:0);EV&&(E=V)}return{[w]:_,[x]:E}}}},xO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:s,elements:l}=n,{apply:u=()=>{},...d}=aa(e,n),p=await s.detectOverflow(n,d),m=Ua(r),y=qo(r),v=Or(r)==="y",{width:b,height:x}=i.floating;let w,_;m==="top"||m==="bottom"?(w=m,_=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(_=m,w=y==="end"?"top":"bottom");const E=x-p.top-p.bottom,R=b-p.left-p.right,T=Va(x-p[w],E),O=Va(b-p[_],R),D=n.middlewareData.shift,$=!D;let F=T,U=O;D!=null&&D.enabled.x&&(U=R),D!=null&&D.enabled.y&&(F=E),$&&!y&&(v?U=b-2*na(p.left,p.right):F=x-2*na(p.top,p.bottom)),await u({...n,availableWidth:U,availableHeight:F});const V=await s.getDimensions(l.floating);return b!==V.width||x!==V.height?{reset:{rects:!0}}:{}}}};function ku(){return typeof window<"u"}function Go(e){return lS(e)?(e.nodeName||"").toLowerCase():"#document"}function Nn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ia(e){var n;return(n=(lS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function lS(e){return ku()?e instanceof Node||e instanceof Nn(e).Node:!1}function Ar(e){return ku()?e instanceof Element||e instanceof Nn(e).Element:!1}function Za(e){return ku()?e instanceof HTMLElement||e instanceof Nn(e).HTMLElement:!1}function Kb(e){return!ku()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Nn(e).ShadowRoot}function Lu(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Mr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&s!=="inline"&&s!=="contents"}function wO(e){return/^(table|td|th)$/.test(Go(e))}function $u(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const SO=/transform|translate|scale|rotate|perspective|filter/,_O=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Ar(e)?Mr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||SO.test(n.willChange||"")||_O.test(n.contain||"")}function CO(e){let n=Ci(e);for(;Za(n)&&!rl(n);){if(Sp(n))return n;if($u(n))return null;n=Ci(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function rl(e){return/^(html|body|#document)$/.test(Go(e))}function Mr(e){return Nn(e).getComputedStyle(e)}function Iu(e){return Ar(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ci(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||ia(e);return Kb(n)?n.host:n}function cS(e){const n=Ci(e);return rl(n)?(e.ownerDocument||e).body:Za(n)&&Lu(n)?n:cS(n)}function al(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=cS(e),l=s===((i=e.ownerDocument)==null?void 0:i.body),u=Nn(s);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],Lu(s)?s:[],d&&r?al(d):[])}else return n.concat(s,al(s,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function uS(e){const n=Mr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=Za(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:i,d=hu(r)!==l||hu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Ar(e)?e:e.contextElement}function Lo(e){const n=Cp(e);if(!Za(n))return ra(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:l}=uS(n);let u=(l?hu(r.width):r.width)/i,d=(l?hu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const EO=ra(0);function dS(e){const n=Nn(e);return!_p()||!n.visualViewport?EO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function RO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===Nn(e)}function Ei(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=Cp(e);let u=ra(1);n&&(i?Ar(i)&&(u=Lo(i)):u=Lo(e));const d=RO(l,r,i)?dS(l):ra(0);let p=(s.left+d.x)/u.x,m=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&i){const b=Nn(l),x=Ar(i)?Nn(i):i;let w=b,_=wm(w);for(;_&&x!==w;){const E=Lo(_),R=_.getBoundingClientRect(),T=Mr(_),O=R.left+(_.clientLeft+parseFloat(T.paddingLeft))*E.x,D=R.top+(_.clientTop+parseFloat(T.paddingTop))*E.y;p*=E.x,m*=E.y,y*=E.x,v*=E.y,p+=O,m+=D,w=Nn(_),_=wm(w)}}return pu({width:y,height:v,x:p,y:m})}function Pu(e,n){const r=Iu(e).scrollLeft;return n?n.left+r:Ei(ia(e)).left+r}function fS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Pu(e,r),s=r.top+n.scrollTop;return{x:i,y:s}}function jO(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const l=s==="fixed",u=ia(i),d=n?$u(n.floating):!1;if(i===u||d&&l)return r;let p={scrollLeft:0,scrollTop:0},m=ra(1);const y=ra(0),v=Za(i);if((v||!l)&&((Go(i)!=="body"||Lu(u))&&(p=Iu(i)),v)){const x=Ei(i);m=Lo(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?fS(u,p):ra(0);return{width:r.width*m.x,height:r.height*m.y,x:r.x*m.x-p.scrollLeft*m.x+y.x+b.x,y:r.y*m.y-p.scrollTop*m.y+y.y+b.y}}function TO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function OO(e){const n=Iu(e),r=e.ownerDocument.body,i=na(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=na(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Pu(e);const u=-n.scrollTop;return Mr(r).direction==="rtl"&&(l+=na(e.clientWidth,r.clientWidth)-i),{width:i,height:s,x:l,y:u}}const AO=25;function MO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",s=Nn(e),l=ia(e),u=s.visualViewport;let d=l.clientWidth,p=l.clientHeight,m=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(m=-u.offsetLeft,y=-u.offsetTop):(d=u.width,p=u.height,b&&(m=u.offsetLeft,y=u.offsetTop))}if(Pu(l)<=0){const b=l.ownerDocument,x=b.body,w=getComputedStyle(x),_=b.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-_),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=AO&&(d-=R)}return{width:d,height:p,x:m,y}}function NO(e,n){const r=Ei(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,p=s*l.x,m=i*l.y;return{width:u,height:d,x:p,y:m}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=MO(e,r,n);else if(n==="document")i=OO(ia(e));else if(Ar(n))i=NO(n,r);else{const s=dS(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return pu(i)}function DO(e,n){const r=n.get(e);if(r)return r;let i=al(e,[],!1).filter(d=>Ar(d)&&Go(d)!=="body"),s=null;const l=Mr(e).position==="fixed";let u=l?Ci(e):e;for(;Ar(u)&&!rl(u);){const d=Mr(u),p=Sp(u),m=s?s.position:l?"fixed":"";!p&&(m==="fixed"||m==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):s=d,u=Ci(u)}return n.set(e,i),i}function zO(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const u=[...r==="clippingAncestors"?$u(n)?[]:DO(n,this._c):[].concat(r),i],d=Yb(n,u[0],s);let p=d.top,m=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}U=!1}try{i=new IntersectionObserver(V,{...F,root:l.ownerDocument})}catch{i=new IntersectionObserver(V,F)}i.observe(e)}const p=Nn(e),m=()=>d(r);return p.addEventListener("resize",m),d(!0),()=>{p.removeEventListener("resize",m),u()}}function VO(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:p=!1}=i,m=Cp(e),y=s||l?[...m?al(m):[],...n?al(n):[]]:[];y.forEach(R=>{s&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=m&&d?FO(m,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[T]=R;T&&T.target===m&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(n)})),r()}),m&&!p&&x.observe(m),n&&x.observe(n));let w,_=p?Ei(e):null;p&&E();function E(){const R=Ei(e);_&&!mS(_,R)&&r(),_=R,w=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(T=>{s&&T.removeEventListener("scroll",r),l&&T.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,p&&cancelAnimationFrame(w)}}const UO=vO,HO=yO,BO=mO,qO=xO,GO=pO,Xb=hO,ZO=bO,KO=(e,n,r)=>{const i=new Map,s=r??{},l={...PO,...s.platform,_c:i};return fO(e,n,{...s,platform:l})};var YO=typeof document<"u",QO=function(){},iu=YO?S.useLayoutEffect:QO;function gu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!gu(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const l=s[i];if(!(l==="_owner"&&e.$$typeof)&&!gu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function pS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=pS(e);return Math.round(n*r)/r}function Fh(e){const n=S.useRef(e);return iu(()=>{n.current=e}),n}function XO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:p,open:m}=e,[y,v]=S.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=S.useState(i);gu(b,i)||x(i);const[w,_]=S.useState(null),[E,R]=S.useState(null),T=S.useCallback(ie=>{ie!==F.current&&(F.current=ie,_(ie))},[]),O=S.useCallback(ie=>{ie!==U.current&&(U.current=ie,R(ie))},[]),D=l||w,$=u||E,F=S.useRef(null),U=S.useRef(null),V=S.useRef(y),pe=p!=null,ge=Fh(p),de=Fh(s),Q=Fh(m),re=S.useCallback(()=>{if(!F.current||!U.current)return;const ie={placement:n,strategy:r,middleware:b};de.current&&(ie.platform=de.current),KO(F.current,U.current,ie).then(te=>{const ne={...te,isPositioned:Q.current!==!1};he.current&&!gu(V.current,ne)&&(V.current=ne,Mi.flushSync(()=>{v(ne)}))})},[b,n,r,de,Q]);iu(()=>{m===!1&&V.current.isPositioned&&(V.current.isPositioned=!1,v(ie=>({...ie,isPositioned:!1})))},[m]);const he=S.useRef(!1);iu(()=>(he.current=!0,()=>{he.current=!1}),[]),iu(()=>{if(D&&(F.current=D),$&&(U.current=$),D&&$){if(ge.current)return ge.current(D,$,re);re()}},[D,$,re,ge,pe]);const xe=S.useMemo(()=>({reference:F,floating:U,setReference:T,setFloating:O}),[T,O]),N=S.useMemo(()=>({reference:D,floating:$}),[D,$]),Z=S.useMemo(()=>{const ie={position:r,left:0,top:0};if(!N.floating)return ie;const te=Jb(N.floating,y.x),ne=Jb(N.floating,y.y);return d?{...ie,transform:"translate("+te+"px, "+ne+"px)",...pS(N.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:te,top:ne}},[r,d,N.floating,y.x,y.y]);return S.useMemo(()=>({...y,update:re,refs:xe,elements:N,floatingStyles:Z}),[y,re,xe,N,Z])}const JO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:s}).fn(r):{}:i?Xb({element:i,padding:s}).fn(r):{}}}},WO=(e,n)=>{const r=UO(e);return{name:r.name,fn:r.fn,options:[e,n]}},eA=(e,n)=>{const r=HO(e);return{name:r.name,fn:r.fn,options:[e,n]}},tA=(e,n)=>({fn:ZO(e).fn,options:[e,n]}),nA=(e,n)=>{const r=BO(e);return{name:r.name,fn:r.fn,options:[e,n]}},rA=(e,n)=>{const r=qO(e);return{name:r.name,fn:r.fn,options:[e,n]}},aA=(e,n)=>{const r=GO(e);return{name:r.name,fn:r.fn,options:[e,n]}},iA=(e,n)=>{const r=JO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var oA="Arrow",gS=S.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});gS.displayName=oA;var sA=gS,Ep="Popper",[vS,Zo]=Ga(Ep),[lA,yS]=vS(Ep),bS=e=>{const{__scopePopper:n,children:r}=e,[i,s]=S.useState(null),[l,u]=S.useState(void 0);return f.jsx(lA,{scope:n,anchor:i,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};bS.displayName=Ep;var xS="PopperAnchor",wS=S.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,l=yS(xS,r),u=S.useRef(null),d=l.onAnchorChange,p=S.useCallback(w=>{u.current=w,w&&d(w)},[d]),m=nt(n,p),y=S.useRef(null);S.useEffect(()=>{if(!i)return;const w=y.current;y.current=i.current,w!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:m})});wS.displayName=xS;var Rp="PopperContent",[cA,uA]=vS(Rp),SS=S.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:w,..._}=e,E=yS(Rp,r),[R,T]=S.useState(null),O=nt(n,T),[D,$]=S.useState(null),F=eO(D),U=F?.width??0,V=F?.height??0,pe=i+(l!=="center"?"-"+l:""),ge=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},de=Array.isArray(m)?m:[m],Q=de.length>0,re={padding:ge,boundary:de.filter(fA),altBoundary:Q},{refs:he,floatingStyles:xe,placement:N,isPositioned:Z,middlewareData:ie}=XO({strategy:"fixed",placement:pe,whileElementsMounted:(...ve)=>VO(...ve,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[WO({mainAxis:s+V,alignmentAxis:u}),p&&eA({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?tA():void 0,...re}),p&&nA({...re}),rA({...re,apply:({elements:ve,rects:ye,availableWidth:Ne,availableHeight:Ie})=>{const{width:Fe,height:ft}=ye.reference,Qe=ve.floating.style;Qe.setProperty("--radix-popper-available-width",`${Ne}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Fe}px`),Qe.setProperty("--radix-popper-anchor-height",`${ft}px`)}}),D&&iA({element:D,padding:d}),hA({arrowWidth:U,arrowHeight:V}),b&&aA({strategy:"referenceHidden",...re,boundary:Q?re.boundary:void 0})]}),te=E.setPlacementState;Gt(()=>(te(N),()=>{te(void 0)}),[N,te]);const[ne,k]=jp(N),M=rr(w);Gt(()=>{Z&&M?.()},[Z,M]);const B=ie.arrow?.x,X=ie.arrow?.y,K=ie.arrow?.centerOffset!==0,[le,ee]=S.useState();return Gt(()=>{R&&ee(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:he.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:Z?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:le,"--radix-popper-transform-origin":[ie.transformOrigin?.x,ie.transformOrigin?.y].join(" "),...ie.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(cA,{scope:r,placedSide:ne,placedAlign:k,onArrowChange:$,arrowX:B,arrowY:X,shouldHideArrow:K,children:f.jsx($e.div,{"data-side":ne,"data-align":k,..._,ref:O,style:{..._.style,animation:Z?void 0:"none"}})})})});SS.displayName=Rp;var _S="PopperArrow",dA={top:"bottom",right:"left",bottom:"top",left:"right"},CS=S.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,l=uA(_S,i),u=dA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(sA,{...s,ref:r,style:{...s.style,display:"block"}})})});CS.displayName=_S;function fA(e){return e!==null}var hA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,p=u?0:e.arrowHeight,[m,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+p/2;let w="",_="";return m==="bottom"?(w=u?v:`${b}px`,_=`${-p}px`):m==="top"?(w=u?v:`${b}px`,_=`${i.floating.height+p}px`):m==="right"?(w=`${-p}px`,_=u?v:`${x}px`):m==="left"&&(w=`${i.floating.width+p}px`,_=u?v:`${x}px`),{data:{x:w,y:_}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=bS,Op=wS,Ap=SS,Mp=CS,Vh=!1;function mA(){const[e,n]=S.useState(Vh);return S.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var ES=Ou[" useSyncExternalStore ".trim().toString()];function pA(){return()=>{}}function gA(){return ES(pA,()=>!0,()=>!1)}var vA=typeof ES=="function"?gA:mA,Uh="rovingFocusGroup.onEntryFocus",yA={bubbles:!1,cancelable:!0},vl="RovingFocusGroup",[Sm,RS,bA]=lp(vl),[xA,jS]=Ga(vl,[bA]),[wA,SA]=xA(vl),TS=S.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(_A,{...e,ref:n})})}));TS.displayName=vl;var _A=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:p,onEntryFocus:m,preventScrollOnEntryFocus:y=!1,...v}=e,b=S.useRef(null),x=nt(n,b),w=cp(l),[_,E]=Vo({prop:u,defaultProp:d??null,onChange:p,caller:vl}),[R,T]=S.useState(!1),O=rr(m),D=RS(r),$=S.useRef(!1),[F,U]=S.useState(0);return S.useEffect(()=>{const V=b.current;if(V)return V.addEventListener(Uh,O),()=>V.removeEventListener(Uh,O)},[O]),f.jsx(wA,{scope:r,orientation:i,dir:w,loop:s,currentTabStopId:_,onItemFocus:S.useCallback(V=>E(V),[E]),onItemShiftTab:S.useCallback(()=>T(!0),[]),onFocusableItemAdd:S.useCallback(()=>U(V=>V+1),[]),onFocusableItemRemove:S.useCallback(()=>U(V=>V-1),[]),children:f.jsx($e.div,{tabIndex:R||F===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:Re(e.onMouseDown,()=>{$.current=!0}),onFocus:Re(e.onFocus,V=>{const pe=!$.current;if(V.target===V.currentTarget&&pe&&!R){const ge=new CustomEvent(Uh,yA);if(V.currentTarget.dispatchEvent(ge),!ge.defaultPrevented){const de=D().filter(N=>N.focusable),Q=de.find(N=>N.active),re=de.find(N=>N.id===_),xe=[Q,re,...de].filter(Boolean).map(N=>N.ref.current);MS(xe,y)}}$.current=!1}),onBlur:Re(e.onBlur,()=>T(!1))})})}),OS="RovingFocusGroupItem",AS=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:s=!1,tabStopId:l,children:u,...d}=e,p=hn(),m=l||p,y=SA(OS,r),v=y.currentTabStopId===m,b=RS(r),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:_}=y,E=vA();return Gt(()=>{if(!(!E||!i))return x(),()=>w()},[E,i,x,w]),S.useEffect(()=>{if(!(E||!i))return x(),()=>w()},[E,i,x,w]),f.jsx(Sm.ItemSlot,{scope:r,id:m,focusable:i,active:s,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:Re(e.onMouseDown,R=>{i?y.onItemFocus(m):R.preventDefault()}),onFocus:Re(e.onFocus,()=>y.onItemFocus(m)),onKeyDown:Re(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const T=RA(R,y.orientation,y.dir);if(T!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let D=b().filter($=>$.focusable).map($=>$.ref.current);if(T==="last")D.reverse();else if(T==="prev"||T==="next"){T==="prev"&&D.reverse();const $=D.indexOf(R.currentTarget);D=y.loop?jA(D,$+1):D.slice($+1)}setTimeout(()=>MS(D))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:_!=null}):u})})});AS.displayName=OS;var CA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function EA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function RA(e,n,r){const i=EA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return CA[i]}function MS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function jA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var TA=TS,OA=AS,_m=["Enter"," "],AA=["ArrowDown","PageUp","Home"],NS=["ArrowUp","PageDown","End"],MA=[...AA,...NS],NA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},DA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},yl="Menu",[il,zA,kA]=lp(yl),[Ni,DS]=Ga(yl,[kA,Zo,jS]),Fu=Zo(),zS=jS(),[LA,Di]=Ni(yl),[$A,bl]=Ni(yl),kS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:s,onOpenChange:l,modal:u=!0}=e,d=Fu(n),[p,m]=S.useState(null),y=S.useRef(!1),v=rr(l),b=cp(s);return S.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),S.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(LA,{scope:n,open:r,onOpenChange:v,content:p,onContentChange:m,children:f.jsx($A,{scope:n,onClose:S.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};kS.displayName=yl;var IA="MenuAnchor",Np=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Op,{...s,...i,ref:n})});Np.displayName=IA;var Dp="MenuPortal",[PA,LS]=Ni(Dp,{forceMount:void 0}),$S=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:s}=e,l=Di(Dp,n);return f.jsx(PA,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(gl,{asChild:!0,container:s,children:i})})})};$S.displayName=Dp;var nr="MenuContent",[FA,zp]=Ni(nr),IS=S.forwardRef((e,n)=>{const r=LS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,...s}=e,l=Di(nr,e.__scopeMenu),u=bl(nr,e.__scopeMenu);return f.jsx(il.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||l.open,children:f.jsx(il.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx(VA,{...s,ref:n}):f.jsx(UA,{...s,ref:n})})})})}),VA=S.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu),i=S.useRef(null),s=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Re(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),UA=S.forwardRef((e,n)=>{const r=Di(nr,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),HA=_i("MenuContent.ScrollLock"),kp=S.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:w,..._}=e,E=Di(nr,r),R=bl(nr,r),T=Fu(r),O=zS(r),D=zA(r),[$,F]=S.useState(null),U=S.useRef(null),V=nt(n,U,E.onContentChange),pe=S.useRef(0),ge=S.useRef(""),de=S.useRef(0),Q=S.useRef(null),re=S.useRef("right"),he=S.useRef(0),xe=w?Du:S.Fragment,N=w?{as:HA,allowPinchZoom:!0}:void 0,Z=te=>{const ne=ge.current+te,k=D().filter(ee=>!ee.disabled),M=document.activeElement,B=k.find(ee=>ee.ref.current===M)?.textValue,X=k.map(ee=>ee.textValue),K=tM(X,ne,B),le=k.find(ee=>ee.textValue===K)?.ref.current;(function ee(ve){ge.current=ve,window.clearTimeout(pe.current),ve!==""&&(pe.current=window.setTimeout(()=>ee(""),1e3))})(ne),le&&setTimeout(()=>le.focus())};S.useEffect(()=>()=>window.clearTimeout(pe.current),[]),dp();const ie=S.useCallback(te=>re.current===Q.current?.side&&rM(te,Q.current?.area),[]);return f.jsx(FA,{scope:r,searchRef:ge,onItemEnter:S.useCallback(te=>{ie(te)&&te.preventDefault()},[ie]),onItemLeave:S.useCallback(te=>{ie(te)||(U.current?.focus(),F(null))},[ie]),onTriggerLeave:S.useCallback(te=>{ie(te)&&te.preventDefault()},[ie]),pointerGraceTimerRef:de,onPointerGraceIntentChange:S.useCallback(te=>{Q.current=te},[]),children:f.jsx(xe,{...N,children:f.jsx(Mu,{asChild:!0,trapped:s,onMountAutoFocus:Re(l,te=>{te.preventDefault(),U.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(pl,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(TA,{asChild:!0,...O,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:$,onCurrentTabStopIdChange:F,onEntryFocus:Re(p,te=>{R.isUsingKeyboardRef.current||te.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":e1(E.open),"data-radix-menu-content":"",dir:R.dir,...T,..._,ref:V,style:{outline:"none",..._.style},onKeyDown:Re(_.onKeyDown,te=>{const k=te.target.closest("[data-radix-menu-content]")===te.currentTarget,M=te.ctrlKey||te.altKey||te.metaKey,B=te.key.length===1;k&&(te.key==="Tab"&&te.preventDefault(),!M&&B&&Z(te.key));const X=U.current;if(te.target!==X||!MA.includes(te.key))return;te.preventDefault();const le=D().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);NS.includes(te.key)&&le.reverse(),WA(le)}),onBlur:Re(e.onBlur,te=>{te.currentTarget.contains(te.target)||(window.clearTimeout(pe.current),ge.current="")}),onPointerMove:Re(e.onPointerMove,ol(te=>{const ne=te.target,k=he.current!==te.clientX;if(te.currentTarget.contains(ne)&&k){const M=te.clientX>he.current?"right":"left";re.current=M,he.current=te.clientX}}))})})})})})})});IS.displayName=nr;var BA="MenuGroup",Lp=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=BA;var qA="MenuLabel",PS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});PS.displayName=qA;var vu="MenuItem",Wb="menu.itemSelect",Vu=S.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...s}=e,l=S.useRef(null),u=bl(vu,e.__scopeMenu),d=zp(vu,e.__scopeMenu),p=nt(n,l),m=S.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),$w(v,b),b.defaultPrevented?m.current=!1:u.onClose()}};return f.jsx(FS,{...s,ref:p,disabled:r,onClick:Re(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),m.current=!0},onPointerUp:Re(e.onPointerUp,v=>{m.current||v.currentTarget?.click()}),onKeyDown:Re(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Vu.displayName=vu;var FS=S.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:s,...l}=e,u=zp(vu,r),d=zS(r),p=S.useRef(null),m=nt(n,p),[y,v]=S.useState(!1),[b,x]=S.useState("");return S.useEffect(()=>{const w=p.current;w&&x((w.textContent??"").trim())},[l.children]),f.jsx(il.ItemSlot,{scope:r,disabled:i,textValue:s??b,children:f.jsx(OA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:m,onPointerMove:Re(e.onPointerMove,ol(w=>{i?u.onItemLeave(w):(u.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Re(e.onPointerLeave,ol(w=>u.onItemLeave(w))),onFocus:Re(e.onFocus,()=>v(!0)),onBlur:Re(e.onBlur,()=>v(!1))})})})}),GA="MenuCheckboxItem",VS=S.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...s}=e;return f.jsx(GS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Vu,{role:"menuitemcheckbox","aria-checked":yu(r)?"mixed":r,...s,ref:n,"data-state":Ip(r),onSelect:Re(s.onSelect,()=>i?.(yu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});VS.displayName=GA;var US="MenuRadioGroup",[ZA,KA]=Ni(US,{value:void 0,onValueChange:()=>{}}),HS=S.forwardRef((e,n)=>{const{value:r,onValueChange:i,...s}=e,l=rr(i);return f.jsx(ZA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...s,ref:n})})});HS.displayName=US;var BS="MenuRadioItem",qS=S.forwardRef((e,n)=>{const{value:r,...i}=e,s=KA(BS,e.__scopeMenu),l=r===s.value;return f.jsx(GS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Vu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:Re(i.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});qS.displayName=BS;var $p="MenuItemIndicator",[GS,YA]=Ni($p,{checked:!1}),ZS=S.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...s}=e,l=YA($p,r);return f.jsx(yr,{present:i||yu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...s,ref:n,"data-state":Ip(l.checked)})})});ZS.displayName=$p;var QA="MenuSeparator",KS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});KS.displayName=QA;var XA="MenuArrow",YS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Fu(r);return f.jsx(Mp,{...s,...i,ref:n})});YS.displayName=XA;var JA="MenuSub",[sF,QS]=Ni(JA),Gs="MenuSubTrigger",XS=S.forwardRef((e,n)=>{const r=Di(Gs,e.__scopeMenu),i=bl(Gs,e.__scopeMenu),s=QS(Gs,e.__scopeMenu),l=zp(Gs,e.__scopeMenu),u=S.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:p}=l,m={__scopeMenu:e.__scopeMenu},y=S.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);S.useEffect(()=>y,[y]),S.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),p(null)}},[d,p]);const v=nt(n,s.onTriggerChange);return f.jsx(Np,{asChild:!0,...m,children:f.jsx(FS,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":e1(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Re(e.onPointerMove,ol(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Re(e.onPointerLeave,ol(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const w=r.content?.dataset.side,_=w==="right",E=_?-5:5,R=x[_?"left":"right"],T=x[_?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:T,y:x.top},{x:T,y:x.bottom},{x:R,y:x.bottom}],side:w}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:Re(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||NA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});XS.displayName=Gs;var JS="MenuSubContent",WS=S.forwardRef((e,n)=>{const r=LS(nr,e.__scopeMenu),{forceMount:i=r.forceMount,align:s="start",...l}=e,u=Di(nr,e.__scopeMenu),d=bl(nr,e.__scopeMenu),p=QS(JS,e.__scopeMenu),m=S.useRef(null),y=nt(n,m);return f.jsx(il.Provider,{scope:e.__scopeMenu,children:f.jsx(yr,{present:i||u.open,children:f.jsx(il.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:p.contentId,"aria-labelledby":p.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&m.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:Re(e.onFocusOutside,v=>{v.target!==p.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:Re(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:Re(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=DA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),p.trigger?.focus(),v.preventDefault())})})})})})});WS.displayName=JS;function e1(e){return e?"open":"closed"}function yu(e){return e==="indeterminate"}function Ip(e){return yu(e)?"indeterminate":e?"checked":"unchecked"}function WA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function eM(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function tM(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=eM(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function nM(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function rM(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return nM(r,n)}function ol(e){return n=>n.pointerType==="mouse"?e(n):void 0}var aM=kS,iM=Np,oM=$S,sM=IS,lM=Lp,cM=PS,uM=Vu,dM=VS,fM=HS,hM=qS,mM=ZS,pM=KS,gM=YS,vM=XS,yM=WS,Uu="DropdownMenu",[bM]=Ga(Uu,[DS]),gn=DS(),[xM,t1]=bM(Uu),n1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,p=gn(n),m=S.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Uu});return f.jsx(xM,{scope:n,triggerId:hn(),triggerRef:m,contentId:hn(),open:y,onOpenChange:v,onOpenToggle:S.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(aM,{...p,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};n1.displayName=Uu;var r1="DropdownMenuTrigger",a1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...s}=e,l=t1(r1,r),u=gn(r),d=nt(n,l.triggerRef);return f.jsx(iM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...s,ref:d,onPointerDown:Re(e.onPointerDown,p=>{!i&&p.button===0&&p.ctrlKey===!1&&(l.onOpenToggle(),l.open||p.preventDefault())}),onKeyDown:Re(e.onKeyDown,p=>{i||(["Enter"," "].includes(p.key)&&l.onOpenToggle(),p.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(p.key)&&p.preventDefault())})})})});a1.displayName=r1;var wM="DropdownMenuPortal",i1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=gn(n);return f.jsx(oM,{...i,...r})};i1.displayName=wM;var o1="DropdownMenuContent",s1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=t1(o1,r),l=gn(r),u=S.useRef(!1);return f.jsx(sM,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...i,ref:n,onCloseAutoFocus:Re(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:Re(e.onInteractOutside,d=>{const p=d.detail.originalEvent,m=p.button===0&&p.ctrlKey===!0,y=p.button===2||m;(!s.modal||y)&&(u.current=!0)}),style:{...e.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)"}})});s1.displayName=o1;var SM="DropdownMenuGroup",_M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(lM,{...s,...i,ref:n})});_M.displayName=SM;var CM="DropdownMenuLabel",l1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(cM,{...s,...i,ref:n})});l1.displayName=CM;var EM="DropdownMenuItem",c1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(uM,{...s,...i,ref:n})});c1.displayName=EM;var RM="DropdownMenuCheckboxItem",jM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(dM,{...s,...i,ref:n})});jM.displayName=RM;var TM="DropdownMenuRadioGroup",OM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(fM,{...s,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuRadioItem",MM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(hM,{...s,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuItemIndicator",DM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(mM,{...s,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuSeparator",kM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(pM,{...s,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuArrow",$M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(gM,{...s,...i,ref:n})});$M.displayName=LM;var IM="DropdownMenuSubTrigger",PM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(vM,{...s,...i,ref:n})});PM.displayName=IM;var FM="DropdownMenuSubContent",VM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=gn(r);return f.jsx(yM,{...s,...i,ref:n,style:{...e.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)"}})});VM.displayName=FM;var UM=n1,HM=a1,BM=i1,qM=s1,GM=l1,ZM=c1,KM="Label",u1=S.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));u1.displayName=KM;var YM=u1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var QM=[" ","Enter","ArrowUp","ArrowDown"],XM=[" ","Enter"],Ri="Select",[Hu,Bu,JM]=lp(Ri),[zi]=Ga(Ri,[JM,Zo]),qu=Zo(),[WM,Ka]=zi(Ri),[eN,tN]=zi(Ri),nN="SelectProvider";function d1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:p,dir:m,name:y,autoComplete:v,disabled:b,required:x,form:w,internal_do_not_use_render:_}=e,E=qu(n),[R,T]=S.useState(null),[O,D]=S.useState(null),[$,F]=S.useState(!1),U=cp(m),[V,pe]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:Ri}),[ge,de]=Vo({prop:u,defaultProp:d,onChange:p,caller:Ri}),Q=S.useRef(null),re=S.useRef(ge);S.useEffect(()=>{const M=w?R?.ownerDocument.getElementById(w):R?.form;if(M instanceof HTMLFormElement){const B=()=>de(re.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[w,R,de]);const he=R?!!w||!!R.closest("form"):!0,[xe,N]=S.useState(new Set),Z=hn(),ie=Array.from(xe).map(M=>M.props.value).join(";"),te=S.useCallback(M=>{N(B=>new Set(B).add(M))},[]),ne=S.useCallback(M=>{N(B=>{const X=new Set(B);return X.delete(M),X})},[]),k={required:x,trigger:R,onTriggerChange:T,valueNode:O,onValueNodeChange:D,valueNodeHasChildren:$,onValueNodeHasChildrenChange:F,contentId:Z,value:ge,onValueChange:de,open:V,onOpenChange:pe,dir:U,triggerPointerDownPosRef:Q,disabled:b,name:y,autoComplete:v,form:w,nativeOptions:xe,nativeSelectKey:ie,isFormControl:he};return f.jsx(Tp,{...E,children:f.jsx(WM,{scope:n,...k,children:f.jsx(Hu.Provider,{scope:n,children:f.jsx(eN,{scope:n,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:bN(_)?_(k):r})})})})}d1.displayName=nN;var f1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(d1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:s})=>f.jsxs(f.Fragment,{children:[r,s?f.jsx(I1,{__scopeSelect:n}):null]})})};f1.displayName=Ri;var h1="SelectTrigger",m1=S.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...s}=e,l=qu(r),u=Ka(h1,r),d=u.disabled||i,p=nt(n,u.onTriggerChange),m=Bu(r),y=S.useRef("touch"),[v,b,x]=P1(_=>{const E=m().filter(O=>!O.disabled),R=E.find(O=>O.value===u.value),T=F1(E,_,R);T!==void 0&&u.onValueChange(T.value)}),w=_=>{d||(u.onOpenChange(!0),x()),_&&(u.triggerPointerDownPosRef.current={x:Math.round(_.pageX),y:Math.round(_.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Gu(u.value)?"":void 0,...s,ref:p,onClick:Re(s.onClick,_=>{_.currentTarget.focus(),y.current!=="mouse"&&w(_)}),onPointerDown:Re(s.onPointerDown,_=>{y.current=_.pointerType;const E=_.target;E.hasPointerCapture(_.pointerId)&&E.releasePointerCapture(_.pointerId),_.button===0&&_.ctrlKey===!1&&_.pointerType==="mouse"&&(w(_),_.preventDefault())}),onKeyDown:Re(s.onKeyDown,_=>{const E=v.current!=="";!(_.ctrlKey||_.altKey||_.metaKey)&&_.key.length===1&&b(_.key),!(E&&_.key===" ")&&QM.includes(_.key)&&(w(),_.preventDefault())})})})});m1.displayName=h1;var p1="SelectValue",g1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,children:l,placeholder:u="",...d}=e,p=Ka(p1,r),{onValueNodeHasChildrenChange:m}=p,y=l!==void 0,v=nt(n,p.onValueNodeChange);Gt(()=>{m(y)},[m,y]);const b=Gu(p.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(S.Fragment,{children:b?u:l},b?"placeholder":"value")})});g1.displayName=p1;var rN="SelectIcon",v1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...s}=e;return f.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:i||"▼"})});v1.displayName=rN;var y1="SelectPortal",[aN,iN]=zi(y1,{forceMount:void 0}),b1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(aN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(gl,{asChild:!0,...i})})};b1.displayName=y1;var Ha="SelectContent",x1=S.forwardRef((e,n)=>{const r=iN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...s}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=S.useState();return Gt(()=>{d(new DocumentFragment)},[]),f.jsx(yr,{present:i||l.open,children:({present:p})=>p?f.jsx(_1,{...s,ref:n}):f.jsx(w1,{...s,fragment:u})})});x1.displayName=Ha;var w1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:s}=e;return s?Mi.createPortal(f.jsx(S1,{scope:r,children:f.jsx(Hu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),s):null});w1.displayName="SelectContentFragment";var hr=10,[S1,Ya]=zi(Ha),oN="SelectContentImpl",sN=_i("SelectContent.RemoveScroll"),_1=S.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E,...R}=e,T=Ka(Ha,r),[O,D]=S.useState(null),[$,F]=S.useState(null),U=nt(n,D),[V,pe]=S.useState(null),[ge,de]=S.useState(null),Q=Bu(r),[re,he]=S.useState(!1),xe=S.useRef(!1);S.useEffect(()=>{if(O)return fp(O)},[O]),dp();const N=S.useCallback(ee=>{const[ve,...ye]=Q().map(Fe=>Fe.ref.current),[Ne]=ye.slice(-1),Ie=document.activeElement;for(const Fe of ee)if(Fe===Ie||(Fe?.scrollIntoView({block:"nearest"}),Fe===ve&&$&&($.scrollTop=0),Fe===Ne&&$&&($.scrollTop=$.scrollHeight),Fe?.focus(),document.activeElement!==Ie))return},[Q,$]),Z=S.useCallback(()=>N([V,O]),[N,V,O]);S.useEffect(()=>{re&&Z()},[re,Z]);const{onOpenChange:ie,triggerPointerDownPosRef:te}=T;S.useEffect(()=>{if(O){let ee={x:0,y:0};const ve=Ne=>{ee={x:Math.abs(Math.round(Ne.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(Ne.pageY)-(te.current?.y??0))}},ye=Ne=>{ee.x<=10&&ee.y<=10?Ne.preventDefault():Ne.composedPath().includes(O)||ie(!1),document.removeEventListener("pointermove",ve),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",ye,{capture:!0})}}},[O,ie,te]),S.useEffect(()=>{const ee=()=>ie(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[ie]);const[ne,k]=P1(ee=>{const ve=Q().filter(Ie=>!Ie.disabled),ye=ve.find(Ie=>Ie.ref.current===document.activeElement),Ne=F1(ve,ee,ye);Ne&&setTimeout(()=>Ne.ref.current?.focus())}),M=S.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(T.value!==void 0&&T.value===ve||Ne)&&(pe(ee),Ne&&(xe.current=!0))},[T.value]),B=S.useCallback(()=>O?.focus(),[O]),X=S.useCallback((ee,ve,ye)=>{const Ne=!xe.current&&!ye;(T.value!==void 0&&T.value===ve||Ne)&&de(ee)},[T.value]),K=i==="popper"?Cm:C1,le=K===Cm?{side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E}:{};return f.jsx(S1,{scope:r,content:O,viewport:$,onViewportChange:F,itemRefCallback:M,selectedItem:V,onItemLeave:B,itemTextRefCallback:X,focusSelectedItem:Z,selectedItemText:ge,position:i,isPositioned:re,searchRef:ne,children:f.jsx(Du,{as:sN,allowPinchZoom:!0,children:f.jsx(Mu,{asChild:!0,trapped:T.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:Re(s,ee=>{T.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:f.jsx(pl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:f.jsx(K,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ee=>ee.preventDefault(),...R,...le,onPlaced:()=>he(!0),ref:U,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Re(R.onKeyDown,ee=>{const ve=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!ve&&ee.key.length===1&&k(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let Ne=Q().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(Ne=Ne.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const Ie=ee.target,Fe=Ne.indexOf(Ie);Ne=Ne.slice(Fe+1)}setTimeout(()=>N(Ne)),ee.preventDefault()}})})})})})})});_1.displayName=oN;var lN="SelectItemAlignedPosition",C1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...s}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,p]=S.useState(null),[m,y]=S.useState(null),v=nt(n,y),b=Bu(r),x=S.useRef(!1),w=S.useRef(!0),{viewport:_,selectedItem:E,selectedItemText:R,focusSelectedItem:T}=u,O=S.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&m&&_&&E&&R){const U=l.trigger.getBoundingClientRect(),V=m.getBoundingClientRect(),pe=l.valueNode.getBoundingClientRect(),ge=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ge.left-V.left,Fe=pe.left-Ie,ft=U.left-Fe,Qe=U.width+ft,vn=Math.max(Qe,V.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.left=Kt+"px"}else{const Ie=V.right-ge.right,Fe=window.innerWidth-pe.right-Ie,ft=window.innerWidth-U.right-Fe,Qe=U.width+ft,vn=Math.max(Qe,V.width),un=window.innerWidth-hr,Kt=ex(Fe,[hr,Math.max(hr,un-vn)]);d.style.minWidth=Qe+"px",d.style.right=Kt+"px"}const de=b(),Q=window.innerHeight-hr*2,re=_.scrollHeight,he=window.getComputedStyle(m),xe=parseInt(he.borderTopWidth,10),N=parseInt(he.paddingTop,10),Z=parseInt(he.borderBottomWidth,10),ie=parseInt(he.paddingBottom,10),te=xe+N+re+ie+Z,ne=Math.min(E.offsetHeight*5,te),k=window.getComputedStyle(_),M=parseInt(k.paddingTop,10),B=parseInt(k.paddingBottom,10),X=U.top+U.height/2-hr,K=Q-X,le=E.offsetHeight/2,ee=E.offsetTop+le,ve=xe+N+ee,ye=te-ve;if(ve<=X){const Ie=de.length>0&&E===de[de.length-1].ref.current;d.style.bottom="0px";const Fe=m.clientHeight-_.offsetTop-_.offsetHeight,ft=Math.max(K,le+(Ie?B:0)+Fe+Z),Qe=ve+ft;d.style.height=Qe+"px"}else{const Ie=de.length>0&&E===de[0].ref.current;d.style.top="0px";const ft=Math.max(X,xe+_.offsetTop+(Ie?M:0)+le)+ye;d.style.height=ft+"px",_.scrollTop=ve-X+_.offsetTop}d.style.margin=`${hr}px 0`,d.style.minHeight=ne+"px",d.style.maxHeight=Q+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,m,_,E,R,l.dir,i]);Gt(()=>O(),[O]);const[D,$]=S.useState();Gt(()=>{m&&$(window.getComputedStyle(m).zIndex)},[m]);const F=S.useCallback(U=>{U&&w.current===!0&&(O(),T?.(),w.current=!1)},[O,T]);return f.jsx(uN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:F,children:f.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:D},children:f.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});C1.displayName=lN;var cN="SelectPopperPosition",Cm=S.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:s=hr,...l}=e,u=qu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:s,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Cm.displayName=cN;var[uN,Pp]=zi(Ha,{}),Em="SelectViewport",E1=S.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...s}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),p=S.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(Hu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Re(s.onScroll,m=>{const y=m.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(p.current-y.scrollTop);if(x>0){const w=window.innerHeight-hr*2,_=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(_,E);if(R0?D:0,v.style.justifyContent="flex-end")}}}p.current=y.scrollTop})})})]})});E1.displayName=Em;var R1="SelectGroup",[dN,fN]=zi(R1),hN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=hn();return f.jsx(dN,{scope:r,id:s,children:f.jsx($e.div,{role:"group","aria-labelledby":s,...i,ref:n})})});hN.displayName=R1;var j1="SelectLabel",mN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=fN(j1,r);return f.jsx($e.div,{id:s.id,...i,ref:n})});mN.displayName=j1;var bu="SelectItem",[pN,T1]=zi(bu),O1=S.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:s=!1,textValue:l,...u}=e,d=Ka(bu,r),p=Ya(bu,r),m=d.value===i,[y,v]=S.useState(l??""),[b,x]=S.useState(!1),w=rr(O=>p.itemRefCallback?.(O,i,s)),_=nt(n,w),E=hn(),R=S.useRef("touch"),T=()=>{s||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(pN,{scope:r,value:i,disabled:s,textId:E,isSelected:m,onItemTextChange:S.useCallback(O=>{v(D=>D||(O?.textContent??"").trim())},[]),children:f.jsx(Hu.ItemSlot,{scope:r,value:i,disabled:s,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":m&&b,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:_,onFocus:Re(u.onFocus,()=>x(!0)),onBlur:Re(u.onBlur,()=>x(!1)),onClick:Re(u.onClick,()=>{R.current!=="mouse"&&T()}),onPointerUp:Re(u.onPointerUp,()=>{R.current==="mouse"&&T()}),onPointerDown:Re(u.onPointerDown,O=>{R.current=O.pointerType}),onPointerMove:Re(u.onPointerMove,O=>{R.current=O.pointerType,s?p.onItemLeave?.():R.current==="mouse"&&O.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Re(u.onPointerLeave,O=>{O.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:Re(u.onKeyDown,O=>{s||O.target!==O.currentTarget||p.searchRef?.current!==""&&O.key===" "||(XM.includes(O.key)&&T(),O.key===" "&&O.preventDefault())})})})})});O1.displayName=bu;var Zs="SelectItemText",A1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,...l}=e,u=Ka(Zs,r),d=Ya(Zs,r),p=T1(Zs,r),m=tN(Zs,r),[y,v]=S.useState(null),b=rr(T=>d.itemTextRefCallback?.(T,p.value,p.disabled)),x=nt(n,v,p.onItemTextChange,b),w=y?.textContent,_=S.useMemo(()=>f.jsx("option",{value:p.value,disabled:p.disabled,children:w},p.value),[p.disabled,p.value,w]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=m;return Gt(()=>(E(_),()=>R(_)),[E,R,_]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:p.textId,...l,ref:x}),p.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Gu(u.value)?Mi.createPortal(l.children,u.valueNode):null]})});A1.displayName=Zs;var M1="SelectItemIndicator",N1=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return T1(M1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});N1.displayName=M1;var Rm="SelectScrollUpButton",D1=S.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[s,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollTop>0;l(m)};const p=r.viewport;return d(),p.addEventListener("scroll",d),()=>p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop-p.offsetHeight)}}):null});D1.displayName=Rm;var jm="SelectScrollDownButton",z1=S.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[s,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Gt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollHeight-p.clientHeight,y=Math.ceil(p.scrollTop)p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop+p.offsetHeight)}}):null});z1.displayName=jm;var k1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...s}=e,l=Ya("SelectScrollButton",r),u=S.useRef(null),d=Bu(r),p=S.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return S.useEffect(()=>()=>p(),[p]),Gt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:Re(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:Re(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:Re(s.onPointerLeave,()=>{p()})})}),gN="SelectSeparator",vN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});vN.displayName=gN;var L1="SelectArrow",yN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=qu(r);return Ya(L1,r).position==="popper"?f.jsx(Mp,{...s,...i,ref:n}):null});yN.displayName=L1;var $1="SelectBubbleInput",I1=S.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka($1,e),{value:s,onValueChange:l,required:u,disabled:d,name:p,autoComplete:m,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=S.useRef(null),w=nt(r,x),_=s??"",E=WT(_),R=Array.from(v).some(T=>(T.props.value??"")==="");return S.useEffect(()=>{const T=x.current;if(!T)return;const O=window.HTMLSelectElement.prototype,$=Object.getOwnPropertyDescriptor(O,"value").set;if(E!==_&&$){const F=new Event("change",{bubbles:!0});$.call(T,_),T.dispatchEvent(F)}},[E,_]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:p,autoComplete:m,disabled:d,form:y,onChange:T=>l(T.target.value),...n,style:{...Iw,...n.style},ref:w,defaultValue:_,children:[Gu(s)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});I1.displayName=$1;function bN(e){return typeof e=="function"}function Gu(e){return e===""||e===void 0}function P1(e){const n=rr(e),r=S.useRef(""),i=S.useRef(0),s=S.useCallback(u=>{const d=r.current+u;n(d),(function p(m){r.current=m,window.clearTimeout(i.current),m!==""&&(i.current=window.setTimeout(()=>p(""),1e3))})(d)},[n]),l=S.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,s,l]}function F1(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=xN(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.textValue.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function xN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var wN="Separator",tx="horizontal",SN=["horizontal","vertical"],V1=S.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...s}=e,l=_N(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});V1.displayName=wN;function _N(e){return SN.includes(e)}var CN=V1,[Zu]=Ga("Tooltip",[Zo]),Ku=Zo(),U1="TooltipProvider",EN=700,Tm="tooltip.open",[RN,Fp]=Zu(U1),H1=e=>{const{__scopeTooltip:n,delayDuration:r=EN,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:l}=e,u=S.useRef(!0),d=S.useRef(!1),p=S.useRef(0);return S.useEffect(()=>{const m=p.current;return()=>window.clearTimeout(m)},[]),f.jsx(RN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:S.useCallback(()=>{i<=0||(window.clearTimeout(p.current),u.current=!1)},[i]),onClose:S.useCallback(()=>{i<=0||(window.clearTimeout(p.current),p.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:S.useCallback(m=>{d.current=m},[]),disableHoverableContent:s,children:l})};H1.displayName=U1;var sl="Tooltip",[jN,xl]=Zu(sl),B1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,p=Fp(sl,e.__scopeTooltip),m=Ku(n),[y,v]=S.useState(null),b=hn(),x=S.useRef(0),w=u??p.disableHoverableContent,_=d??p.delayDuration,E=S.useRef(!1),[R,T]=Vo({prop:i,defaultProp:s??!1,onChange:U=>{U?(p.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):p.onClose(),l?.(U)},caller:sl}),O=S.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),D=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,T(!0)},[T]),$=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,T(!1)},[T]),F=S.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,T(!0),x.current=0},_)},[_,T]);return S.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...m,children:f.jsx(jN,{scope:n,contentId:b,open:R,stateAttribute:O,trigger:y,onTriggerChange:v,onTriggerEnter:S.useCallback(()=>{p.isOpenDelayedRef.current?F():D()},[p.isOpenDelayedRef,F,D]),onTriggerLeave:S.useCallback(()=>{w?$():(window.clearTimeout(x.current),x.current=0)},[$,w]),onOpen:D,onClose:$,disableHoverableContent:w,children:r})})};B1.displayName=sl;var Om="TooltipTrigger",q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=xl(Om,r),l=Fp(Om,r),u=Ku(r),d=S.useRef(null),p=nt(n,d,s.onTriggerChange),m=S.useRef(!1),y=S.useRef(!1),v=S.useCallback(()=>m.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:p,onPointerMove:Re(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:Re(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:Re(e.onPointerDown,()=>{s.open&&s.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:Re(e.onFocus,()=>{m.current||s.onOpen()}),onBlur:Re(e.onBlur,s.onClose),onClick:Re(e.onClick,s.onClose)})})});q1.displayName=Om;var Vp="TooltipPortal",[TN,ON]=Zu(Vp,{forceMount:void 0}),G1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:s}=e,l=xl(Vp,n);return f.jsx(TN,{scope:n,forceMount:r,children:f.jsx(yr,{present:r||l.open,children:f.jsx(gl,{asChild:!0,container:s,children:i})})})};G1.displayName=Vp;var Ho="TooltipContent",Z1=S.forwardRef((e,n)=>{const r=ON(Ho,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...l}=e,u=xl(Ho,e.__scopeTooltip);return f.jsx(yr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(K1,{side:s,...l,ref:n}):f.jsx(AN,{side:s,...l,ref:n})})}),AN=S.forwardRef((e,n)=>{const r=xl(Ho,e.__scopeTooltip),i=Fp(Ho,e.__scopeTooltip),s=S.useRef(null),l=nt(n,s),[u,d]=S.useState(null),{trigger:p,onClose:m}=r,y=s.current,{onPointerInTransitChange:v}=i,b=S.useCallback(()=>{d(null),v(!1)},[v]),x=S.useCallback((w,_)=>{const E=w.currentTarget,R={x:w.clientX,y:w.clientY},T=zN(R,E.getBoundingClientRect()),O=kN(R,T),D=LN(_.getBoundingClientRect()),$=IN([...O,...D]);d($),v(!0)},[v]);return S.useEffect(()=>()=>b(),[b]),S.useEffect(()=>{if(p&&y){const w=E=>x(E,y),_=E=>x(E,p);return p.addEventListener("pointerleave",w),y.addEventListener("pointerleave",_),()=>{p.removeEventListener("pointerleave",w),y.removeEventListener("pointerleave",_)}}},[p,y,x,b]),S.useEffect(()=>{if(u){const w=_=>{const E=_.target,R={x:_.clientX,y:_.clientY},T=p?.contains(E)||y?.contains(E),O=!$N(R,u);T?b():O&&(b(),m())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[p,y,u,m,b]),f.jsx(K1,{...e,ref:l})}),[MN,NN]=Zu(sl,{isInside:!1}),DN=xj("TooltipContent"),K1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,p=xl(Ho,r),m=Ku(r),{onClose:y}=p;return S.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),S.useEffect(()=>{if(p.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(p.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[p.trigger,y]),f.jsx(pl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":p.stateAttribute,...m,...d,ref:n,style:{...d.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:[f.jsx(DN,{children:i}),f.jsx(MN,{scope:r,isInside:!0,children:f.jsx(Mj,{id:p.contentId,role:"tooltip",children:s||i})})]})})});Z1.displayName=Ho;var Y1="TooltipArrow",Q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Ku(r);return NN(Y1,r).isInside?null:f.jsx(Mp,{...s,...i,ref:n})});Q1.displayName=Y1;function zN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,s,l)){case l:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function kN(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function LN(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function $N(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function IN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),PN(n)}function PN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var FN=H1,VN=B1,UN=q1,HN=G1,BN=Z1,qN=Q1;function X1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),W1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),xu="-",nx=[],KN="arbitrary..",YN=e=>{const n=XN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return QN(u);const d=u.split(xu),p=d[0]===""&&d.length>1?1:0;return e_(d,p,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const p=i[u],m=r[u];return p?m?GN(m,p):p:m||nx}return r[u]||nx}}},e_=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const m=e_(e,n+1,l);if(m)return m}const u=r.validators;if(u===null)return;const d=n===0?e.join(xu):e.slice(n).join(xu),p=u.length;for(let m=0;me.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?KN+i:void 0})(),XN=e=>{const{theme:n,classGroups:r}=e;return JN(r,n)},JN=(e,n)=>{const r=W1();for(const i in e){const s=e[i];Up(s,r,i,n)}return r},Up=(e,n,r,i)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){eD(e,n,r);return}if(typeof e=="function"){tD(e,n,r,i);return}nD(e,n,r,i)},eD=(e,n,r)=>{const i=e===""?n:t_(n,e);i.classGroupId=r},tD=(e,n,r,i)=>{if(rD(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(ZN(r,e))},nD=(e,n,r,i)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const i=n.split(xu),s=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,aD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Am="!",rx=":",iD=[],ax=(e,n,r,i,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:s}),oD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=s=>{const l=[];let u=0,d=0,p=0,m;const y=s.length;for(let _=0;_p?m-p:void 0;return ax(l,x,b,w)};if(n){const s=n+rx,l=i;i=u=>u.startsWith(s)?l(u.slice(s.length)):ax(iD,!1,u,void 0,!0)}if(r){const s=i;i=l=>r({className:l,parseClassName:s})}return i},sD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let s=[];for(let l=0;l0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},lD=e=>({cache:aD(e.cacheSize),parseClassName:oD(e),sortModifiers:sD(e),postfixLookupClassGroupIds:cD(e),...YN(e)}),cD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],p=e.trim().split(uD);let m="";for(let y=p.length-1;y>=0;y-=1){const v=p[y],{isExternal:b,modifiers:x,hasImportantModifier:w,baseClassName:_,maybePostfixModifierPosition:E}=r(v);if(b){m=v+(m.length>0?" "+m:m);continue}let R=!!E,T;if(R){const U=_.substring(0,E);T=i(U);const V=T&&u[T]?i(_):void 0;V&&V!==T&&(T=V,R=!1)}else T=i(_);if(!T){if(!R){m=v+(m.length>0?" "+m:m);continue}if(T=i(_),!T){m=v+(m.length>0?" "+m:m);continue}R=!1}const O=x.length===0?"":x.length===1?x[0]:l(x).join(":"),D=w?O+Am:O,$=D+T;if(d.indexOf($)>-1)continue;d.push($);const F=s(T,R);for(let U=0;U0?" "+m:m)}return m},fD=(...e)=>{let n=0,r,i,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,s,l;const u=p=>{const m=n.reduce((y,v)=>v(y),e());return r=lD(m),i=r.cache.get,s=r.cache.set,l=d,d(p)},d=p=>{const m=i(p);if(m)return m;const y=dD(p,r);return s(p,y),y};return l=u,(...p)=>l(fD(...p))},mD=[],Ut=e=>{const n=r=>r[e]||mD;return n.isThemeGetter=!0,n},r_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,a_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,gD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vD=/\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$/,yD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>pD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Cr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),Wr=e=>gD.test(e),i_=()=>!0,wD=e=>vD.test(e)&&!yD.test(e),Hp=()=>!1,SD=e=>bD.test(e),_D=e=>xD.test(e),CD=e=>!_e(e)&&!Ce(e),ED=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),RD=e=>Qa(e,l_,Hp),_e=e=>r_.test(e),yi=e=>Qa(e,c_,wD),ix=e=>Qa(e,zD,He),jD=e=>Qa(e,d_,i_),TD=e=>Qa(e,u_,Hp),ox=e=>Qa(e,o_,Hp),OD=e=>Qa(e,s_,_D),Zc=e=>Qa(e,f_,SD),Ce=e=>a_.test(e),Vs=e=>ki(e,c_),AD=e=>ki(e,u_),sx=e=>ki(e,o_),MD=e=>ki(e,l_),ND=e=>ki(e,s_),Kc=e=>ki(e,f_,!0),DD=e=>ki(e,d_,!0),Qa=(e,n,r)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},ki=(e,n,r=!1)=>{const i=a_.exec(e);return i?i[1]?n(i[1]):r:!1},o_=e=>e==="position"||e==="percentage",s_=e=>e==="image"||e==="url",l_=e=>e==="length"||e==="size"||e==="bg-size",c_=e=>e==="length",zD=e=>e==="number",u_=e=>e==="family-name",d_=e=>e==="number"||e==="weight",f_=e=>e==="shadow",kD=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),i=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),p=Ut("spacing"),m=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),w=Ut("blur"),_=Ut("perspective"),E=Ut("aspect"),R=Ut("ease"),T=Ut("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],$=()=>[...D(),Ce,_e],F=()=>["auto","hidden","clip","visible","scroll"],U=()=>["auto","contain","none"],V=()=>[Ce,_e,p],pe=()=>[Ma,"full","auto",...V()],ge=()=>[Cr,"none","subgrid",Ce,_e],de=()=>["auto",{span:["full",Cr,Ce,_e]},Cr,Ce,_e],Q=()=>[Cr,"auto",Ce,_e],re=()=>["auto","min","max","fr",Ce,_e],he=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...V()],Z=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...V()],ie=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...V()],te=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...V()],ne=()=>[e,Ce,_e],k=()=>[...D(),sx,ox,{position:[Ce,_e]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",MD,RD,{size:[Ce,_e]}],X=()=>[Hh,Vs,yi],K=()=>["","none","full",m,Ce,_e],le=()=>["",He,Vs,yi],ee=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[He,Hh,sx,ox],Ne=()=>["","none",w,Ce,_e],Ie=()=>["none",He,Ce,_e],Fe=()=>["none",He,Ce,_e],ft=()=>[He,Ce,_e],Qe=()=>[Ma,"full",...V()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[i_],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[CD],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",He],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[ED],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"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:$()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:U()}],"overscroll-x":[{"overscroll-x":U()}],"overscroll-y":[{"overscroll-y":U()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:pe()}],"inset-x":[{"inset-x":pe()}],"inset-y":[{"inset-y":pe()}],start:[{"inset-s":pe(),start:pe()}],end:[{"inset-e":pe(),end:pe()}],"inset-bs":[{"inset-bs":pe()}],"inset-be":[{"inset-be":pe()}],top:[{top:pe()}],right:[{right:pe()}],bottom:[{bottom:pe()}],left:[{left:pe()}],visibility:["visible","invisible","collapse"],z:[{z:[Cr,"auto",Ce,_e]}],basis:[{basis:[Ma,"full","auto",d,...V()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Cr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:de()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:de()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:V()}],"gap-x":[{"gap-x":V()}],"gap-y":[{"gap-y":V()}],"justify-content":[{justify:[...he(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...he()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":he()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:V()}],px:[{px:V()}],py:[{py:V()}],ps:[{ps:V()}],pe:[{pe:V()}],pbs:[{pbs:V()}],pbe:[{pbe:V()}],pt:[{pt:V()}],pr:[{pr:V()}],pb:[{pb:V()}],pl:[{pl:V()}],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":V()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":V()}],"space-y-reverse":["space-y-reverse"],size:[{size:Z()}],"inline-size":[{inline:["auto",...ie()]}],"min-inline-size":[{"min-inline":["auto",...ie()]}],"max-inline-size":[{"max-inline":["none",...ie()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[d,"screen",...Z()]}],"min-w":[{"min-w":[d,"screen","none",...Z()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...Z()]}],h:[{h:["screen","lh",...Z()]}],"min-h":[{"min-h":["screen","lh","none",...Z()]}],"max-h":[{"max-h":["screen","lh",...Z()]}],"font-size":[{text:["base",r,Vs,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,DD,jD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,_e]}],"font-family":[{font:[AD,TD,n]}],"font-features":[{"font-features":[_e]}],"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:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,ix]}],leading:[{leading:[l,...V()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,yi]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"tab-size":[{tab:[Cr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],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",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:k()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cr,Ce,_e],radial:["",Ce,_e],conic:[Cr,Ce,_e]},ND,OD]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:le()}],"border-w-x":[{"border-x":le()}],"border-w-y":[{"border-y":le()}],"border-w-s":[{"border-s":le()}],"border-w-e":[{"border-e":le()}],"border-w-bs":[{"border-bs":le()}],"border-w-be":[{"border-be":le()}],"border-w-t":[{"border-t":le()}],"border-w-r":[{"border-r":le()}],"border-w-b":[{"border-b":le()}],"border-w-l":[{"border-l":le()}],"divide-x":[{"divide-x":le()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":le()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-bs":[{"border-bs":ne()}],"border-color-be":[{"border-be":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,yi]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",y,Kc,Zc]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",v,Kc,Zc]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":le()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",b,Kc,Zc]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"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":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"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":D()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:k()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Ne()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Kc,Zc]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":V()}],"border-spacing-x":[{"border-spacing-x":V()}],"border-spacing-y":[{"border-spacing-y":V()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",R,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",T,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[_,Ce,_e]}],"perspective-origin":[{"perspective-origin":$()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Fe()}],"scale-x":[{"scale-x":Fe()}],"scale-y":[{"scale-y":Fe()}],"scale-z":[{"scale-z":Fe()}],"scale-3d":["scale-3d"],skew:[{skew:ft()}],"skew-x":[{"skew-x":ft()}],"skew-y":[{"skew-y":ft()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:$()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Cr,Ce,_e]}],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"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",Ce,_e]}],"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":ne()}],"scrollbar-track-color":[{"scrollbar-track":ne()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mbs":[{"scroll-mbs":V()}],"scroll-mbe":[{"scroll-mbe":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pbs":[{"scroll-pbs":V()}],"scroll-pbe":[{"scroll-pbe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"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",Ce,_e]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[He,Vs,yi,ix]}],stroke:[{stroke:["none",...ne()]}],"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"]}},LD=hD(kD);function Xe(...e){return LD(J1(e))}function $D({delayDuration:e=0,...n}){return f.jsx(FN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function ID({...e}){return f.jsx(VN,{"data-slot":"tooltip",...e})}function PD({...e}){return f.jsx(UN,{"data-slot":"tooltip-trigger",...e})}function FD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(HN,{children:f.jsxs(BN,{"data-slot":"tooltip-content",sideOffset:n,className:Xe("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",e),...i,children:[r,f.jsx(qN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function VD(e){return Mm.add(e),()=>Mm.delete(e)}function UD(){for(const e of Mm)e()}const h_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const HD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const BD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=BD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={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 qD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},GD=S.createContext({}),ZD=()=>S.useContext(GD),KD=S.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},p)=>{const{size:m=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=ZD()??{},w=i??v?Number(r??y)*24/Number(n??m):r??y;return S.createElement("svg",{ref:p,...Bh,width:n??m??Bh.width,height:n??m??Bh.height,stroke:e??b,strokeWidth:w,className:h_("lucide",x,s),...!l&&!qD(d)&&{"aria-hidden":"true"},...d},[...u.map(([_,E])=>S.createElement(_,E)),...Array.isArray(l)?l:[l]])});const Ae=(e,n)=>{const r=S.forwardRef(({className:i,...s},l)=>S.createElement(KD,{ref:l,iconNode:n,className:h_(`lucide-${HD(lx(e))}`,`lucide-${e}`,i),...s}));return r.displayName=lx(e),r};const YD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],QD=Ae("beaker",YD);const XD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],JD=Ae("book-open",XD);const WD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],ez=Ae("briefcase",WD);const tz=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],nz=Ae("bug",tz);const rz=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],az=Ae("calendar",rz);const iz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],m_=Ae("check",iz);const oz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Ae("chevron-down",oz);const sz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],lz=Ae("chevron-right",sz);const cz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],uz=Ae("chevron-up",cz);const dz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],fz=Ae("circle-check",dz);const hz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],p_=Ae("clock",hz);const mz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],pz=Ae("code",mz);const gz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],vz=Ae("compass",gz);const yz=[["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"}]],bz=Ae("copy",yz);const xz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],wz=Ae("credit-card",xz);const Sz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],_z=Ae("database",Sz);const Cz=[["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"}]],Ez=Ae("download",Cz);const Rz=[["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"}]],jz=Ae("ellipsis",Rz);const Tz=[["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"}]],g_=Ae("file-text",Tz);const Oz=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Az=Ae("flag",Oz);const Mz=[["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"}]],qp=Ae("folder",Mz);const Nz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],Dz=Ae("gauge",Nz);const zz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],kz=Ae("gavel",zz);const Lz=[["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"}]],v_=Ae("globe",Lz);const $z=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Iz=Ae("graduation-cap",$z);const Pz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Fz=Ae("heart",Pz);const Vz=[["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"}]],Uz=Ae("history",Vz);const Hz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Bz=Ae("image",Hz);const qz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Gz=Ae("info",qz);const Zz=[["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"}]],Kz=Ae("layout-dashboard",Zz);const Yz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Qz=Ae("lightbulb",Yz);const Xz=[["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"}]],Jz=Ae("link",Xz);const Wz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],ek=Ae("loader-circle",Wz);const tk=[["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"}]],y_=Ae("lock",tk);const nk=[["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"}]],rk=Ae("log-out",nk);const ak=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],ik=Ae("megaphone",ak);const ok=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],sk=Ae("menu",ok);const lk=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],ck=Ae("music",lk);const uk=[["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"}]],dk=Ae("octagon-x",uk);const fk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],hk=Ae("package",fk);const mk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],pk=Ae("pen-line",mk);const gk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],vk=Ae("plus",gk);const yk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],bk=Ae("rocket",yk);const xk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],b_=Ae("search",xk);const wk=[["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"}]],Sk=Ae("settings",wk);const _k=[["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"}]],Ck=Ae("share-2",_k);const Ek=[["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"}]],x_=Ae("shield",Ek);const Rk=[["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"}]],w_=Ae("square-terminal",Rk);const jk=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Tk=Ae("star",jk);const Ok=[["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"}]],Ak=Ae("trash-2",Ok);const Mk=[["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"}]],S_=Ae("triangle-alert",Mk);const Nk=[["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"}]],Dk=Ae("upload",Nk);const zk=[["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"}]],__=Ae("users",zk);const kk=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Lk=Ae("wrench",kk);const $k=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],C_=Ae("x",$k);function Ik(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Yu(),e?document.getElementById("sidebar")?.querySelector(Pk)?.focus():document.getElementById("menu-btn")?.focus()}const Pk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function pr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Yu(),e&&window.innerWidth<=ou&&document.getElementById("menu-btn")?.focus()}const ou=900;function Yu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=ou&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=ou?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=ou)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Yu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&pr()}));const Fk={alert:S_,card:wz,check:m_,chev:lz,chevd:Bp,clock:p_,copy:bz,doc:g_,dots:jz,download:Ez,folder:qp,dashboard:Kz,gear:Sk,globe:v_,hist:Uz,link:Jz,lock:y_,menu:sk,plus:vk,power:rk,search:b_,share:Ck,shield:x_,terminal:w_,trash:Ak,upload:Dk,users:__,x:C_};function dt({name:e}){const n=Fk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":JD,"file-text":g_,"pen-line":pk,users:__,briefcase:ez,megaphone:ik,rocket:bk,lightbulb:Qz,flag:Az,star:Tk,heart:Fz,code:pz,"square-terminal":w_,bug:nz,wrench:Lk,database:_z,package:hk,beaker:QD,gauge:Dz,shield:x_,lock:y_,gavel:kz,globe:v_,compass:vz,calendar:az,clock:p_,"graduation-cap":Iz,image:Bz,music:ck};function $o({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function Vk({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function wu(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Uk(e){e&&Yu()}function ll(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:pr}),f.jsxs("aside",{id:"sidebar",ref:Uk,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Qu(e){const{name:n,onHome:r,showSignout:i,search:s}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx(Vk,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[s&&f.jsxs(ID,{delayDuration:150,children:[f.jsx(PD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{UD(),pr()},children:f.jsx(dt,{name:"search"})})}),f.jsxs(FD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(dt,{name:"power"})})]})]})}function cl(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Ik,children:f.jsx(dt,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function Hk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Bk=e=>{switch(e){case"success":return Zk;case"info":return Yk;case"warning":return Kk;case"error":return Qk;default:return null}},qk=Array(12).fill(0),Gk=({visible:e,className:n})=>fe.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},fe.createElement("div",{className:"sonner-spinner"},qk.map((r,i)=>fe.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Zk=fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},fe.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"})),Kk=fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},fe.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"})),Yk=fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},fe.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"})),Qk=fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},fe.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"})),Xk=fe.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"},fe.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),fe.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Jk=()=>{const[e,n]=fe.useState(document.hidden);return fe.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class Wk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(p=>p.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(p=>p.id===l?(this.publish({...p,...n,id:l,title:i}),{...p,...n,id:l,dismissible:d,title:i}):p):this.addToast({title:i,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=s.then(async m=>{if(u=["resolve",m],fe.isValidElement(m))l=!1,this.create({id:i,type:"default",message:m});else if(t3(m)&&!m.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${m.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${m.status}`):r.description,w=typeof v=="object"&&!fe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(m instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(m):r.error,b=typeof r.description=="function"?await r.description(m):r.description,w=typeof v=="object"&&!fe.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(m):r.success,b=typeof r.description=="function"?await r.description(m):r.description,w=typeof v=="object"&&!fe.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...w})}}).catch(async m=>{if(u=["reject",m],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(m):r.error,v=typeof r.description=="function"?await r.description(m):r.description,x=typeof y=="object"&&!fe.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),p=()=>new Promise((m,y)=>d.then(()=>u[0]==="reject"?y(u[1]):m(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:p}:Object.assign(i,{unwrap:p})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const An=new Wk,e3=(e,n)=>{const r=n?.id||Dm++;return An.addToast({title:e,...n,id:r}),r},t3=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",n3=e3,r3=()=>An.toasts,a3=()=>An.getActiveToasts(),cx=Object.assign(n3,{success:An.success,info:An.info,warning:An.warning,error:An.error,custom:An.custom,message:An.message,promise:An.promise,dismiss:An.dismiss,loading:An.loading},{getHistory:r3,getToasts:a3});Hk("[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 Yc(e){return e.label!==void 0}const i3=3,o3="24px",s3="16px",ux=4e3,l3=356,c3=14,u3=45,d3=200;function Er(...e){return e.filter(Boolean).join(" ")}function f3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const h3=e=>{var n,r,i,s,l,u,d,p,m;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:w,visibleToasts:_,heights:E,index:R,toasts:T,expanded:O,removeToast:D,defaultRichColors:$,closeButton:F,style:U,cancelButtonStyle:V,actionButtonStyle:pe,className:ge="",descriptionClassName:de="",duration:Q,position:re,gap:he,expandByDefault:xe,classNames:N,icons:Z,closeButtonAriaLabel:ie="Close toast"}=e,[te,ne]=fe.useState(null),[k,M]=fe.useState(null),[B,X]=fe.useState(!1),[K,le]=fe.useState(!1),[ee,ve]=fe.useState(!1),[ye,Ne]=fe.useState(!1),[Ie,Fe]=fe.useState(!1),[ft,Qe]=fe.useState(0),[vn,un]=fe.useState(0),Kt=fe.useRef(v.duration||Q||ux),ir=fe.useRef(null),Dt=fe.useRef(null),or=R===0,Dr=R+1<=_,Tt=v.type,Hn=v.dismissible!==!1,wt=v.className||"",oa=v.descriptionClassName||"",yn=fe.useMemo(()=>E.findIndex(Me=>Me.toastId===v.id)||0,[E,v.id]),zr=fe.useMemo(()=>{var Me;return(Me=v.closeButton)!=null?Me:F},[v.closeButton,F]),sr=fe.useMemo(()=>v.duration||Q||ux,[v.duration,Q]),Yt=fe.useRef(0),bn=fe.useRef(0),A=fe.useRef(0),z=fe.useRef(null),[I,J]=re.split("-"),ce=fe.useMemo(()=>E.reduce((Me,ht,yt)=>yt>=yn?Me:Me+ht.height,0),[E,yn]),me=Jk(),be=v.invert||y,we=Tt==="loading";bn.current=fe.useMemo(()=>yn*he+ce,[yn,ce]),fe.useEffect(()=>{Kt.current=sr},[sr]),fe.useEffect(()=>{X(!0)},[]),fe.useEffect(()=>{const Me=Dt.current;if(Me){const ht=Me.getBoundingClientRect().height;return un(ht),w(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>w(yt=>yt.filter(Ht=>Ht.toastId!==v.id))}},[w,v.id]),fe.useLayoutEffect(()=>{if(!B)return;const Me=Dt.current,ht=Me.style.height;Me.style.height="auto";const yt=Me.getBoundingClientRect().height;Me.style.height=ht,un(yt),w(Ht=>Ht.find(_t=>_t.toastId===v.id)?Ht.map(_t=>_t.toastId===v.id?{..._t,height:yt}:_t):[{toastId:v.id,height:yt,position:v.position},...Ht])},[B,v.title,v.description,w,v.id,v.jsx,v.action,v.cancel]);const je=fe.useCallback(()=>{le(!0),Qe(bn.current),w(Me=>Me.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{D(v)},d3)},[v,D,w,bn]);fe.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Me;return O||x||me?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),je()},Kt.current)),()=>clearTimeout(Me)},[O,x,v,Tt,me,je]),fe.useEffect(()=>{v.delete&&(je(),v.onDismiss==null||v.onDismiss.call(v,v))},[je,v.delete]);function et(){var Me;if(Z?.loading){var ht;return fe.createElement("div",{className:Er(N?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},Z.loading)}return fe.createElement(Gk,{className:Er(N?.loader,v==null||(Me=v.classNames)==null?void 0:Me.loader),visible:Tt==="loading"})}const St=v.icon||Z?.[Tt]||Bk(Tt);var Qt,zt;return fe.createElement("li",{tabIndex:0,ref:Dt,className:Er(ge,wt,N?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,N?.default,N?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Qt=v.richColors)!=null?Qt:$,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":Dr,"data-y-position":I,"data-x-position":J,"data-index":R,"data-front":or,"data-swiping":ee,"data-dismissible":Hn,"data-type":Tt,"data-invert":be,"data-swipe-out":ye,"data-swipe-direction":k,"data-expanded":!!(O||xe&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":T.length-R,"--offset":`${K?ft:bn.current}px`,"--initial-height":xe?"auto":`${vn}px`,...U,...v.style},onDragEnd:()=>{ve(!1),ne(null),z.current=null},onPointerDown:Me=>{Me.button!==2&&(we||!Hn||(ir.current=new Date,Qe(bn.current),Me.target.setPointerCapture(Me.pointerId),Me.target.tagName!=="BUTTON"&&(ve(!0),z.current={x:Me.clientX,y:Me.clientY})))},onPointerUp:()=>{var Me,ht,yt;if(ye||!Hn)return;z.current=null;const Ht=Number(((Me=Dt.current)==null?void 0:Me.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lr=Number(((ht=Dt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),_t=new Date().getTime()-((yt=ir.current)==null?void 0:yt.getTime()),xn=te==="x"?Ht:lr,Wa=Math.abs(xn)/_t;if(Math.abs(xn)>=u3||Wa>.11){Qe(bn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(te==="x"?Ht>0?"right":"left":lr>0?"down":"up"),je(),Ne(!0);return}else{var wn,Sn;(wn=Dt.current)==null||wn.style.setProperty("--swipe-amount-x","0px"),(Sn=Dt.current)==null||Sn.style.setProperty("--swipe-amount-y","0px")}Fe(!1),ve(!1),ne(null)},onPointerMove:Me=>{var ht,yt,Ht;if(!z.current||!Hn||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const _t=Me.clientY-z.current.y,xn=Me.clientX-z.current.x;var Wa;const wn=(Wa=e.swipeDirections)!=null?Wa:f3(re);!te&&(Math.abs(xn)>1||Math.abs(_t)>1)&&ne(Math.abs(xn)>Math.abs(_t)?"x":"y");let Sn={x:0,y:0};const $i=cr=>1/(1.5+Math.abs(cr)/20);if(te==="y"){if(wn.includes("top")||wn.includes("bottom"))if(wn.includes("top")&&_t<0||wn.includes("bottom")&&_t>0)Sn.y=_t;else{const cr=_t*$i(_t);Sn.y=Math.abs(cr)0)Sn.x=xn;else{const cr=xn*$i(xn);Sn.x=Math.abs(cr)0||Math.abs(Sn.y)>0)&&Fe(!0),(yt=Dt.current)==null||yt.style.setProperty("--swipe-amount-x",`${Sn.x}px`),(Ht=Dt.current)==null||Ht.style.setProperty("--swipe-amount-y",`${Sn.y}px`)}},zr&&!v.jsx&&Tt!=="loading"?fe.createElement("button",{"aria-label":ie,"data-disabled":we,"data-close-button":!0,onClick:we||!Hn?()=>{}:()=>{je(),v.onDismiss==null||v.onDismiss.call(v,v)},className:Er(N?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=Z?.close)!=null?zt:Xk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(Z?.[Tt]!==null||v.icon)?fe.createElement("div",{"data-icon":"",className:Er(N?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||et():null,v.type!=="loading"?St:null):null,fe.createElement("div",{"data-content":"",className:Er(N?.content,v==null||(l=v.classNames)==null?void 0:l.content)},fe.createElement("div",{"data-title":"",className:Er(N?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?fe.createElement("div",{"data-description":"",className:Er(de,oa,N?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),fe.isValidElement(v.cancel)?v.cancel:v.cancel&&Yc(v.cancel)?fe.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||V,onClick:Me=>{Yc(v.cancel)&&Hn&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Me),je())},className:Er(N?.cancelButton,v==null||(p=v.classNames)==null?void 0:p.cancelButton)},v.cancel.label):null,fe.isValidElement(v.action)?v.action:v.action&&Yc(v.action)?fe.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||pe,onClick:Me=>{Yc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Me),!Me.defaultPrevented&&je())},className:Er(N?.actionButton,v==null||(m=v.classNames)==null?void 0:m.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function m3(e,n){const r={};return[e,n].forEach((i,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?s3:o3;function p(m){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof m=="number"?`${m}px`:m})}typeof i=="number"||typeof i=="string"?p(i):typeof i=="object"?["top","right","bottom","left"].forEach(m=>{i[m]===void 0?r[`${u}-${m}`]=d:r[`${u}-${m}`]=typeof i[m]=="number"?`${i[m]}px`:i[m]}):p(d)}),r}const p3=fe.forwardRef(function(n,r){const{id:i,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:p,className:m,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:w,style:_,visibleToasts:E=i3,toastOptions:R,dir:T=dx(),gap:O=c3,icons:D,containerAriaLabel:$="Notifications"}=n,[F,U]=fe.useState([]),V=fe.useMemo(()=>i?F.filter(B=>B.toasterId===i):F.filter(B=>!B.toasterId),[F,i]),pe=fe.useMemo(()=>Array.from(new Set([l].concat(V.filter(B=>B.position).map(B=>B.position)))),[V,l]),[ge,de]=fe.useState([]),[Q,re]=fe.useState(!1),[he,xe]=fe.useState(!1),[N,Z]=fe.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ie=fe.useRef(null),te=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),ne=fe.useRef(null),k=fe.useRef(!1),M=fe.useCallback(B=>{U(X=>{var K;return(K=X.find(le=>le.id===B.id))!=null&&K.delete||An.dismiss(B.id),X.filter(({id:le})=>le!==B.id)})},[]);return fe.useEffect(()=>An.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{U(X=>X.map(K=>K.id===B.id?{...K,delete:!0}:K))});return}setTimeout(()=>{yj.flushSync(()=>{U(X=>{const K=X.findIndex(le=>le.id===B.id);return K!==-1?[...X.slice(0,K),{...X[K],...B},...X.slice(K+1)]:[B,...X]})})})}),[F]),fe.useEffect(()=>{if(b!=="system"){Z(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Z("dark"):Z("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:X})=>{Z(X?"dark":"light")})}catch{B.addListener(({matches:K})=>{try{Z(K?"dark":"light")}catch(le){console.error(le)}})}},[b]),fe.useEffect(()=>{F.length<=1&&re(!1)},[F]),fe.useEffect(()=>{const B=X=>{var K;if(u.every(ve=>X[ve]||X.code===ve)){var ee;re(!0),(ee=ie.current)==null||ee.focus()}X.code==="Escape"&&(document.activeElement===ie.current||(K=ie.current)!=null&&K.contains(document.activeElement))&&re(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),fe.useEffect(()=>{if(ie.current)return()=>{ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null,k.current=!1)}},[ie.current]),fe.createElement("section",{ref:r,"aria-label":`${$} ${te}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},pe.map((B,X)=>{var K;const[le,ee]=B.split("-");return V.length?fe.createElement("ol",{key:B,dir:T==="auto"?dx():T,tabIndex:-1,ref:ie,className:m,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":le,"data-x-position":ee,style:{"--front-toast-height":`${((K=ge[0])==null?void 0:K.height)||0}px`,"--width":`${l3}px`,"--gap":`${O}px`,..._,...m3(y,v)},onBlur:ve=>{k.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(k.current=!1,ne.current&&(ne.current.focus({preventScroll:!0}),ne.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||k.current||(k.current=!0,ne.current=ve.relatedTarget)},onMouseEnter:()=>re(!0),onMouseMove:()=>re(!0),onMouseLeave:()=>{he||re(!1)},onDragEnd:()=>re(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},V.filter(ve=>!ve.position&&X===0||ve.position===B).map((ve,ye)=>{var Ne,Ie;return fe.createElement(h3,{key:ve.id,icons:D,index:ye,toast:ve,defaultRichColors:x,duration:(Ne=R?.duration)!=null?Ne:w,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:p,interacting:he,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:V.filter(Fe=>Fe.position==ve.position),heights:ge.filter(Fe=>Fe.position==ve.position),setHeights:de,expandByDefault:d,gap:O,expanded:Q,swipeDirections:n.swipeDirections})})):null}))}),g3=({...e})=>f.jsx(p3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(fz,{className:"size-4"}),info:f.jsx(Gz,{className:"size-4"}),warning:f.jsx(S_,{className:"size-4"}),error:f.jsx(dk,{className:"size-4"}),loading:f.jsx(ek,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function v3(){return f.jsx(g3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=J1,y3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(m=>{const y=r?.[m],v=l?.[m];if(y===null)return null;const b=fx(y)||fx(v);return s[m][b]}),d=r&&Object.entries(r).reduce((m,y)=>{let[v,b]=y;return b===void 0||(m[v]=b),m},{}),p=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((m,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(w=>{let[_,E]=w;return Array.isArray(E)?E.includes({...l,...d}[_]):{...l,...d}[_]===E})?[...m,v,b]:m},[]);return hx(e,u,p,r?.class,r?.className)},b3=y3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...s}){const l=i?bj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Xe(b3({variant:n,size:r,className:e})),...s})}function Xu({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function x3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function w3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Xe("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Ju({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(x3,{"data-slot":"dialog-portal",children:[f.jsx(w3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Xe("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none 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 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(aS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(C_,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function wl({className:e,...n}){return f.jsx(tS,{"data-slot":"dialog-title",className:Xe("text-lg leading-none font-semibold",e),...n})}let E_=null,su=[];function Sl(e){E_=e,su.forEach(n=>n())}function R_(e,n,r="",i="OK",s={}){return new Promise(l=>Sl({kind:"prompt",title:e,label:n,value:r,okLabel:i,...s,resolve:l}))}function _l(e,n,r="Confirm",i=!1){return new Promise(s=>Sl({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:s}))}function S3(){const e=S.useSyncExternalStore(r=>(su.push(r),()=>{su=su.filter(i=>i!==r)}),()=>E_);if(!e)return null;const n=()=>{Sl(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Xu,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Ju,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(_3,{m:e}):f.jsx(C3,{m:e})})})}function _3({m:e}){const n=S.useRef(null),r=m=>{Sl(null),e.resolve(m)},[i,s]=S.useState(""),[l,u]=S.useState(e.value),d=e.match===void 0||l.trim()===e.match,p=()=>{const m=l;if(d){if(!m.trim()){s("Give it a name."),n.current.focus();return}r(m)}};return f.jsxs(f.Fragment,{children:[f.jsx(wl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:m=>m.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:m=>{u(m.currentTarget.value),i&&s("")},onKeyDown:m=>m.key==="Enter"&&p()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:p,disabled:!d,children:e.okLabel})]})]})}function C3({m:e}){const n=r=>{Sl(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(wl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function E3(e){return Zt({queryKey:["projects"],queryFn:()=>ln("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function R3(e){return Zt({queryKey:["orgs"],queryFn:()=>ln("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function j3(e){return Zt({queryKey:["permissions",e],queryFn:()=>ln(`/api/p/${e}/permissions`),enabled:!!e})}function j_(e,n=!0){return Zt({queryKey:["shares",e],queryFn:()=>ln(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function T_(e){return Zt({queryKey:["admin","pending"],queryFn:()=>ln("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function O_(){const e=Ai();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function A_(e){return e.split("/").map(encodeURIComponent).join("/")}function T3(e){try{return decodeURIComponent(e)}catch{return e}}function M_(e){return e.split("/").map(T3).join("/")}const O3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function A3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function N_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function D_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),s=i?.get("v")||"",l=i?.get("connect")||"",u=M3(r===-1?e:e.slice(0,r),n);s&&(u.version=s),l&&(u.connect=l);const d={};for(const p of Gp){const m=i?.get(p);m&&(d[p]=m)}if(Zp(d)&&(u.filters=d),u.view==="history"&&!u.viewTarget){const p=(i?.get("path")||i?.get("prefix")||"").replace(/^\/+|\/+$/g,"");p&&(u.viewTarget=M_(p),u.queryTarget=!0)}return u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?M_(r):"",e}function M3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const s=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l),d=A3(u);return(O3.has(u)||d)&&(s.view=d||u,d&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function Wu(e,n,r){const i=A_(e),s=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+s:"/"+i+s}function Vn(e,n,r,i){let s=(n?"/"+n:"")+"/"+e;return r&&(s+="/"+A_(r.replace(/\/+$/,""))),s+(e==="history"?N_(i):"")}let Kp="POP";const zm=new Set;function z_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",z_()});function rn(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",z_())}function Yp(){return S.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function N3(){return Kp}function ul(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),rn(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function Ks({to:e}){return S.useEffect(()=>{rn(e,{replace:!0})},[e]),null}function k_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Un(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function D3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function z3(e,n){const r=[],i=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return s;i=d;let m;if(r.key&&r.debug&&(m=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-m)*100)/100,b=v/16,x=(w,_)=>{for(w=String(w);w.length<_;)w=" "+w;return w};console.info(`%c⏱ ${x(v,5)} /${x(y,5)} ms`,` - font-size: .6rem; - font-weight: bold; - color: hsl(${Math.max(0,Math.min(120-120*b,120))}deg 100% 31%);`,r?.key)}return s}}function ke(e,n,r,i){return{debug:()=>{var s;return(s=e?.debugAll)!=null?s:e[n]},key:!1,onChange:i}}function k3(e,n,r,i){const s=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(i),renderValue:s,getContext:ze(()=>[e,r,n,l],(u,d,p,m)=>({table:u,column:d,row:p,cell:m,getValue:m.getValue,renderValue:m.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function L3(e,n,r,i){var s,l;const d={...e._getDefaultColumnDef(),...n},p=d.accessorKey;let m=(s=(l=d.id)!=null?l:p?typeof String.prototype.replaceAll=="function"?p.replaceAll(".","_"):p.replace(/\./g,"_"):void 0)!=null?s:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:p&&(p.includes(".")?y=b=>{let x=b;for(const _ of p.split(".")){var w;x=(w=x)==null?void 0:w[_]}return x}:y=b=>b[d.accessorKey]),!m)throw new Error;let v={id:`${String(m)}`,accessorFn:y,parent:i,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let w=v.columns.flatMap(_=>_.getLeafColumns());return b(w)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const fn="debugHeaders";function gx(e,n,r){var i;let l={id:(i=r.id)!=null?i:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=p=>{p.subHeaders&&p.subHeaders.length&&p.subHeaders.map(d),u.push(p)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const $3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>{var l,u;const d=(l=i?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],p=(u=s?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],m=r.filter(v=>!(i!=null&&i.includes(v.id))&&!(s!=null&&s.includes(v.id)));return Qc(n,[...d,...m,...p],e)},ke(e.options,fn)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>(r=r.filter(l=>!(i!=null&&i.includes(l.id))&&!(s!=null&&s.includes(l.id))),Qc(n,r,e,"center")),ke(e.options,fn)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Qc(n,l,e,"left")},ke(e.options,fn)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Qc(n,l,e,"right")},ke(e.options,fn)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,fn)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,fn)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,fn)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,i)=>{var s,l,u,d,p,m;return[...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(p=(m=i[0])==null?void 0:m.headers)!=null?p:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,fn))}};function Qc(e,n,r,i){var s,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(w=>w.getIsVisible()).forEach(w=>{var _;(_=w.columns)!=null&&_.length&&d(w.columns,x+1)},0)};d(e);let p=[];const m=(b,x)=>{const w={depth:x,id:[i,`${x}`].filter(Boolean).join("_"),headers:[]},_=[];b.forEach(E=>{const R=[..._].reverse()[0],T=E.column.depth===w.depth;let O,D=!1;if(T&&E.column.parent?O=E.column.parent:(O=E.column,D=!0),R&&R?.column===O)R.subHeaders.push(E);else{const $=gx(r,O,{id:[i,x,O.id,E?.id].filter(Boolean).join("_"),isPlaceholder:D,placeholderId:D?`${_.filter(F=>F.column===O).length}`:void 0,depth:x,index:_.length});$.subHeaders.push(E),_.push($)}w.headers.push(E),E.headerGroup=w}),p.push(w),x>0&&m(_,x-1)},y=n.map((b,x)=>gx(r,b,{depth:u,index:x}));m(y,u-1),p.reverse();const v=b=>b.filter(w=>w.column.getIsVisible()).map(w=>{let _=0,E=0,R=[0];w.subHeaders&&w.subHeaders.length?(R=[],v(w.subHeaders).forEach(O=>{let{colSpan:D,rowSpan:$}=O;_+=D,R.push($)})):_=1;const T=Math.min(...R);return E=E+T,w.colSpan=_,w.rowSpan=E,{colSpan:_,rowSpan:E}});return v((s=(l=p[0])==null?void 0:l.headers)!=null?s:[]),p}const I3=(e,n,r,i,s,l,u)=>{let d={id:n,index:i,original:r,depth:s,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:p=>{if(d._valuesCache.hasOwnProperty(p))return d._valuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return d._valuesCache[p]=m.accessorFn(d.original,i),d._valuesCache[p]},getUniqueValues:p=>{if(d._uniqueValuesCache.hasOwnProperty(p))return d._uniqueValuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(d._uniqueValuesCache[p]=m.columnDef.getUniqueValues(d.original,i),d._uniqueValuesCache[p]):(d._uniqueValuesCache[p]=[d.getValue(p)],d._uniqueValuesCache[p])},renderValue:p=>{var m;return(m=d.getValue(p))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>z3(d.subRows,p=>p.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let p=[],m=d;for(;;){const y=m.getParentRow();if(!y)break;p.push(y),m=y}return p.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],p=>p.map(m=>k3(e,d,m,m.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],p=>p.reduce((m,y)=>(m[y.column.id]=y,m),{}),ke(e.options,"debugRows"))};for(let p=0;p{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},L_=(e,n,r)=>{var i,s;const l=r==null||(i=r.toString())==null?void 0:i.toLowerCase();return!!(!((s=e.getValue(n))==null||(s=s.toString())==null||(s=s.toLowerCase())==null)&&s.includes(l))};L_.autoRemove=e=>vr(e);const $_=(e,n,r)=>{var i;return!!(!((i=e.getValue(n))==null||(i=i.toString())==null)&&i.includes(r))};$_.autoRemove=e=>vr(e);const I_=(e,n,r)=>{var i;return((i=e.getValue(n))==null||(i=i.toString())==null?void 0:i.toLowerCase())===r?.toLowerCase()};I_.autoRemove=e=>vr(e);const P_=(e,n,r)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(r)};P_.autoRemove=e=>vr(e);const F_=(e,n,r)=>!r.some(i=>{var s;return!((s=e.getValue(n))!=null&&s.includes(i))});F_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const V_=(e,n,r)=>r.some(i=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(i)});V_.autoRemove=e=>vr(e)||!(e!=null&&e.length);const U_=(e,n,r)=>e.getValue(n)===r;U_.autoRemove=e=>vr(e);const H_=(e,n,r)=>e.getValue(n)==r;H_.autoRemove=e=>vr(e);const Qp=(e,n,r)=>{let[i,s]=r;const l=e.getValue(n);return l>=i&&l<=s};Qp.resolveFilterValue=e=>{let[n,r]=e,i=typeof n!="number"?parseFloat(n):n,s=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(i)?-1/0:i,u=r===null||Number.isNaN(s)?1/0:s;if(l>u){const d=l;l=u,u=d}return[l,u]};Qp.autoRemove=e=>vr(e)||vr(e[0])&&vr(e[1]);const ea={includesString:L_,includesStringSensitive:$_,equalsString:I_,arrIncludes:P_,arrIncludesAll:F_,arrIncludesSome:V_,equals:U_,weakEquals:H_,inNumberRange:Qp};function vr(e){return e==null||e===""}const F3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Un("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);return typeof i=="string"?ea.includesString:typeof i=="number"?ea.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?ea.equals:Array.isArray(i)?ea.arrIncludes:ea.weakEquals},e.getFilterFn=()=>{var r,i;return ed(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(i=n.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?r:ea[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,i,s;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((i=n.options.enableColumnFilters)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(i=>i.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,i;return(r=(i=n.getState().columnFilters)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(i=>{const s=e.getFilterFn(),l=i?.find(y=>y.id===e.id),u=Da(r,l?l.value:void 0);if(vx(s,u,e)){var d;return(d=i?.filter(y=>y.id!==e.id))!=null?d:[]}const p={id:e.id,value:u};if(l){var m;return(m=i?.map(y=>y.id===e.id?p:y))!=null?m:[]}return i!=null&&i.length?[...i,p]:[p]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),i=s=>{var l;return(l=Da(n,s))==null?void 0:l.filter(u=>{const d=r.find(p=>p.id===u.id);if(d){const p=d.getFilterFn();if(vx(p,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=n=>{var r,i;e.setColumnFilters(n?[]:(r=(i=e.initialState)==null?void 0:i.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function vx(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const V3=(e,n,r)=>r.reduce((i,s)=>{const l=s.getValue(e);return i+(typeof l=="number"?l:0)},0),U3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i>l||i===void 0&&l>=l)&&(i=l)}),i},H3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i=l)&&(i=l)}),i},B3=(e,n,r)=>{let i,s;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(i===void 0?u>=u&&(i=s=u):(i>u&&(i=u),s{let r=0,i=0;if(n.forEach(s=>{let l=s.getValue(e);l!=null&&(l=+l)>=l&&(++r,i+=l)}),r)return i/r},G3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!D3(r))return;if(r.length===1)return r[0];const i=Math.floor(r.length/2),s=r.sort((l,u)=>l-u);return r.length%2!==0?s[i]:(s[i-1]+s[i])/2},Z3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),K3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,Y3=(e,n)=>n.length,qh={sum:V3,min:U3,max:H3,extent:B3,mean:q3,median:G3,unique:Z3,uniqueCount:K3,count:Y3},Q3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Un("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(i=>i!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,i;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((i=n.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);if(typeof i=="number")return qh.sum;if(Object.prototype.toString.call(i)==="[object Date]")return qh.extent},e.getAggregationFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(i=n.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?r:qh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,i;e.setGrouping(n?[]:(r=(i=e.initialState)==null?void 0:i.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const i=n.getColumn(r);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[r]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,i)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var s;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((s=r.subRows)!=null&&s.length)}}};function X3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const i=e.filter(l=>!n.includes(l.id));return r==="remove"?i:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...i]}const J3={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Un("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[Js(n,r)],r=>r.findIndex(i=>i.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var i;return((i=Js(n,r)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=r=>{var i;const s=Js(n,r);return((i=s[s.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,i)=>s=>{let l=[];if(!(n!=null&&n.length))l=s;else{const u=[...n],d=[...s];for(;d.length&&u.length;){const p=u.shift(),m=d.findIndex(y=>y.id===p);m>-1&&l.push(d.splice(m,1)[0])}l=[...l,...d]}return X3(l,r,i)},ke(e.options,"debugTable"))}},Gh=()=>({left:[],right:[]}),W3={getInitialState:e=>({columnPinning:Gh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Un("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const i=e.getLeafColumns().map(s=>s.id).filter(Boolean);n.setColumnPinning(s=>{var l,u;if(r==="right"){var d,p;return{left:((d=s?.left)!=null?d:[]).filter(v=>!(i!=null&&i.includes(v))),right:[...((p=s?.right)!=null?p:[]).filter(v=>!(i!=null&&i.includes(v))),...i]}}if(r==="left"){var m,y;return{left:[...((m=s?.left)!=null?m:[]).filter(v=>!(i!=null&&i.includes(v))),...i],right:((y=s?.right)!=null?y:[]).filter(v=>!(i!=null&&i.includes(v)))}}return{left:((l=s?.left)!=null?l:[]).filter(v=>!(i!=null&&i.includes(v))),right:((u=s?.right)!=null?u:[]).filter(v=>!(i!=null&&i.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var s,l,u;return((s=i.columnDef.enablePinning)!=null?s:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:i,right:s}=n.getState().columnPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();return s?(r=(i=n.getState().columnPinning)==null||(i=i[s])==null?void 0:i.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,i,s)=>{const l=[...i??[],...s??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,i;return e.setColumnPinning(n?Gh():(r=(i=e.initialState)==null?void 0:i.columnPinning)!=null?r:Gh())},e.getIsSomeColumnsPinned=n=>{var r;const i=e.getState().columnPinning;if(!n){var s,l;return!!((s=i.left)!=null&&s.length||(l=i.right)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i)=>{const s=[...r??[],...i??[]];return n.filter(l=>!s.includes(l.id))},ke(e.options,"debugColumns"))}};function e4(e){return e||(typeof document<"u"?document:null)}const Xc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),t4={getDefaultColumnDef:()=>Xc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Un("columnSizing",e),onColumnSizingInfoChange:Un("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,i,s;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Xc.minSize,(i=l??e.columnDef.size)!=null?i:Xc.size),(s=e.columnDef.maxSize)!=null?s:Xc.maxSize)},e.getStart=ze(r=>[r,Js(n,r),n.getState().columnSizing],(r,i)=>i.slice(0,e.getIndex(r)).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,Js(n,r),n.getState().columnSizing],(r,i)=>i.slice(e.getIndex(r)+1).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:i,...s}=r;return s})},e.getCanResize=()=>{var r,i;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((i=n.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const i=s=>{if(s.subHeaders.length)s.subHeaders.forEach(i);else{var l;r+=(l=s.column.getSize())!=null?l:0}};return i(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const i=n.getColumn(e.column.id),s=i?.getCanResize();return l=>{if(!i||!s||(l.persist==null||l.persist(),Kh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[i.id,i.getSize()]],p=Kh(l)?Math.round(l.touches[0].clientX):l.clientX,m={},y=(R,T)=>{typeof T=="number"&&(n.setColumnSizingInfo(O=>{var D,$;const F=n.options.columnResizeDirection==="rtl"?-1:1,U=(T-((D=O?.startOffset)!=null?D:0))*F,V=Math.max(U/(($=O?.startSize)!=null?$:0),-.999999);return O.columnSizingStart.forEach(pe=>{let[ge,de]=pe;m[ge]=Math.round(Math.max(de+de*V,0)*100)/100}),{...O,deltaOffset:U,deltaPercentage:V}}),(n.options.columnResizeMode==="onChange"||R==="end")&&n.setColumnSizing(O=>({...O,...m})))},v=R=>y("move",R),b=R=>{y("end",R),n.setColumnSizingInfo(T=>({...T,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=e4(r),w={moveHandler:R=>v(R.clientX),upHandler:R=>{x?.removeEventListener("mousemove",w.moveHandler),x?.removeEventListener("mouseup",w.upHandler),b(R.clientX)}},_={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),v(R.touches[0].clientX),!1),upHandler:R=>{var T;x?.removeEventListener("touchmove",_.moveHandler),x?.removeEventListener("touchend",_.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),b((T=R.touches[0])==null?void 0:T.clientX)}},E=n4()?{passive:!1}:!1;Kh(l)?(x?.addEventListener("touchmove",_.moveHandler,E),x?.addEventListener("touchend",_.upHandler,E)):(x?.addEventListener("mousemove",w.moveHandler,E),x?.addEventListener("mouseup",w.upHandler,E)),n.setColumnSizingInfo(R=>({...R,startOffset:p,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Zh():(r=e.initialState.columnSizingInfo)!=null?r:Zh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0}}};let Jc=null;function n4(){if(typeof Jc=="boolean")return Jc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Jc=e,Jc}function Kh(e){return e.type==="touchstart"}const r4={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Un("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(i=>({...i,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,i;const s=e.columns;return(r=s.length?s.some(l=>l.getIsVisible()):(i=n.getState().columnVisibility)==null?void 0:i[e.id])!=null?r:!0},e.getCanHide=()=>{var r,i;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((i=n.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(i=>i.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,i,s)=>[...r,...i,...s],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,i)=>ze(()=>[i(),i().filter(s=>s.getIsVisible()).map(s=>s.id).join("_")],s=>s.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var i;e.setColumnVisibility(r?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=r=>{var i;r=(i=r)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((s,l)=>({...s,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var i;e.toggleAllColumnsVisible((i=r.target)==null?void 0:i.checked)}}};function Js(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const a4={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},i4={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Un("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const i=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,i,s,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((i=n.options.enableGlobalFilter)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ea.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:i}=e.options;return ed(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[i])!=null?n:ea[i]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},o4={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Un("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var s,l;e.setExpanded(i?{}:(s=(l=e.initialState)==null?void 0:l.expanded)!=null?s:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(s=>!s.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");i=Math.max(i,u.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(i=>{var s;const l=i===!0?!0:!!(i!=null&&i[e.id]);let u={};if(i===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=i,r=(s=r)!=null?s:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...p}=u;return p}return i})},e.getIsExpanded=()=>{var r;const i=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:i===!0||i?.[e.id])},e.getCanExpand=()=>{var r,i,s;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((i=n.options.enableExpanding)!=null?i:!0)&&!!((s=e.subRows)!=null&&s.length)},e.getIsAllParentsExpanded=()=>{let r=!0,i=e;for(;r&&i.parentId;)i=n.getRow(i.parentId,!0),r=i.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},km=0,Lm=10,Yh=()=>({pageIndex:km,pageSize:Lm}),s4={getInitialState:e=>({...e,pagination:{...Yh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Un("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=i=>{const s=l=>Da(i,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(s)},e.resetPagination=i=>{var s;e.setPagination(i?Yh():(s=e.initialState.pagination)!=null?s:Yh())},e.setPageIndex=i=>{e.setPagination(s=>{let l=Da(i,s.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...s,pageIndex:l}})},e.resetPageIndex=i=>{var s,l;e.setPageIndex(i?km:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?s:km)},e.resetPageSize=i=>{var s,l;e.setPageSize(i?Lm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?s:Lm)},e.setPageSize=i=>{e.setPagination(s=>{const l=Math.max(1,Da(i,s.pageSize)),u=s.pageSize*s.pageIndex,d=Math.floor(u/l);return{...s,pageIndex:d,pageSize:l}})},e.setPageCount=i=>e.setPagination(s=>{var l;let u=Da(i,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...s,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],i=>{let s=[];return i&&i>0&&(s=[...new Array(i)].fill(null).map((l,u)=>u)),s},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,s=e.getPageCount();return s===-1?!0:s===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},Qh=()=>({top:[],bottom:[]}),l4={getInitialState:e=>({rowPinning:Qh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Un("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,i,s)=>{const l=i?e.getLeafRows().map(p=>{let{id:m}=p;return m}):[],u=s?e.getParentRows().map(p=>{let{id:m}=p;return m}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(p=>{var m,y;if(r==="bottom"){var v,b;return{top:((v=p?.top)!=null?v:[]).filter(_=>!(d!=null&&d.has(_))),bottom:[...((b=p?.bottom)!=null?b:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)]}}if(r==="top"){var x,w;return{top:[...((x=p?.top)!=null?x:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)],bottom:((w=p?.bottom)!=null?w:[]).filter(_=>!(d!=null&&d.has(_)))}}return{top:((m=p?.top)!=null?m:[]).filter(_=>!(d!=null&&d.has(_))),bottom:((y=p?.bottom)!=null?y:[]).filter(_=>!(d!=null&&d.has(_)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:i,enablePinning:s}=n.options;return typeof i=="function"?i(e):(r=i??s)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:i,bottom:s}=n.getState().rowPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();if(!s)return-1;const l=(r=s==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(i=l?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,i;return e.setRowPinning(n?Qh():(r=(i=e.initialState)==null?void 0:i.rowPinning)!=null?r:Qh())},e.getIsSomeRowsPinned=n=>{var r;const i=e.getState().rowPinning;if(!n){var s,l;return!!((s=i.top)!=null&&s.length||(l=i.bottom)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e._getPinnedRows=(n,r,i)=>{var s;return((s=e.options.keepPinnedRows)==null||s?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:i}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,i)=>{const s=new Set([...r??[],...i??[]]);return n.filter(l=>!s.has(l.id))},ke(e.options,"debugRows"))}},c4={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Un("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const i={...r},s=e.getPreGroupedRowModel().flatRows;return n?s.forEach(l=>{l.getCanSelect()&&(i[l.id]=!0)}):s.forEach(l=>{delete i[l.id]}),i})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const i=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),s={...r};return e.getRowModel().rows.forEach(l=>{$m(s,l.id,i,!0,e)}),s}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let i=!!(n.length&&Object.keys(r).length);return i&&n.some(s=>s.getCanSelect()&&!r[s.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(s=>s.getCanSelect()),{rowSelection:r}=e.getState();let i=!!n.length;return i&&n.some(s=>!r[s.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,i)=>{const s=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!s,e.getCanSelect()&&s===r)return l;const d={...l};return $m(d,e.id,r,(u=i?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Xp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return i=>{var s;r&&e.toggleSelected((s=i.target)==null?void 0:s.checked)}}}},$m=(e,n,r,i,s)=>{var l;const u=s.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],i&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>$m(e,d.id,r,i,s))};function Xh(e,n){const r=e.getState().rowSelection,i=[],s={},l=function(u,d){return u.map(p=>{var m;const y=Xp(p,r);if(y&&(i.push(p),s[p.id]=p),(m=p.subRows)!=null&&m.length&&(p={...p,subRows:l(p.subRows)}),y)return p}).filter(Boolean)};return{rows:l(n.rows),flatRows:i,rowsById:s}}function Xp(e,n){var r;return(r=n[e.id])!=null?r:!1}function Im(e,n,r){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let s=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!s)&&(u.getCanSelect()&&(Xp(u,n)?l=!0:s=!1),u.subRows&&u.subRows.length)){const d=Im(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),s=!1)}}),s?"all":l?"some":!1}const Pm=/([0-9]+)/gm,u4=(e,n,r)=>B_(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),d4=(e,n,r)=>B_(Ba(e.getValue(r)),Ba(n.getValue(r))),f4=(e,n,r)=>Jp(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),h4=(e,n,r)=>Jp(Ba(e.getValue(r)),Ba(n.getValue(r))),m4=(e,n,r)=>{const i=e.getValue(r),s=n.getValue(r);return i>s?1:iJp(e.getValue(r),n.getValue(r));function Jp(e,n){return e===n?0:e>n?1:-1}function Ba(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function B_(e,n){const r=e.split(Pm).filter(Boolean),i=n.split(Pm).filter(Boolean);for(;r.length&&i.length;){const s=r.shift(),l=i.shift(),u=parseInt(s,10),d=parseInt(l,10),p=[u,d].sort();if(isNaN(p[0])){if(s>l)return 1;if(l>s)return-1;continue}if(isNaN(p[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-i.length}const Us={alphanumeric:u4,alphanumericCaseSensitive:d4,text:f4,textCaseSensitive:h4,datetime:m4,basic:p4},g4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Un("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const s of r){const l=s?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Us.datetime;if(typeof l=="string"&&(i=!0,l.split(Pm).length>1))return Us.alphanumeric}return i?Us.text:Us.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(i=n.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?r:Us[e.columnDef.sortingFn]},e.toggleSorting=(r,i)=>{const s=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),p=u?.findIndex(x=>x.id===e.id);let m=[],y,v=l?r:s==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&i?d?y="toggle":y="add":u!=null&&u.length&&p!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||s||(y="remove")),y==="add"){var b;m=[...u,{id:e.id,desc:v}],m.splice(0,m.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?m=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?m=u.filter(x=>x.id!==e.id):m=[{id:e.id,desc:v}];return m})},e.getFirstSortDir=()=>{var r,i;return((r=(i=e.columnDef.sortDescFirst)!=null?i:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var i,s;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((i=n.options.enableSortingRemoval)==null||i)&&(!(r&&(s=n.options.enableMultiRemove)!=null)||s)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,i;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((i=n.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,i;return(r=(i=e.columnDef.enableMultiSort)!=null?i:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const i=(r=n.getState().sorting)==null?void 0:r.find(s=>s.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,i;return(r=(i=n.getState().sorting)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return i=>{r&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,i;e.setSorting(n?[]:(r=(i=e.initialState)==null?void 0:i.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},v4=[$3,r4,J3,W3,P3,F3,a4,i4,g4,Q3,o4,s4,l4,c4,t4];function y4(e){var n,r;const i=[...v4,...(n=e._features)!=null?n:[]];let s={_features:i};const l=s._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(s)),{}),u=b=>s.options.mergeOptions?s.options.mergeOptions(l,b):{...l,...b};let p={...{},...(r=e.initialState)!=null?r:{}};s._features.forEach(b=>{var x;p=(x=b.getInitialState==null?void 0:b.getInitialState(p))!=null?x:p});const m=[];let y=!1;const v={_features:i,options:{...l,...e},initialState:p,_queue:b=>{m.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{s.setState(s.initialState)},setOptions:b=>{const x=Da(b,s.options);s.options=u(x)},getState:()=>s.options.state,setState:b=>{s.options.onStateChange==null||s.options.onStateChange(b)},_getRowId:(b,x,w)=>{var _;return(_=s.options.getRowId==null?void 0:s.options.getRowId(b,x,w))!=null?_:`${w?[w.id,x].join("."):x}`},getCoreRowModel:()=>(s._getCoreRowModel||(s._getCoreRowModel=s.options.getCoreRowModel(s)),s._getCoreRowModel()),getRowModel:()=>s.getPaginationRowModel(),getRow:(b,x)=>{let w=(x?s.getPrePaginationRowModel():s.getRowModel()).rowsById[b];if(!w&&(w=s.getCoreRowModel().rowsById[b],!w))throw new Error;return w},_getDefaultColumnDef:ze(()=>[s.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:w=>{const _=w.header.column.columnDef;return _.accessorKey?_.accessorKey:_.accessorFn?_.id:null},cell:w=>{var _,E;return(_=(E=w.renderValue())==null||E.toString==null?void 0:E.toString())!=null?_:null},...s._features.reduce((w,_)=>Object.assign(w,_.getDefaultColumnDef==null?void 0:_.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>s.options.columns,getAllColumns:ze(()=>[s._getColumnDefs()],b=>{const x=function(w,_,E){return E===void 0&&(E=0),w.map(R=>{const T=L3(s,R,E,_),O=R;return T.columns=O.columns?x(O.columns,T,E+1):[],T})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[s.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[s.getAllFlatColumns()],b=>b.reduce((x,w)=>(x[w.id]=w,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[s.getAllColumns(),s._getOrderColumnsFn()],(b,x)=>{let w=b.flatMap(_=>_.getLeafColumns());return x(w)},ke(e,"debugColumns")),getColumn:b=>s._getAllFlatColumnsById()[b]};Object.assign(s,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},i=function(s,l,u){l===void 0&&(l=0);const d=[];for(let m=0;me._autoResetPageIndex()))}function G_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const i=e.getState().sorting,s=[],l=i.filter(p=>{var m;return(m=e.getColumn(p.id))==null?void 0:m.getCanSort()}),u={};l.forEach(p=>{const m=e.getColumn(p.id);m&&(u[p.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const d=p=>{const m=p.map(y=>({...y}));return m.sort((y,v)=>{for(let x=0;x{var v;s.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),m};return{rows:d(r.rows),flatRows:s,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Fm(e,n){return e?b4(e)?S.createElement(e,n):e:null}function b4(e){return x4(e)||typeof e=="function"||w4(e)}function x4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function w4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Z_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=S.useState(()=>({current:y4(n)})),[i,s]=S.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...i,...e.state},onStateChange:u=>{s(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var Cl=e=>e.type==="checkbox",za=e=>e instanceof Date,an=e=>e==null;const Wp=e=>typeof e=="object";var jt=e=>!an(e)&&!Array.isArray(e)&&Wp(e)&&!za(e),S4=e=>jt(e)&&e.target?Cl(e.target)?e.target.checked:e.target.value:e,_4=(e,n)=>n.split(".").some((r,i,s)=>!isNaN(Number(r))&&e.has(s.slice(0,i).join("."))),K_=e=>{const n=e.constructor&&e.constructor.prototype;return jt(n)&&n.hasOwnProperty("isPrototypeOf")},td=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(td&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(jt(e)&&K_(e)))return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=Mt(e[s]));return i}const jo={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},gr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},mr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Y_="root",eg=["__proto__","constructor","prototype"],C4=/^\w*$/;var El=e=>C4.test(e),gt=e=>e===void 0;const E4=/[.[\]'"]/;var nd=e=>e.split(E4).filter(Boolean),Se=(e,n,r)=>{if(!n||!jt(e))return r;const i=El(n)?[n]:nd(n);if(i.some(l=>eg.includes(l)))return r;const s=i.reduce((l,u)=>an(l)?void 0:l[u],e);return gt(s)||s===e?gt(e[n])?r:e[n]:s},Rr=e=>typeof e=="boolean",er=e=>typeof e=="function",lt=(e,n,r)=>{let i=-1;const s=El(n)?[n]:nd(n),l=s.length,u=l-1;for(;++i{const s={};for(const l in e)Object.defineProperty(s,l,{get:()=>{const u=l;return n._proxyFormState[u]!==gr.all&&(n._proxyFormState[u]=!i||gr.all),e[u]}});return s};const T4=td?fe.useLayoutEffect:fe.useEffect;var sn=e=>typeof e=="string",O4=(e,n,r,i,s)=>sn(e)?(i&&n.watch.add(e),Se(r,e,s)):Array.isArray(e)?e.map(l=>(i&&n.watch.add(l),Se(r,l))):(i&&(n.watchAll=!0),r),Vm=e=>an(e)||!Wp(e);const yx=(e,n)=>n.length===0&&!Array.isArray(e)&&!K_(e);function jr(e,n,r=new WeakMap){if(e===n)return!0;if(Vm(e)||Vm(n))return Object.is(e,n);if(za(e)&&za(n))return Object.is(e.getTime(),n.getTime());const i=Object.keys(e),s=Object.keys(n);if(i.length!==s.length)return!1;if(yx(e,i)||yx(n,s))return Object.is(e,n);if(!i.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of i){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const p=n[u];if(za(d)&&za(p)||(jt(d)||Array.isArray(d))&&(jt(p)||Array.isArray(p))?!jr(d,p,r):!Object.is(d,p))return!1}}return!0}var Wc=e=>({isOnSubmit:!e||e===gr.onSubmit,isOnBlur:e===gr.onBlur,isOnChange:e===gr.onChange,isOnAll:e===gr.all,isOnTouch:e===gr.onTouched}),Jh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const i of n.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Ws=(e,n,r,i)=>{for(const s of r||Object.keys(e)){const l=Se(e,s);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],s)&&!i)return!0;if(u.ref&&n(u.ref,u.name)&&!i)return!0;if(Ws(d,n))break}else if(jt(d)&&Ws(d,n))break}}};var bx=(e,n,r)=>{const i=Se(e,r),s=Array.isArray(i)?i:[];return lt(s,Y_,n[r]),lt(e,r,s),e},nn=e=>jt(e)&&!Object.keys(e).length,tg=e=>e.type==="file",Su=e=>{if(!td)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},ng=e=>e.type==="radio",_u=e=>e instanceof RegExp,rg=(e,n,r,i,s)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:s||!0}}:{};const xx={value:!1,isValid:!1},wx={value:!0,isValid:!0};var Q_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?wx:{value:e[0].value,isValid:!0}:wx:xx}return xx};const Sx={isValid:!1,value:null};var X_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,Sx):Sx;function _x(e,n,r="validate"){if(sn(e)||Array.isArray(e)&&e.every(sn)||Rr(e)&&!e)return{type:r,message:sn(e)?e:"",ref:n}}var To=e=>jt(e)&&!_u(e)?e:{value:e,message:""},Cx=async(e,n,r,i,s,l)=>{const{ref:u,refs:d,required:p,maxLength:m,minLength:y,min:v,max:b,pattern:x,validate:w,name:_,valueAsNumber:E,mount:R}=e._f,T=Se(r,_);if(!R||n.has(_))return{};const O=d?d[0]:u,D=Q=>{if(s&&O.reportValidity){const re=Rr(Q)?"":Q||"";d?d.forEach(he=>he.setCustomValidity(re)):O.setCustomValidity(re),O.reportValidity()}},$={},F=ng(u),U=Cl(u),V=F||U,pe=(E||tg(u))&>(u.value)&>(T)||Su(u)&&u.value===""||T===""||Array.isArray(T)&&!T.length,ge=rg.bind(null,_,i,$),de=(Q,re,he,xe=mr.maxLength,N=mr.minLength)=>{const Z=Q?re:he;$[_]={type:Q?xe:N,message:Z,ref:u,...ge(Q?xe:N,Z)}};if(l?!Array.isArray(T)||!T.length:p&&(!V&&(pe||an(T))||Rr(T)&&!T||U&&!Q_(d).isValid||F&&!X_(d).isValid)){const{value:Q,message:re}=sn(p)?{value:!!p,message:p}:To(p);if(Q&&($[_]={type:mr.required,message:re,ref:O,...ge(mr.required,re)},!i))return D(re),$}if(!pe&&(!an(v)||!an(b))){let Q,re;const he=To(b),xe=To(v);if(!an(T)&&!isNaN(T)){const N=u.valueAsNumber||T&&+T;an(he.value)||(Q=N>he.value),an(xe.value)||(re=Nnew Date(new Date().toDateString()+" "+ne),ie=u.type=="time",te=u.type=="week";sn(he.value)&&T&&(Q=ie?Z(T)>Z(he.value):te?T>he.value:N>new Date(he.value)),sn(xe.value)&&T&&(re=ie?Z(T)+Q.value,xe=!an(re.value)&&T.length<+re.value;if((he||xe)&&(de(he,Q.message,re.message),!i))return D($[_].message),$}if(x&&!pe&&sn(T)){const{value:Q,message:re}=To(x);if(_u(Q)&&!T.match(Q)&&($[_]={type:mr.pattern,message:re,ref:u,...ge(mr.pattern,re)},!i))return D(re),$}if(w){if(er(w)){const Q=await w(T,r),re=_x(Q,O);if(re&&($[_]={...re,...ge(mr.validate,re.message)},!i))return D(re.message),$}else if(jt(w)){let Q={};for(const re in w){if(!nn(Q)&&!i)break;const he=_x(await w[re](T,r),O,re);he&&(Q={...he,...ge(re,he.message)},D(he.message),i&&($[_]=Q))}if(!nn(Q)&&($[_]={ref:O,...Q},!i))return $}}return D(!0),$},lu=e=>Array.isArray(e)?e:[e],J_=e=>Array.isArray(e)?e.filter(Boolean):[];function A4(e,n){const r=n.slice(0,-1).length;let i=0;for(;ieg.includes(String(u))))return e;const i=r.length===1?e:A4(e,r),s=r.length-1,l=r[s];return i&&delete i[l],s!==0&&(jt(i)&&nn(i)||Array.isArray(i)&&M4(i))&&Nt(e,r.slice(0,-1)),e}const W_=e=>{const n={};for(const r of Object.keys(e))if(Wp(e[r])&&e[r]!==null&&!za(e[r])){const i=W_(e[r]);for(const s of Object.keys(i))n[`${r}.${s}`]=i[s]}else n[r]=e[r];return n},N4=fe.createContext(null);N4.displayName="HookFormContext";var Ex=()=>{let e=[];return{get observers(){return e},next:s=>{for(const l of e)l.next&&l.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(l=>l!==s)}}),unsubscribe:()=>{e=[]}}};function eC(e,n){const r={};for(const i in e)if(e.hasOwnProperty(i)){const s=e[i],l=n[i];if(s&&jt(s)&&l){const u=eC(s,l);jt(u)&&(r[i]=u)}else e[i]&&(r[i]=l)}return r}var tC=e=>e.type==="select-multiple",D4=e=>ng(e)||Cl(e),Wh=e=>Su(e)&&e.isConnected,z4=e=>{for(const n in e)if(er(e[n]))return!0;return!1};function nC(e){return Array.isArray(e)||jt(e)&&!z4(e)}function rC(e){return!!(e&&"_f"in e)}function aC(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Um(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Hm(e,n={},r){for(const i in e){const s=e[i],l=r&&r[i];nC(s)&&(!Array.isArray(s)||!rC(l))?(n[i]=Array.isArray(s)?[]:{},Hm(s,n[i],l),aC(n[i])&&Um(n,i)):gt(s)||(n[i]=!0)}return n}function bi(e,n,r,i){r||(r=Hm(n,{},i));for(const s in e){const l=e[s],u=i&&i[s];nC(l)&&(!Array.isArray(l)||!rC(u))?(gt(n)||Vm(r[s])?r[s]=Hm(l,Array.isArray(l)?[]:{},u):bi(l,an(n)?{}:n[s],r[s],u),aC(r[s])&&Um(r,s)):jr(l,n[s])?Um(r,s):r[s]=!0}return r}var iC=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:i})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&sn(e)?new Date(e):i?i(e):e;function Rx(e){const n=e.ref;return tg(n)?n.files:ng(n)?X_(e.refs).value:tC(n)?[...n.selectedOptions].map(({value:r})=>r):Cl(n)?Q_(e.refs).value:iC(gt(n.value)?e.ref.value:n.value,e)}var k4=(e,n,r,i)=>{const s={};for(const l of e){const u=Se(n,l);u&<(s,l,u._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:i}},Hs=e=>gt(e)?e:_u(e)?e.source:jt(e)?_u(e.value)?e.value.source:e.value:e;const jx="AsyncFunction";var L4=e=>{if(!e||!e.validate)return!1;if(er(e.validate))return e.validate.constructor.name===jx;if(jt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===jx)return!0}return!1},$4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Tx(e,n,r){const i=Se(e,r);if(i||El(r))return{error:i,name:r};const s=r.split(".");for(;s.length;){const l=s.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};s.pop()}return{name:r}}var I4=(e,n,r,i)=>{r(e);const{name:s,...l}=e,u=Object.keys(l);return!u.length||i&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!i||gr.all))},P4=(e,n,r)=>!e||!n||e===n||lu(e).some(i=>i&&(r?i===n||i.startsWith(n+"."):i.startsWith(n)||n.startsWith(i))),F4=(e,n,r,i,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(n||e):(r?i.isOnBlur:s.isOnBlur)?!e:(r?i.isOnChange:s.isOnChange)?e:!0,V4=(e,n)=>!J_(Se(e,n)).length&&Nt(e,n);const U4={mode:gr.onSubmit,reValidateMode:gr.onChange,shouldFocusError:!0},em="form",oC={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function H4(e={}){let n={...U4,...e},r={...Mt(oC),isLoading:er(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},i={},s=jt(n.defaultValues)||jt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(s),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const p={},m={};let y=0,v=Wc(n.mode),b=Wc(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},w={...x};let _={...w};const E={array:Ex(),state:Ex()};let R=0;const T=n.criteriaMode===gr.all,O=(A,z)=>I=>{clearTimeout(m[A]),m[A]=setTimeout(z,I)},D=async A=>{if(!u.keepIsValid&&!n.disabled&&(w.isValid||_.isValid||A)){const z=++R;let I;n.resolver?(I=nn((await he()).errors),z===R&&$()):I=await Z({fields:i,onlyCheckValid:!0,eventType:jo.VALID}),z===R&&I!==r.isValid&&E.state.next({isValid:I})}},$=(A,z)=>{!n.disabled&&(w.isValidating||w.validatingFields||_.isValidating||_.validatingFields)&&((A||Array.from(d.mount)).forEach(I=>{I&&(z?lt(r.validatingFields,I,z):Nt(r.validatingFields,I))}),E.state.next({validatingFields:r.validatingFields,isValidating:!nn(r.validatingFields)}))},F=()=>{r.dirtyFields=bi(s,l,void 0,i)},U=(A,z=[],I,J,ce=!0,me=!0)=>{if(J&&I&&!n.disabled){if(u.action=!0,me&&Array.isArray(Se(i,A))){const be=I(Se(i,A),J.argA,J.argB);ce&<(i,A,be)}if(me&&Array.isArray(Se(r.errors,A))){const be=I(Se(r.errors,A),J.argA,J.argB);ce&<(r.errors,A,be),V4(r.errors,A)}if((w.touchedFields||_.touchedFields)&&me&&Array.isArray(Se(r.touchedFields,A))){const be=I(Se(r.touchedFields,A),J.argA,J.argB);ce&<(r.touchedFields,A,be)}(w.dirtyFields||_.dirtyFields)&&F(),E.state.next({name:A,isDirty:te(A,z),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else lt(l,A,z)},V=(A,z)=>{lt(r.errors,A,z),r.errors={...r.errors},E.state.next({errors:r.errors})},pe=A=>{r.errors=A,E.state.next({errors:r.errors,isValid:!1})},ge=A=>{const z=El(A)?[A]:nd(A);let I=l,J=s;for(let ce=0;ce{const ce=Se(i,A);if(ce){if(ge(A))return;const me=gt(Se(l,A)),be=Se(l,A,gt(I)?Se(s,A):I);gt(be)||J&&J.defaultChecked||z?lt(l,A,z?be:Rx(ce._f)):M(A,be),u.mount&&!u.action&&(D(),me&&r.isDirty&&(w.isDirty||_.isDirty)&&(te()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&me&&!gt(Se(l,A))&&Jh(A,d)&&(u.watch=!0))}},Q=(A,z,I,J,ce)=>{let me=!1,be=!1;const we={name:A};if(!n.disabled||J===!0){if(!I||J){const je=jr(Se(s,A),z);(w.isDirty||_.isDirty)&&(be=r.isDirty,r.isDirty=we.isDirty=!je||te(),me=be!==we.isDirty),be=!!Se(r.dirtyFields,A),je!==r.isDirty?r.dirtyFields=bi(s,l,void 0,i):je?Nt(r.dirtyFields,A):lt(r.dirtyFields,A,!0),we.dirtyFields=r.dirtyFields,me=me||(w.dirtyFields||_.dirtyFields)&&be!==!je}if(I){const je=Se(r.touchedFields,A);je||(lt(r.touchedFields,A,I),we.touchedFields=r.touchedFields,me=me||(w.touchedFields||_.touchedFields)&&je!==I)}me&&ce&&E.state.next(we)}return me?we:{}},re=(A,z,I,J)=>{const ce=Se(r.errors,A),me=(w.isValid||_.isValid)&&Rr(z)&&r.isValid!==z;if(n.delayError&&I?(p[A]=O(A,()=>V(A,I)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A],I?lt(r.errors,A,I):Nt(r.errors,A),r.errors={...r.errors}),(I?!jr(ce,I):ce)||!nn(J)||me){const be={...J,...me&&Rr(z)?{isValid:z}:{},errors:r.errors,name:A};r={...r,...be},E.state.next(be)}},he=async A=>($(A,!0),await n.resolver(l,n.context,k4(A||d.mount,i,n.criteriaMode,n.shouldUseNativeValidation))),xe=async A=>{const{errors:z}=await he(A);if($(A),A){for(const I of A){const J=Se(z,I);J?d.array.has(I)&&jt(J)&&!Object.keys(J).some(ce=>!Number.isNaN(Number(ce)))?bx(r.errors,{[I]:J},I):lt(r.errors,I,J):Nt(r.errors,I)}r.errors={...r.errors}}else r.errors=z;return z},N=async({name:A,eventType:z})=>{if(e.validate){const I=await e.validate({formValues:l,formState:r,name:A,eventType:z});if(jt(I))for(const J in I){const ce=I[J];ce&&ft(`${em}.${J}`,{message:sn(ce.message)?ce.message:"",type:ce.type||mr.validate})}else sn(I)||!I?ft(em,{message:I||"",type:mr.validate}):Fe(em);return I}return!0},Z=async({fields:A,onlyCheckValid:z,name:I,eventType:J,context:ce={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(ce.runRootValidation=!0,!await N({name:I,eventType:J})&&(ce.valid=!1,z)))return ce.valid;for(const me in A){const be=A[me];if(be){const{_f:we,...je}=be;if(we){const et=d.array.has(we.name),St=be._f&&L4(be._f),Qt=w.validatingFields||w.isValidating||_.validatingFields||_.isValidating;St&&Qt&&$([we.name],!0);const zt=await Cx(be,d.disabled,l,T,n.shouldUseNativeValidation&&!z,et);if(St&&Qt&&$([we.name]),zt[we.name]&&(ce.valid=!1,z)||(!z&&(Se(zt,we.name)?et?bx(r.errors,zt,we.name):lt(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!nn(je)&&await Z({context:ce,onlyCheckValid:z,fields:je,name:me,eventType:J})}}return ce.valid},ie=()=>{for(const A of d.unMount){const z=Se(i,A);z&&(z._f.refs?z._f.refs.every(I=>!Wh(I)):!Wh(z._f.ref))&&Kt(A)}d.unMount=new Set},te=(A,z)=>(A&&z&<(l,A,z),!jr(u.mount?l:s,s)),ne=(A,z,I)=>O4(A,d,{...u.mount?l:gt(z)?s:sn(A)?{[A]:z}:z},I,z),k=A=>J_(Se(u.mount?l:s,A,n.shouldUnregister?Se(s,A,[]):[])),M=(A,z,I={},J=!1,ce=!1)=>{const me=Se(i,A);let be=z;if(me){const we=me._f;we&&(!we.disabled&<(l,A,iC(z,we)),be=Su(we.ref)&&an(z)?"":z,tC(we.ref)?[...we.ref.options].forEach(je=>je.selected=be.includes(je.value)):we.refs?Cl(we.ref)?we.refs.forEach(je=>{(!je.defaultChecked||!je.disabled)&&(Array.isArray(be)?je.checked=!!be.find(et=>et===je.value):je.checked=be===je.value||!!be)}):we.refs.forEach(je=>je.checked=je.value===be):tg(we.ref)?we.ref.value="":(we.ref.value=be,!we.ref.type&&!ce&&E.state.next({name:A,values:J?l:Mt(l)})))}(I.shouldDirty||I.shouldTouch)&&Q(A,be,I.shouldTouch,I.shouldDirty,!ce),I.shouldValidate&&ye(A,{delayError:I.delayError})},B=(A,z,I,J=!1,ce=!1)=>{for(const me in z){if(!z.hasOwnProperty(me))return;const be=z[me],we=A+"."+me,je=Se(i,we);(d.array.has(A)||jt(be)||je&&!je._f)&&!za(be)?B(we,be,I,J,ce):M(we,be,I,J,ce)}},X=(A,z,I,J,ce=!1)=>{const me=Se(i,A),be=d.array.has(A),we=J?z:Mt(z),je=Se(l,A),et=jr(je,we);if(et||lt(l,A,we),be)E.array.next({name:A,values:J?l:Mt(l)}),(w.isDirty||w.dirtyFields||_.isDirty||_.dirtyFields)&&I.shouldDirty&&(F(),ce||E.state.next({name:A,dirtyFields:r.dirtyFields,isDirty:te(A,we)}));else{const St=Array.isArray(we)&&!we.length||nn(we);!me||me._f||an(we)||St?M(A,we,I,J,ce):B(A,we,I,J,ce)}if(!et&&!ce){const St=Jh(A,d),Qt=J?l:Mt(l);E.state.next({...St&&r,name:u.mount||St?A:void 0,values:Qt})}},K=(A,z,I={})=>X(A,z,I,!1),le=(A,z={})=>{const I=er(A)?A(l):A;if(!jr(l,I)){l={...l,...I};const J=W_(I);for(const ce of d.mount)ce in J&&X(ce,J[ce],z,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),z.shouldValidate&&D()}},ee=async A=>{u.mount=!0;const z=A.target;let I=z.name,J=!0;const ce=Se(i,I),me=be=>{J=Number.isNaN(be)||za(be)&&isNaN(be.getTime())||jr(be,Se(l,I,be))};if(ce){let be,we;const je=z.type?Rx(ce._f):S4(A),et=A.type===jo.BLUR||A.type===jo.FOCUS_OUT,St=!$4(ce._f)&&!e.validate&&!n.resolver&&!Se(r.errors,I)&&!ce._f.deps,Qt=St||F4(et,Se(r.touchedFields,I),r.isSubmitted,b,v),zt=Jh(I,d,et);if(lt(l,I,je),et){if(!z||!z.readOnly){ce._f.onBlur&&ce._f.onBlur(A);const yt=p[I];yt&&yt(0)}}else ce._f.onChange&&ce._f.onChange(A);const Me=Q(I,je,et),ht=!nn(Me)||zt;if(!et&&E.state.next({name:I,type:A.type,...y?{values:Mt(l)}:{}}),Qt)return(!St||!r.isValid)&&(w.isValid||_.isValid)&&(n.mode==="onBlur"?et&&D():et||D()),ht&&E.state.next({name:I,...zt?{}:Me});if(!n.resolver&&e.validate&&await N({name:I,eventType:A.type}),!et&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await he([I]);if($([I]),me(je),!J){!nn(Me)&&E.state.next(Me);return}const Ht=Tx(r.errors,i,I),lr=Tx(yt,i,Ht.name||I);be=lr.error,I=lr.name,we=nn(yt)}else $([I],!0),be=(await Cx(ce,d.disabled,l,T,n.shouldUseNativeValidation))[I],$([I]),me(je),J&&(be?we=!1:(w.isValid||_.isValid)&&(we=await Z({fields:i,onlyCheckValid:!0,name:I,eventType:A.type})));J&&(ce._f.deps&&(!Array.isArray(ce._f.deps)||ce._f.deps.length>0)&&ye(ce._f.deps),re(I,we,be,Me))}},ve=(A,z)=>{if(Se(r.errors,z)&&A.focus)return A.focus(),1},ye=async(A,z={})=>{let I,J;const ce=lu(A);if(n.resolver){const me=await xe(gt(A)?A:ce);I=nn(me),J=A?!ce.some(be=>Se(me,be)):I}else A?(J=(await Promise.all(ce.map(async me=>{const be=Se(i,me);return await Z({fields:be&&be._f?{[me]:be}:be,eventType:jo.TRIGGER})}))).every(Boolean),!(!J&&!r.isValid)&&D()):J=I=await Z({fields:i,name:A,eventType:jo.TRIGGER});if(z.delayError&&n.delayError&&sn(A)){const me=Se(r.errors,A);me?(Nt(r.errors,A),p[A]=O(A,()=>V(A,me)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A])}return E.state.next({...!sn(A)||(w.isValid||_.isValid)&&I!==r.isValid?{}:{name:A},...n.resolver||!A?{isValid:I}:{},errors:r.errors}),z.shouldFocus&&!J&&Ws(i,ve,A?ce:d.mount),J},Ne=(A,z)=>{let I={...u.mount?l:s};return z&&(I=eC(z.dirtyFields?r.dirtyFields:r.touchedFields,I)),gt(A)?I:sn(A)?Se(I,A):A.map(J=>Se(I,J))},Ie=(A,z)=>({invalid:!!Se((z||r).errors,A),isDirty:!!Se((z||r).dirtyFields,A),error:Se((z||r).errors,A),isValidating:!!Se(r.validatingFields,A),isTouched:!!Se((z||r).touchedFields,A)}),Fe=A=>{const z=A?lu(A):void 0;z?.forEach(I=>Nt(r.errors,I)),z?z.forEach(I=>{E.state.next({name:I,errors:r.errors})}):E.state.next({errors:{}})},ft=(A,z,I)=>{const J=(Se(i,A,{_f:{}})._f||{}).ref,ce=Se(r.errors,A)||{},{ref:me,message:be,type:we,...je}=ce;lt(r.errors,A,{...je,...z,ref:J}),E.state.next({name:A,errors:r.errors,isValid:!1}),I&&I.shouldFocus&&J&&J.focus&&J.focus()},Qe=(A,z)=>{if(er(A)){y++;const{unsubscribe:I}=E.state.subscribe({next:ce=>"values"in ce&&A(ce.values||ne(void 0,z),ce)});let J=!1;return{unsubscribe:()=>{J||(J=!0,y--,I())}}}return ne(A,z,!0)},vn=A=>{var z;const I=!!(!((z=A.formState)===null||z===void 0)&&z.values);I&&y++;const{unsubscribe:J}=E.state.subscribe({next:me=>{if(P4(A.name,me.name,A.exact)&&I4(me,A.formState||w,zr,A.reRenderRoot)){const be={...l};A.callback({values:be,...r,...me,defaultValues:s})}}});if(!I)return J;let ce=!1;return()=>{ce||(ce=!0,y--,J())}},un=A=>(u.mount=!0,_={..._,...A.formState},vn({...A,formState:{...x,...A.formState}})),Kt=(A,z={})=>{for(const I of A?lu(A):d.mount)d.mount.delete(I),d.array.delete(I),z.keepValue||(Nt(i,I),Nt(l,I)),!z.keepError&&Nt(r.errors,I),!z.keepDirty&&Nt(r.dirtyFields,I),!z.keepTouched&&Nt(r.touchedFields,I),!z.keepIsValidating&&Nt(r.validatingFields,I),!n.shouldUnregister&&!z.keepDefaultValue&&Nt(s,I);E.state.next({values:Mt(l)}),E.state.next({...r,...z.keepDirty?{isDirty:te()}:{}}),!z.keepIsValid&&D()},ir=({disabled:A,name:z})=>{if(Rr(A)&&u.mount||A||d.disabled.has(z)){const ce=d.disabled.has(z)!==!!A;A?d.disabled.add(z):d.disabled.delete(z),ce&&u.mount&&!u.action&&D()}},Dt=(A,z={})=>{let I=Se(i,A);const J=Rr(z.disabled)||Rr(n.disabled),ce=!d.registerName.has(A)&&I&&I._f&&!I._f.mount;return lt(i,A,{...I||{},_f:{...I&&I._f?I._f:{ref:{name:A}},name:A,mount:!0,...z}}),d.mount.add(A),I&&!ce?ir({disabled:Rr(z.disabled)?z.disabled:n.disabled,name:A}):de(A,!0,z.value),{...J?{disabled:z.disabled||n.disabled}:{},...n.progressive?{required:!!z.required,min:Hs(z.min),max:Hs(z.max),minLength:Hs(z.minLength),maxLength:Hs(z.maxLength),pattern:Hs(z.pattern)}:{},name:A,onChange:ee,onBlur:ee,ref:me=>{if(me){d.registerName.add(A),Dt(A,z),d.registerName.delete(A),I=Se(i,A);const be=gt(me.value)&&me.querySelectorAll&&me.querySelectorAll("input,select,textarea")[0]||me,we=D4(be),je=I._f.refs||[];if(we?je.find(et=>et===be):be===I._f.ref)return;lt(i,A,{_f:{...I._f,...we?{refs:[...je.filter(Wh),be,...Array.isArray(Se(s,A))?[{}]:[]],ref:{type:be.type,name:A}}:{ref:be}}}),de(A,!1,void 0,be)}else I=Se(i,A,{}),I._f&&(I._f.mount=!1),(n.shouldUnregister||z.shouldUnregister)&&!(_4(d.array,A)&&u.action)&&d.unMount.add(A)}}},or=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&Ws(i,ve,d.mount),Dr=A=>{Rr(A)&&(E.state.next({disabled:A}),Ws(i,(z,I)=>{const J=Se(i,I);J&&(z.disabled=J._f.disabled||A,Array.isArray(J._f.refs)&&J._f.refs.forEach(ce=>{ce.disabled=J._f.disabled||A}))},0,!1))},Tt=(A,z)=>async I=>{let J;I&&(I.preventDefault&&I.preventDefault(),I.persist&&I.persist());let ce=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:me,values:be}=await he();$(),r.errors=me,ce=Mt(be)}else await Z({fields:i,eventType:jo.SUBMIT});if(d.disabled.size)for(const me of d.disabled)Nt(ce,me);if(Nt(r.errors,Y_),nn(r.errors)){E.state.next({errors:{}});try{await A(ce,I)}catch(me){J=me}}else z&&await z({...r.errors},I),or(),setTimeout(or);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:nn(r.errors)&&!J,submitCount:r.submitCount+1,errors:r.errors}),J)throw J},Hn=(A,z={})=>{Se(i,A)&&(gt(z.defaultValue)?K(A,Mt(Se(s,A))):(K(A,z.defaultValue),lt(s,A,Mt(z.defaultValue))),z.keepTouched||Nt(r.touchedFields,A),z.keepDirty||(Nt(r.dirtyFields,A),r.isDirty=z.defaultValue?te(A,Mt(Se(s,A))):te()),z.keepError||(Nt(r.errors,A),w.isValid&&D()),E.state.next({...r}))},wt=(A,z={})=>{const I=A?Mt(A):s,J=Mt(I),ce=nn(A),me=J,be=i;if(z.keepDefaultValues||(s=I),!z.keepValues){if(z.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(bi(s,l,void 0,be))]);for(const je of Array.from(we)){const et=Se(r.dirtyFields,je),St=Se(l,je),Qt=Se(me,je);et&&!gt(St)?lt(me,je,St):!et&&!gt(Qt)&&K(je,Qt)}}else{if(td&>(A))for(const we of d.mount){const je=Se(i,we);if(je&&je._f){const et=Array.isArray(je._f.refs)?je._f.refs[0]:je._f.ref;if(Su(et)){const St=et.closest("form");if(St){St.reset();break}}}}if(z.keepFieldsRef)for(const we of d.mount)K(we,Se(me,we));else i={}}if(n.shouldUnregister){if(l=z.keepDefaultValues?Mt(s):{},z.keepFieldsRef)for(const we of d.mount)lt(l,we,Se(me,we))}else l=Mt(me);E.array.next({values:{...me}}),E.state.next({name:void 0,type:void 0,values:{...me}})}d={mount:z.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!w.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!n.shouldUnregister&&!nn(me),u.watch=!!n.shouldUnregister,u.keepIsValid=!!z.keepIsValid,u.action=!1,z.keepErrors||(r.errors={}),E.state.next({submitCount:z.keepSubmitCount?r.submitCount:0,isDirty:ce?!1:z.keepDirty?r.isDirty:z.keepValues?te():!!(z.keepDefaultValues&&!jr(A,s)),isSubmitted:z.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:ce?{}:z.keepDirtyValues?z.keepDefaultValues&&l?bi(s,l,void 0,be):r.dirtyFields:z.keepDefaultValues&&A?bi(s,A,void 0,be):z.keepDirty?r.dirtyFields:{},touchedFields:z.keepTouched?r.touchedFields:{},errors:z.keepErrors?r.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},oa=(A,z)=>wt(er(A)?A(l):A,{...n.resetOptions,...z}),yn=(A,z={})=>{const I=Se(i,A),J=I&&I._f;if(J){const ce=J.refs?J.refs[0]:J.ref;ce.focus&&setTimeout(()=>{ce.focus(),z.shouldSelect&&er(ce.select)&&ce.select()})}},zr=A=>{const{name:z,type:I,values:J,...ce}=A;r={...r,...ce}},bn={control:{register:Dt,unregister:Kt,getFieldState:Ie,handleSubmit:Tt,setError:ft,_subscribe:vn,_runSchema:he,_updateIsValidating:$,_focusError:or,_getWatch:ne,_getDirty:te,_setValid:D,_setFieldArray:U,_setDisabledField:ir,_setErrors:pe,_getFieldArray:k,_reset:wt,_resetDefaultValues:()=>er(n.defaultValues)&&n.defaultValues().then(A=>{oa(A,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:ie,_disableForm:Dr,_subjects:E,_proxyFormState:w,get _fields(){return i},get _formValues(){return l},get _state(){return u},set _state(A){u=A},get _defaultValues(){return s},get _names(){return d},set _names(A){d=A},get _formState(){return r},get _options(){return n},set _options(A){n={...n,...A},v=Wc(n.mode),b=Wc(n.reValidateMode)}},subscribe:un,trigger:ye,register:Dt,handleSubmit:Tt,watch:Qe,setValue:K,setValues:le,getValues:Ne,reset:oa,resetField:Hn,resetDefaultValues:(A,z={})=>{if(s=Mt(A),!z.keepDirty){const I=bi(s,l,void 0,i);r.dirtyFields=I,r.isDirty=!nn(I)}z.keepIsValid||D(),E.state.next({...r,defaultValues:s})},clearErrors:Fe,unregister:Kt,setError:ft,setFocus:yn,getFieldState:Ie};return{...bn,formControl:bn}}function ag(e={}){const n=fe.useRef(void 0),r=fe.useRef(void 0),i=fe.useRef(e.formControl),[s,l]=fe.useState(()=>({...Mt(oC),isLoading:er(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:er(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)n.current={...e.formControl,formState:s},e.defaultValues&&!er(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...p}=H4(e);n.current={...p,formState:s}}const u=n.current.control;return u._options=e,T4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(p=>({...p,isReady:!0})),u._formState.isReady=!0,d},[u]),fe.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),fe.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),fe.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),fe.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),fe.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==s.isDirty&&u._subjects.state.next({isDirty:d})}},[u,s.isDirty]),fe.useEffect(()=>{var d;e.values&&!jr(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(p=>({...p}))):u._resetDefaultValues()},[u,e.values]),fe.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=fe.useMemo(()=>j4(s,u),[u,s]),n.current}const Ox=(e,n,r)=>{if(e&&"reportValidity"in e){const i=Se(r,n);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Bm=(e,n)=>{for(const r in n.fields){const i=n.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ox(i.ref,r,e):i&&i.refs&&i.refs.forEach(s=>Ox(s,r,e))}},Ax=(e,n)=>{n.shouldUseNativeValidation&&Bm(e,n);const r={};for(const i in e){const s=Se(n.fields,i),l=Object.assign(e[i]||{},{ref:s&&s.ref});if(B4(n.names||Object.keys(e),i)){const u=Object.assign({},Se(r,i));lt(u,"root",l),lt(r,i,u)}else lt(r,i,l)}return r},B4=(e,n)=>{const r=Mx(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Mx(i).match(`^${r}\\.\\d+`))};function Mx(e){return e.replace(/[\[\]]/g,"")}var Nx;function ue(e,n,r){function i(d,p){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:p,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,p);const m=u.prototype,y=Object.keys(m);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Io extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class sC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(Nx=globalThis).__zod_globalConfig??(Nx.__zod_globalConfig={});const ig=globalThis.__zod_globalConfig;function ji(e){return ig}function lC(e){const n=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,s])=>n.indexOf(+i)===-1).map(([i,s])=>s)}function qm(e,n){return typeof n=="bigint"?n.toString():n}function og(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function sg(e){return e==null}function lg(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Dx=Symbol("evaluating");function ct(e,n,r){let i;Object.defineProperty(e,n,{get(){if(i!==Dx)return i===void 0&&(i=Dx,i=r()),i},set(s){Object.defineProperty(e,n,{value:s})},configurable:!0})}function Li(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xa(...e){const n={};for(const r of e){const i=Object.getOwnPropertyDescriptors(r);Object.assign(n,i)}return Object.defineProperties({},n)}function zx(e){return JSON.stringify(e)}function q4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const cC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Cu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const G4=og(()=>{if(ig.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function dl(e){if(Cu(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(Cu(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function uC(e){return dl(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Z4=new Set(["string","number","symbol"]);function rd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ja(e,n,r){const i=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(i._zod.parent=e),i}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function K4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function Y4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function Q4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function X4(e,n){if(!dl(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=Xa(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return Li(this,"shape",l),l}});return Ja(e,s)}function J4(e,n){if(!dl(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n};return Li(this,"shape",i),i}});return Ja(e,r)}function W4(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n._zod.def.shape};return Li(this,"shape",i),i},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ja(e,r)}function e5(e,n,r){const s=n._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xa(n._zod.def,{get shape(){const d=n._zod.def.shape,p={...d};if(r)for(const m in r){if(!(m in d))throw new Error(`Unrecognized key: "${m}"`);r[m]&&(p[m]=e?new e({type:"optional",innerType:d[m]}):d[m])}else for(const m in d)p[m]=e?new e({type:"optional",innerType:d[m]}):d[m];return Li(this,"shape",p),p},checks:[]});return Ja(n,u)}function t5(e,n,r){const i=Xa(n._zod.def,{get shape(){const s=n._zod.def.shape,l={...s};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:s[u]}))}else for(const u in s)l[u]=new e({type:"nonoptional",innerType:s[u]});return Li(this,"shape",l),l}});return Ja(n,i)}function Do(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function eu(e){return typeof e=="string"?e:e?.message}function Ti(e,n,r){const i=e.message?e.message:eu(e.inst?._zod.def?.error?.(e))??eu(n?.error?.(e))??eu(r.customError?.(e))??eu(r.localeError?.(e))??"Invalid input",{inst:s,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=i,n?.reportInput&&(d.input=u),d}function cg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function fl(...e){const[n,r,i]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:i}:{...n}}const fC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,qm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ug=ue("$ZodError",fC),ad=ue("$ZodError",fC,{Parent:Error});function r5(e,n=r=>r.message){const r={},i=[];for(const s of e.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(n(s))):i.push(n(s));return{formErrors:i,fieldErrors:r}}function a5(e,n=r=>r.message){const r={_errors:[]},i=(s,l=[])=>{for(const u of s.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>i({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let p=r,m=0;for(;m(n,r,i,s)=>{const l=i?{...i,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Io;if(u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw cC(d,s?.callee),d}return u.value},i5=id(ad),od=e=>async(n,r,i,s)=>{const l=i?{...i,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw cC(d,s?.callee),d}return u.value},o5=od(ad),sd=e=>(n,r,i)=>{const s=i?{...i,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Io;return l.issues.length?{success:!1,error:new(e??ug)(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},s5=sd(ad),ld=e=>async(n,r,i)=>{const s=i?{...i,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},s);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},l5=ld(ad),c5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return id(e)(n,r,s)},u5=e=>(n,r,i)=>id(e)(n,r,i),d5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return od(e)(n,r,s)},f5=e=>async(n,r,i)=>od(e)(n,r,i),h5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,s)},m5=e=>(n,r,i)=>sd(e)(n,r,i),p5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return ld(e)(n,r,s)},g5=e=>async(n,r,i)=>ld(e)(n,r,i),v5=/^[cC][0-9a-z]{6,}$/,y5=/^[0-9a-z]+$/,b5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,x5=/^[0-9a-vA-V]{20}$/,w5=/^[A-Za-z0-9]{27}$/,S5=/^[a-zA-Z0-9_-]{21}$/,_5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,C5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,E5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,R5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function j5(){return new RegExp(R5,"u")}const T5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,O5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,A5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,M5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,N5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hC=/^[A-Za-z0-9_-]*$/,D5=/^https?$/,z5=/^\+[1-9]\d{6,14}$/,mC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",k5=new RegExp(`^${mC}$`);function pC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function L5(e){return new RegExp(`^${pC(e)}$`)}function $5(e){const n=pC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${n}(?:${r.join("|")})`;return new RegExp(`^${mC}T(?:${i})$`)}const I5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},P5=/^(?:true|false)$/i,F5=/^[^A-Z]*$/,V5=/^[^a-z]*$/,Nr=ue("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),U5=ue("$ZodCheckMaxLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const s=i.value;if(s.length<=n.maximum)return;const u=cg(s);i.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),H5=ue("$ZodCheckMinLength",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>s&&(i._zod.bag.minimum=n.minimum)}),e._zod.check=i=>{const s=i.value;if(s.length>=n.minimum)return;const u=cg(s);i.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),B5=ue("$ZodCheckLengthEquals",(e,n)=>{var r;Nr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag;s.minimum=n.length,s.maximum=n.length,s.length=n.length}),e._zod.check=i=>{const s=i.value,l=s.length;if(l===n.length)return;const u=cg(s),d=l>n.length;i.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!n.abort})}}),cd=ue("$ZodCheckStringFormat",(e,n)=>{var r,i;Nr.init(e,n),e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:n.format,input:s.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(i=e._zod).check??(i.check=()=>{})}),q5=ue("$ZodCheckRegex",(e,n)=>{cd.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),G5=ue("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=F5),cd.init(e,n)}),Z5=ue("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=V5),cd.init(e,n)}),K5=ue("$ZodCheckIncludes",(e,n)=>{Nr.init(e,n);const r=rd(n.includes),i=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=i,e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(i)}),e._zod.check=s=>{s.value.includes(n.includes,n.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:s.value,inst:e,continue:!n.abort})}}),Y5=ue("$ZodCheckStartsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`^${rd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.startsWith(n.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:i.value,inst:e,continue:!n.abort})}}),Q5=ue("$ZodCheckEndsWith",(e,n)=>{Nr.init(e,n);const r=new RegExp(`.*${rd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.endsWith(n.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:i.value,inst:e,continue:!n.abort})}}),X5=ue("$ZodCheckOverwrite",(e,n)=>{Nr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class J5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const i=n.split(` -`).filter(u=>u),s=Math.min(...i.map(u=>u.length-u.trimStart().length)),l=i.map(u=>u.slice(s)).map(u=>" ".repeat(this.indent*2)+u);for(const u of l)this.content.push(u)}compile(){const n=Function,r=this?.args,s=[...(this?.content??[""]).map(l=>` ${l}`)];return new n(...r,s.join(` -`))}}const W5={major:4,minor:4,patch:3},Pt=ue("$ZodType",(e,n)=>{var r;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=W5;const i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(const s of i)for(const l of s._zod.onattach)l(e);if(i.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(u,d,p)=>{let m=Do(u),y;for(const v of d){if(v._zod.def.when){if(n5(u)||!v._zod.def.when(u))continue}else if(m)continue;const b=u.issues.length,x=v._zod.check(u);if(x instanceof Promise&&p?.async===!1)throw new Io;if(y||x instanceof Promise)y=(y??Promise.resolve()).then(async()=>{await x,u.issues.length!==b&&(m||(m=Do(u,b)))});else{if(u.issues.length===b)continue;m||(m=Do(u,b))}}return y?y.then(()=>u):u},l=(u,d,p)=>{if(Do(u))return u.aborted=!0,u;const m=s(d,i,p);if(m instanceof Promise){if(p.async===!1)throw new Io;return m.then(y=>e._zod.parse(y,p))}return e._zod.parse(m,p)};e._zod.run=(u,d)=>{if(d.skipChecks)return e._zod.parse(u,d);if(d.direction==="backward"){const m=e._zod.parse({value:u.value,issues:[]},{...d,skipChecks:!0});return m instanceof Promise?m.then(y=>l(y,u,d)):l(m,u,d)}const p=e._zod.parse(u,d);if(p instanceof Promise){if(d.async===!1)throw new Io;return p.then(m=>s(m,i,d))}return s(p,i,d)}}ct(e,"~standard",()=>({validate:s=>{try{const l=s5(e,s);return l.success?{value:l.data}:{issues:l.error?.issues}}catch{return l5(e,s).then(u=>u.success?{value:u.data}:{issues:u.error?.issues})}},vendor:"zod",version:1}))}),dg=ue("$ZodString",(e,n)=>{Pt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??I5(e._zod.bag),e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),xt=ue("$ZodStringFormat",(e,n)=>{cd.init(e,n),dg.init(e,n)}),e6=ue("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=C5),xt.init(e,n)}),t6=ue("$ZodUUID",(e,n)=>{if(n.version){const i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(i===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=kx(i))}else n.pattern??(n.pattern=kx());xt.init(e,n)}),n6=ue("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=E5),xt.init(e,n)}),r6=ue("$ZodURL",(e,n)=>{xt.init(e,n),e._zod.check=r=>{try{const i=r.value.trim();if(!n.normalize&&n.protocol?.source===D5.source&&!/^https?:\/\//i.test(i)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!n.abort});return}const s=new URL(i);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(s.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:r.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:r.value,inst:e,continue:!n.abort})),n.normalize?r.value=s.href:r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!n.abort})}}}),a6=ue("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=j5()),xt.init(e,n)}),i6=ue("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=S5),xt.init(e,n)}),o6=ue("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=v5),xt.init(e,n)}),s6=ue("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=y5),xt.init(e,n)}),l6=ue("$ZodULID",(e,n)=>{n.pattern??(n.pattern=b5),xt.init(e,n)}),c6=ue("$ZodXID",(e,n)=>{n.pattern??(n.pattern=x5),xt.init(e,n)}),u6=ue("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=w5),xt.init(e,n)}),d6=ue("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=$5(n)),xt.init(e,n)}),f6=ue("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=k5),xt.init(e,n)}),h6=ue("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=L5(n)),xt.init(e,n)}),m6=ue("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=_5),xt.init(e,n)}),p6=ue("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=T5),xt.init(e,n),e._zod.bag.format="ipv4"}),g6=ue("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=O5),xt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!n.abort})}}}),v6=ue("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=A5),xt.init(e,n)}),y6=ue("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=M5),xt.init(e,n),e._zod.check=r=>{const i=r.value.split("/");try{if(i.length!==2)throw new Error;const[s,l]=i;if(!l)throw new Error;const u=Number(l);if(`${u}`!==l)throw new Error;if(u<0||u>128)throw new Error;new URL(`http://[${s}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!n.abort})}}});function gC(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const b6=ue("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=N5),xt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{gC(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!n.abort})}});function x6(e){if(!hC.test(e))return!1;const n=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),r=n.padEnd(Math.ceil(n.length/4)*4,"=");return gC(r)}const w6=ue("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=hC),xt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{x6(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!n.abort})}}),S6=ue("$ZodE164",(e,n)=>{n.pattern??(n.pattern=z5),xt.init(e,n)});function _6(e,n=null){try{const r=e.split(".");if(r.length!==3)return!1;const[i]=r;if(!i)return!1;const s=JSON.parse(atob(i));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||n&&(!("alg"in s)||s.alg!==n))}catch{return!1}}const C6=ue("$ZodJWT",(e,n)=>{xt.init(e,n),e._zod.check=r=>{_6(r.value,n.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!n.abort})}}),E6=ue("$ZodBoolean",(e,n)=>{Pt.init(e,n),e._zod.pattern=P5,e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=!!r.value}catch{}const s=r.value;return typeof s=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),r}}),R6=ue("$ZodUnknown",(e,n)=>{Pt.init(e,n),e._zod.parse=r=>r}),j6=ue("$ZodNever",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Lx(e,n,r){e.issues.length&&n.issues.push(...dC(r,e.issues)),n.value[r]=e.value}const T6=ue("$ZodArray",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=Array(s.length);const l=[];for(let u=0;uLx(m,r,u))):Lx(p,r,u)}return l.length?Promise.all(l).then(()=>r):r}});function Eu(e,n,r,i,s,l){const u=r in i;if(e.issues.length){if(s&&l&&!u)return;n.issues.push(...dC(r,e.issues))}if(!u&&!s){e.issues.length||n.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?u&&(n.value[r]=void 0):n.value[r]=e.value}function vC(e){const n=Object.keys(e.shape);for(const i of n)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=K4(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(r)}}function yC(e,n,r,i,s,l){const u=[],d=s.keySet,p=s.catchall._zod,m=p.def.type,y=p.optin==="optional",v=p.optout==="optional";for(const b in n){if(b==="__proto__"||d.has(b))continue;if(m==="never"){u.push(b);continue}const x=p.run({value:n[b],issues:[]},i);x instanceof Promise?e.push(x.then(w=>Eu(w,r,b,n,y,v))):Eu(x,r,b,n,y,v)}return u.length&&r.issues.push({code:"unrecognized_keys",keys:u,input:n,inst:l}),e.length?Promise.all(e).then(()=>r):r}const O6=ue("$ZodObject",(e,n)=>{if(Pt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const d=n.shape;Object.defineProperty(n,"shape",{get:()=>{const p={...d};return Object.defineProperty(n,"shape",{value:p}),p}})}const i=og(()=>vC(n));ct(e._zod,"propValues",()=>{const d=n.shape,p={};for(const m in d){const y=d[m]._zod;if(y.values){p[m]??(p[m]=new Set);for(const v of y.values)p[m].add(v)}}return p});const s=Cu,l=n.catchall;let u;e._zod.parse=(d,p)=>{u??(u=i.value);const m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),d;d.value={};const y=[],v=u.shape;for(const b of u.keys){const x=v[b],w=x._zod.optin==="optional",_=x._zod.optout==="optional",E=x._zod.run({value:m[b],issues:[]},p);E instanceof Promise?y.push(E.then(R=>Eu(R,d,b,m,w,_))):Eu(E,d,b,m,w,_)}return l?yC(y,m,d,p,i.value,e):y.length?Promise.all(y).then(()=>d):d}}),A6=ue("$ZodObjectJIT",(e,n)=>{O6.init(e,n);const r=e._zod.parse,i=og(()=>vC(n)),s=b=>{const x=new J5(["shape","payload","ctx"]),w=i.value,_=O=>{const D=zx(O);return`shape[${D}]._zod.run({ value: input[${D}], issues: [] }, ctx)`};x.write("const input = payload.value;");const E=Object.create(null);let R=0;for(const O of w.keys)E[O]=`key_${R++}`;x.write("const newResult = {};");for(const O of w.keys){const D=E[O],$=zx(O),F=b[O],U=F?._zod?.optin==="optional",V=F?._zod?.optout==="optional";x.write(`const ${D} = ${_(O)};`),U&&V?x.write(` - if (${D}.issues.length) { - if (${$} in input) { - payload.issues = payload.issues.concat(${D}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${$}, ...iss.path] : [${$}] - }))); - } - } - - if (${D}.value === undefined) { - if (${$} in input) { - newResult[${$}] = undefined; - } - } else { - newResult[${$}] = ${D}.value; - } - - `):U?x.write(` - if (${D}.issues.length) { - payload.issues = payload.issues.concat(${D}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${$}, ...iss.path] : [${$}] - }))); - } - - if (${D}.value === undefined) { - if (${$} in input) { - newResult[${$}] = undefined; - } - } else { - newResult[${$}] = ${D}.value; - } - - `):x.write(` - const ${D}_present = ${$} in input; - if (${D}.issues.length) { - payload.issues = payload.issues.concat(${D}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${$}, ...iss.path] : [${$}] - }))); - } - if (!${D}_present && !${D}.issues.length) { - payload.issues.push({ - code: "invalid_type", - expected: "nonoptional", - input: undefined, - path: [${$}] - }); - } - - if (${D}_present) { - if (${D}.value === undefined) { - newResult[${$}] = undefined; - } else { - newResult[${$}] = ${D}.value; - } - } - - `)}x.write("payload.value = newResult;"),x.write("return payload;");const T=x.compile();return(O,D)=>T(b,O,D)};let l;const u=Cu,d=!ig.jitless,m=d&&G4.value,y=n.catchall;let v;e._zod.parse=(b,x)=>{v??(v=i.value);const w=b.value;return u(w)?d&&m&&x?.async===!1&&x.jitless!==!0?(l||(l=s(n.shape)),b=l(b,x),y?yC([],w,b,x,v,e):b):r(b,x):(b.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),b)}});function $x(e,n,r,i){for(const l of e)if(l.issues.length===0)return n.value=l.value,n;const s=e.filter(l=>!Do(l));return s.length===1?(n.value=s[0].value,s[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(l=>l.issues.map(u=>Ti(u,i,ji())))}),n)}const M6=ue("$ZodUnion",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.options.some(i=>i._zod.optin==="optional")?"optional":void 0),ct(e._zod,"optout",()=>n.options.some(i=>i._zod.optout==="optional")?"optional":void 0),ct(e._zod,"values",()=>{if(n.options.every(i=>i._zod.values))return new Set(n.options.flatMap(i=>Array.from(i._zod.values)))}),ct(e._zod,"pattern",()=>{if(n.options.every(i=>i._zod.pattern)){const i=n.options.map(s=>s._zod.pattern);return new RegExp(`^(${i.map(s=>lg(s.source)).join("|")})$`)}});const r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(i,s)=>{if(r)return r(i,s);let l=!1;const u=[];for(const d of n.options){const p=d._zod.run({value:i.value,issues:[]},s);if(p instanceof Promise)u.push(p),l=!0;else{if(p.issues.length===0)return p;u.push(p)}}return l?Promise.all(u).then(d=>$x(d,i,e,s)):$x(u,i,e,s)}}),N6=ue("$ZodIntersection",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value,l=n.left._zod.run({value:s,issues:[]},i),u=n.right._zod.run({value:s,issues:[]},i);return l instanceof Promise||u instanceof Promise?Promise.all([l,u]).then(([p,m])=>Ix(r,p,m)):Ix(r,l,u)}});function Gm(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(dl(e)&&dl(n)){const r=Object.keys(n),i=Object.keys(e).filter(l=>r.indexOf(l)!==-1),s={...e,...n};for(const l of i){const u=Gm(e[l],n[l]);if(!u.valid)return{valid:!1,mergeErrorPath:[l,...u.mergeErrorPath]};s[l]=u.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let i=0;id.l&&d.r).map(([d])=>d);if(l.length&&s&&e.issues.push({...s,keys:l}),Do(e))return e;const u=Gm(n.value,r.value);if(!u.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`);return e.value=u.data,e}const D6=ue("$ZodEnum",(e,n)=>{Pt.init(e,n);const r=lC(n.entries),i=new Set(r);e._zod.values=i,e._zod.pattern=new RegExp(`^(${r.filter(s=>Z4.has(typeof s)).map(s=>typeof s=="string"?rd(s):s.toString()).join("|")})$`),e._zod.parse=(s,l)=>{const u=s.value;return i.has(u)||s.issues.push({code:"invalid_value",values:r,input:u,inst:e}),s}}),z6=ue("$ZodTransform",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new sC(e.constructor.name);const s=n.transform(r.value,r);if(i.async)return(s instanceof Promise?s:Promise.resolve(s)).then(u=>(r.value=u,r.fallback=!0,r));if(s instanceof Promise)throw new Io;return r.value=s,r.fallback=!0,r}});function Px(e,n){return n===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const bC=ue("$ZodOptional",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${lg(r.source)})?$`):void 0}),e._zod.parse=(r,i)=>{if(n.innerType._zod.optin==="optional"){const s=r.value,l=n.innerType._zod.run(r,i);return l instanceof Promise?l.then(u=>Px(u,s)):Px(l,s)}return r.value===void 0?r:n.innerType._zod.run(r,i)}}),k6=ue("$ZodExactOptional",(e,n)=>{bC.init(e,n),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,i)=>n.innerType._zod.run(r,i)}),L6=ue("$ZodNullable",(e,n)=>{Pt.init(e,n),ct(e._zod,"optin",()=>n.innerType._zod.optin),ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${lg(r.source)}|null)$`):void 0}),ct(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,i)=>r.value===null?r:n.innerType._zod.run(r,i)}),$6=ue("$ZodDefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);if(r.value===void 0)return r.value=n.defaultValue,r;const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Fx(l,n)):Fx(s,n)}});function Fx(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const I6=ue("$ZodPrefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>(i.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,i))}),P6=ue("$ZodNonOptional",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>{const r=n.innerType._zod.values;return r?new Set([...r].filter(i=>i!==void 0)):void 0}),e._zod.parse=(r,i)=>{const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Vx(l,e)):Vx(s,e)}});function Vx(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const F6=ue("$ZodCatch",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",ct(e._zod,"optout",()=>n.innerType._zod.optout),ct(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>(r.value=l.value,l.issues.length&&(r.value=n.catchValue({...r,error:{issues:l.issues.map(u=>Ti(u,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=s.value,s.issues.length&&(r.value=n.catchValue({...r,error:{issues:s.issues.map(l=>Ti(l,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)}}),V6=ue("$ZodPipe",(e,n)=>{Pt.init(e,n),ct(e._zod,"values",()=>n.in._zod.values),ct(e._zod,"optin",()=>n.in._zod.optin),ct(e._zod,"optout",()=>n.out._zod.optout),ct(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,i)=>{if(i.direction==="backward"){const l=n.out._zod.run(r,i);return l instanceof Promise?l.then(u=>tu(u,n.in,i)):tu(l,n.in,i)}const s=n.in._zod.run(r,i);return s instanceof Promise?s.then(l=>tu(l,n.out,i)):tu(s,n.out,i)}});function tu(e,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}const U6=ue("$ZodReadonly",(e,n)=>{Pt.init(e,n),ct(e._zod,"propValues",()=>n.innerType._zod.propValues),ct(e._zod,"values",()=>n.innerType._zod.values),ct(e._zod,"optin",()=>n.innerType?._zod?.optin),ct(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(Ux):Ux(s)}});function Ux(e){return e.value=Object.freeze(e.value),e}const H6=ue("$ZodCustom",(e,n)=>{Nr.init(e,n),Pt.init(e,n),e._zod.parse=(r,i)=>r,e._zod.check=r=>{const i=r.value,s=n.fn(i);if(s instanceof Promise)return s.then(l=>Hx(l,r,i,e));Hx(s,r,i,e)}});function Hx(e,n,r,i){if(!e){const s={code:"custom",input:r,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(s.params=i._zod.def.params),n.issues.push(fl(s))}}var Bx;class B6{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...r){const i=r[0];return this._map.set(n,i),i&&typeof i=="object"&&"id"in i&&this._idmap.set(i.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){const r=n._zod.parent;if(r){const i={...this.get(r)??{}};delete i.id;const s={...i,...this._map.get(n)};return Object.keys(s).length?s:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function q6(){return new B6}(Bx=globalThis).__zod_globalRegistry??(Bx.__zod_globalRegistry=q6());const Ys=globalThis.__zod_globalRegistry;function G6(e,n){return new e({type:"string",...Le(n)})}function Z6(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Le(n)})}function qx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Le(n)})}function K6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Le(n)})}function Y6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Le(n)})}function Q6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Le(n)})}function X6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Le(n)})}function J6(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Le(n)})}function W6(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Le(n)})}function eL(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Le(n)})}function tL(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Le(n)})}function nL(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Le(n)})}function rL(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Le(n)})}function aL(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Le(n)})}function iL(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Le(n)})}function oL(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Le(n)})}function sL(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Le(n)})}function lL(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Le(n)})}function cL(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Le(n)})}function uL(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Le(n)})}function dL(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Le(n)})}function fL(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Le(n)})}function hL(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Le(n)})}function mL(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Le(n)})}function pL(e,n){return new e({type:"string",format:"date",check:"string_format",...Le(n)})}function gL(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Le(n)})}function vL(e,n){return new e({type:"string",format:"duration",check:"string_format",...Le(n)})}function yL(e,n){return new e({type:"boolean",...Le(n)})}function bL(e){return new e({type:"unknown"})}function xL(e,n){return new e({type:"never",...Le(n)})}function xC(e,n){return new U5({check:"max_length",...Le(n),maximum:e})}function Ru(e,n){return new H5({check:"min_length",...Le(n),minimum:e})}function wC(e,n){return new B5({check:"length_equals",...Le(n),length:e})}function wL(e,n){return new q5({check:"string_format",format:"regex",...Le(n),pattern:e})}function SL(e){return new G5({check:"string_format",format:"lowercase",...Le(e)})}function _L(e){return new Z5({check:"string_format",format:"uppercase",...Le(e)})}function CL(e,n){return new K5({check:"string_format",format:"includes",...Le(n),includes:e})}function EL(e,n){return new Y5({check:"string_format",format:"starts_with",...Le(n),prefix:e})}function RL(e,n){return new Q5({check:"string_format",format:"ends_with",...Le(n),suffix:e})}function Ko(e){return new X5({check:"overwrite",tx:e})}function jL(e){return Ko(n=>n.normalize(e))}function TL(){return Ko(e=>e.trim())}function OL(){return Ko(e=>e.toLowerCase())}function AL(){return Ko(e=>e.toUpperCase())}function ML(){return Ko(e=>q4(e))}function NL(e,n,r){return new e({type:"array",element:n,...Le(r)})}function DL(e,n,r){return new e({type:"custom",check:"custom",fn:n,...Le(r)})}function zL(e,n){const r=kL(i=>(i.addIssue=s=>{if(typeof s=="string")i.issues.push(fl(s,i.value,r._zod.def));else{const l=s;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=r),l.continue??(l.continue=!r._zod.def.abort),i.issues.push(fl(l))}},e(i.value,i)),n);return r}function kL(e,n){const r=new Nr({check:"custom",...Le(n)});return r._zod.check=e,r}function SC(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Ys,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function cn(e,n,r={path:[],schemaPath:[]}){var i;const s=e._zod.def,l=n.seen.get(e);if(l)return l.count++,r.schemaPath.includes(e)&&(l.cycle=r.path),l.schema;const u={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,u);const d=e._zod.toJSONSchema?.();if(d)u.schema=d;else{const y={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,u.schema,y);else{const b=u.schema,x=n.processors[s.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);x(e,n,b,y)}const v=e._zod.parent;v&&(u.ref||(u.ref=v),cn(v,n,y),n.seen.get(v).isParent=!0)}const p=n.metadataRegistry.get(e);return p&&Object.assign(u.schema,p),n.io==="input"&&pn(e)&&(delete u.schema.examples,delete u.schema.default),n.io==="input"&&"_prefault"in u.schema&&((i=u.schema).default??(i.default=u.schema._prefault)),delete u.schema._prefault,n.seen.get(e).schema}function _C(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=new Map;for(const u of e.seen.entries()){const d=e.metadataRegistry.get(u[0])?.id;if(d){const p=i.get(d);if(p&&p!==u[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(d,u[0])}}const s=u=>{const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const v=e.external.registry.get(u[0])?.id,b=e.external.uri??(w=>w);if(v)return{ref:b(v)};const x=u[1].defId??u[1].schema.id??`schema${e.counter++}`;return u[1].defId=x,{defId:x,ref:`${b("__shared")}#/${d}/${x}`}}if(u[1]===r)return{ref:"#"};const m=`#/${d}/`,y=u[1].schema.id??`__schema${e.counter++}`;return{defId:y,ref:m+y}},l=u=>{if(u[1].schema.$ref)return;const d=u[1],{ref:p,defId:m}=s(u);d.def={...d.schema},m&&(d.defId=m);const y=d.schema;for(const v in y)delete y[v];y.$ref=p};if(e.cycles==="throw")for(const u of e.seen.entries()){const d=u[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ - -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const u of e.seen.entries()){const d=u[1];if(n===u[0]){l(u);continue}if(e.external){const m=e.external.registry.get(u[0])?.id;if(n!==u[0]&&m){l(u);continue}}if(e.metadataRegistry.get(u[0])?.id){l(u);continue}if(d.cycle){l(u);continue}if(d.count>1&&e.reused==="ref"){l(u);continue}}}function CC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=d=>{const p=e.seen.get(d);if(p.ref===null)return;const m=p.def??p.schema,y={...m},v=p.ref;if(p.ref=null,v){i(v);const x=e.seen.get(v),w=x.schema;if(w.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(w)):Object.assign(m,w),Object.assign(m,y),d._zod.parent===v)for(const E in m)E==="$ref"||E==="allOf"||E in y||delete m[E];if(w.$ref&&x.def)for(const E in m)E==="$ref"||E==="allOf"||E in x.def&&JSON.stringify(m[E])===JSON.stringify(x.def[E])&&delete m[E]}const b=d._zod.parent;if(b&&b!==v){i(b);const x=e.seen.get(b);if(x?.schema.$ref&&(m.$ref=x.schema.$ref,x.def))for(const w in m)w==="$ref"||w==="allOf"||w in x.def&&JSON.stringify(m[w])===JSON.stringify(x.def[w])&&delete m[w]}e.override({zodSchema:d,jsonSchema:m,path:p.path??[]})};for(const d of[...e.seen.entries()].reverse())i(d[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(d)}Object.assign(s,r.def??r.schema);const l=e.metadataRegistry.get(n)?.id;l!==void 0&&s.id===l&&delete s.id;const u=e.external?.defs??{};for(const d of e.seen.entries()){const p=d[1];p.def&&p.defId&&(p.def.id===p.defId&&delete p.def.id,u[p.defId]=p.def)}e.external||Object.keys(u).length>0&&(e.target==="draft-2020-12"?s.$defs=u:s.definitions=u);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:ju(n,"input",e.processors),output:ju(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function pn(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return pn(i.element,r);if(i.type==="set")return pn(i.valueType,r);if(i.type==="lazy")return pn(i.getter(),r);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return pn(i.innerType,r);if(i.type==="intersection")return pn(i.left,r)||pn(i.right,r);if(i.type==="record"||i.type==="map")return pn(i.keyType,r)||pn(i.valueType,r);if(i.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:pn(i.in,r)||pn(i.out,r);if(i.type==="object"){for(const s in i.shape)if(pn(i.shape[s],r))return!0;return!1}if(i.type==="union"){for(const s of i.options)if(pn(s,r))return!0;return!1}if(i.type==="tuple"){for(const s of i.items)if(pn(s,r))return!0;return!!(i.rest&&pn(i.rest,r))}return!1}const LL=(e,n={})=>r=>{const i=SC({...r,processors:n});return cn(e,i),_C(i,e),CC(i,e)},ju=(e,n,r={})=>i=>{const{libraryOptions:s,target:l}=i??{},u=SC({...s??{},target:l,io:n,processors:r});return cn(e,u),_C(u,e),CC(u,e)},$L={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},IL=(e,n,r,i)=>{const s=r;s.type="string";const{minimum:l,maximum:u,format:d,patterns:p,contentEncoding:m}=e._zod.bag;if(typeof l=="number"&&(s.minLength=l),typeof u=="number"&&(s.maxLength=u),d&&(s.format=$L[d]??d,s.format===""&&delete s.format,d==="time"&&delete s.format),m&&(s.contentEncoding=m),p&&p.size>0){const y=[...p];y.length===1?s.pattern=y[0].source:y.length>1&&(s.allOf=[...y.map(v=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:v.source}))])}},PL=(e,n,r,i)=>{r.type="boolean"},FL=(e,n,r,i)=>{r.not={}},VL=(e,n,r,i)=>{},UL=(e,n,r,i)=>{const s=e._zod.def,l=lC(s.entries);l.every(u=>typeof u=="number")&&(r.type="number"),l.every(u=>typeof u=="string")&&(r.type="string"),r.enum=l},HL=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},BL=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},qL=(e,n,r,i)=>{const s=r,l=e._zod.def,{minimum:u,maximum:d}=e._zod.bag;typeof u=="number"&&(s.minItems=u),typeof d=="number"&&(s.maxItems=d),s.type="array",s.items=cn(l.element,n,{...i,path:[...i.path,"items"]})},GL=(e,n,r,i)=>{const s=r,l=e._zod.def;s.type="object",s.properties={};const u=l.shape;for(const m in u)s.properties[m]=cn(u[m],n,{...i,path:[...i.path,"properties",m]});const d=new Set(Object.keys(u)),p=new Set([...d].filter(m=>{const y=l.shape[m]._zod;return n.io==="input"?y.optin===void 0:y.optout===void 0}));p.size>0&&(s.required=Array.from(p)),l.catchall?._zod.def.type==="never"?s.additionalProperties=!1:l.catchall?l.catchall&&(s.additionalProperties=cn(l.catchall,n,{...i,path:[...i.path,"additionalProperties"]})):n.io==="output"&&(s.additionalProperties=!1)},ZL=(e,n,r,i)=>{const s=e._zod.def,l=s.inclusive===!1,u=s.options.map((d,p)=>cn(d,n,{...i,path:[...i.path,l?"oneOf":"anyOf",p]}));l?r.oneOf=u:r.anyOf=u},KL=(e,n,r,i)=>{const s=e._zod.def,l=cn(s.left,n,{...i,path:[...i.path,"allOf",0]}),u=cn(s.right,n,{...i,path:[...i.path,"allOf",1]}),d=m=>"allOf"in m&&Object.keys(m).length===1,p=[...d(l)?l.allOf:[l],...d(u)?u.allOf:[u]];r.allOf=p},YL=(e,n,r,i)=>{const s=e._zod.def,l=cn(s.innerType,n,i),u=n.seen.get(e);n.target==="openapi-3.0"?(u.ref=s.innerType,r.nullable=!0):r.anyOf=[l,{type:"null"}]},QL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType},XL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.default=JSON.parse(JSON.stringify(s.defaultValue))},JL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},WL=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType;let u;try{u=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=u},e8=(e,n,r,i)=>{const s=e._zod.def,l=s.in._zod.traits.has("$ZodTransform"),u=n.io==="input"?l?s.out:s.in:s.out;cn(u,n,i);const d=n.seen.get(e);d.ref=u},t8=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.readOnly=!0},EC=(e,n,r,i)=>{const s=e._zod.def;cn(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType};function Zm(){return Zm=Object.assign?Object.assign.bind():function(e){for(var n=1;n0){var p=s.errors[0][0];r[d]={message:p.message,type:p.code}}else r[d]={message:u,type:l};if(s.code==="invalid_union"&&s.errors.forEach(function(v){return v.forEach(function(b){return e.push(Zm({},b,{path:[].concat(s.path,b.path)}))})}),n){var m=r[d].types,y=m&&m[s.code];r[d]=rg(d,n,r,l,y?[].concat(y,s.message):s.message)}e.shift()};e.length;)i();return r}function fg(e,n,r){if(r===void 0&&(r={}),(function(i){return"_def"in i&&typeof i._def=="object"&&"typeName"in i._def})(e))return function(i,s,l){try{return Promise.resolve(Gx(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](i,n)).then(function(u){return l.shouldUseNativeValidation&&Bm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return Array.isArray(d?.issues)})(u))return{values:{},errors:Ax(n8(u.errors,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};if((function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,s,l){try{return Promise.resolve(Gx(function(){return Promise.resolve((r.mode==="sync"?i5:o5)(e,i,n)).then(function(u){return l.shouldUseNativeValidation&&Bm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return d instanceof ug})(u))return{values:{},errors:Ax(r8(u.issues,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const a8=ue("ZodISODateTime",(e,n)=>{d6.init(e,n),Ct.init(e,n)});function i8(e){return mL(a8,e)}const o8=ue("ZodISODate",(e,n)=>{f6.init(e,n),Ct.init(e,n)});function s8(e){return pL(o8,e)}const l8=ue("ZodISOTime",(e,n)=>{h6.init(e,n),Ct.init(e,n)});function c8(e){return gL(l8,e)}const u8=ue("ZodISODuration",(e,n)=>{m6.init(e,n),Ct.init(e,n)});function d8(e){return vL(u8,e)}const f8=(e,n)=>{ug.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>a5(e,r)},flatten:{value:r=>r5(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,qm,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,qm,2)}},isEmpty:{get(){return e.issues.length===0}}})},ar=ue("ZodError",f8,{Parent:Error}),h8=id(ar),m8=od(ar),p8=sd(ar),g8=ld(ar),v8=c5(ar),y8=u5(ar),b8=d5(ar),x8=f5(ar),w8=h5(ar),S8=m5(ar),_8=p5(ar),C8=g5(ar),Zx=new WeakMap;function ud(e,n,r){const i=Object.getPrototypeOf(e);let s=Zx.get(i);if(s||(s=new Set,Zx.set(i,s)),!s.has(n)){s.add(n);for(const l in r){const u=r[l];Object.defineProperty(i,l,{configurable:!0,enumerable:!1,get(){const d=u.bind(this);return Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d}),d},set(d){Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d})}})}}}const Ft=ue("ZodType",(e,n)=>(Pt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ju(e,"input"),output:ju(e,"output")}}),e.toJSONSchema=LL(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,i)=>h8(e,r,i,{callee:e.parse}),e.safeParse=(r,i)=>p8(e,r,i),e.parseAsync=async(r,i)=>m8(e,r,i,{callee:e.parseAsync}),e.safeParseAsync=async(r,i)=>g8(e,r,i),e.spa=e.safeParseAsync,e.encode=(r,i)=>v8(e,r,i),e.decode=(r,i)=>y8(e,r,i),e.encodeAsync=async(r,i)=>b8(e,r,i),e.decodeAsync=async(r,i)=>x8(e,r,i),e.safeEncode=(r,i)=>w8(e,r,i),e.safeDecode=(r,i)=>S8(e,r,i),e.safeEncodeAsync=async(r,i)=>_8(e,r,i),e.safeDecodeAsync=async(r,i)=>C8(e,r,i),ud(e,"ZodType",{check(...r){const i=this.def;return this.clone(Xa(i,{checks:[...i.checks??[],...r.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,i){return Ja(this,r,i)},brand(){return this},register(r,i){return r.add(this,i),this},refine(r,i){return this.check(v$(r,i))},superRefine(r,i){return this.check(y$(r,i))},overwrite(r){return this.check(Ko(r))},optional(){return Xx(this)},exactOptional(){return a$(this)},nullable(){return Jx(this)},nullish(){return Xx(Jx(this))},nonoptional(r){return u$(this,r)},array(){return K8(this)},or(r){return X8([this,r])},and(r){return W8(this,r)},transform(r){return Wx(this,n$(r))},default(r){return s$(this,r)},prefault(r){return c$(this,r)},catch(r){return f$(this,r)},pipe(r){return Wx(this,r)},readonly(){return p$(this)},describe(r){const i=this.clone();return Ys.add(i,{description:r}),i},meta(...r){if(r.length===0)return Ys.get(this);const i=this.clone();return Ys.add(i,r[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ys.get(e)?.description},configurable:!0}),e)),RC=ue("_ZodString",(e,n)=>{dg.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>IL(e,i,s);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,ud(e,"_ZodString",{regex(...i){return this.check(wL(...i))},includes(...i){return this.check(CL(...i))},startsWith(...i){return this.check(EL(...i))},endsWith(...i){return this.check(RL(...i))},min(...i){return this.check(Ru(...i))},max(...i){return this.check(xC(...i))},length(...i){return this.check(wC(...i))},nonempty(...i){return this.check(Ru(1,...i))},lowercase(i){return this.check(SL(i))},uppercase(i){return this.check(_L(i))},trim(){return this.check(TL())},normalize(...i){return this.check(jL(...i))},toLowerCase(){return this.check(OL())},toUpperCase(){return this.check(AL())},slugify(){return this.check(ML())}})}),E8=ue("ZodString",(e,n)=>{dg.init(e,n),RC.init(e,n),e.email=r=>e.check(Z6(R8,r)),e.url=r=>e.check(J6(j8,r)),e.jwt=r=>e.check(hL(U8,r)),e.emoji=r=>e.check(W6(T8,r)),e.guid=r=>e.check(qx(Kx,r)),e.uuid=r=>e.check(K6(nu,r)),e.uuidv4=r=>e.check(Y6(nu,r)),e.uuidv6=r=>e.check(Q6(nu,r)),e.uuidv7=r=>e.check(X6(nu,r)),e.nanoid=r=>e.check(eL(O8,r)),e.guid=r=>e.check(qx(Kx,r)),e.cuid=r=>e.check(tL(A8,r)),e.cuid2=r=>e.check(nL(M8,r)),e.ulid=r=>e.check(rL(N8,r)),e.base64=r=>e.check(uL(P8,r)),e.base64url=r=>e.check(dL(F8,r)),e.xid=r=>e.check(aL(D8,r)),e.ksuid=r=>e.check(iL(z8,r)),e.ipv4=r=>e.check(oL(k8,r)),e.ipv6=r=>e.check(sL(L8,r)),e.cidrv4=r=>e.check(lL($8,r)),e.cidrv6=r=>e.check(cL(I8,r)),e.e164=r=>e.check(fL(V8,r)),e.datetime=r=>e.check(i8(r)),e.date=r=>e.check(s8(r)),e.time=r=>e.check(c8(r)),e.duration=r=>e.check(d8(r))});function cu(e){return G6(E8,e)}const Ct=ue("ZodStringFormat",(e,n)=>{xt.init(e,n),RC.init(e,n)}),R8=ue("ZodEmail",(e,n)=>{n6.init(e,n),Ct.init(e,n)}),Kx=ue("ZodGUID",(e,n)=>{e6.init(e,n),Ct.init(e,n)}),nu=ue("ZodUUID",(e,n)=>{t6.init(e,n),Ct.init(e,n)}),j8=ue("ZodURL",(e,n)=>{r6.init(e,n),Ct.init(e,n)}),T8=ue("ZodEmoji",(e,n)=>{a6.init(e,n),Ct.init(e,n)}),O8=ue("ZodNanoID",(e,n)=>{i6.init(e,n),Ct.init(e,n)}),A8=ue("ZodCUID",(e,n)=>{o6.init(e,n),Ct.init(e,n)}),M8=ue("ZodCUID2",(e,n)=>{s6.init(e,n),Ct.init(e,n)}),N8=ue("ZodULID",(e,n)=>{l6.init(e,n),Ct.init(e,n)}),D8=ue("ZodXID",(e,n)=>{c6.init(e,n),Ct.init(e,n)}),z8=ue("ZodKSUID",(e,n)=>{u6.init(e,n),Ct.init(e,n)}),k8=ue("ZodIPv4",(e,n)=>{p6.init(e,n),Ct.init(e,n)}),L8=ue("ZodIPv6",(e,n)=>{g6.init(e,n),Ct.init(e,n)}),$8=ue("ZodCIDRv4",(e,n)=>{v6.init(e,n),Ct.init(e,n)}),I8=ue("ZodCIDRv6",(e,n)=>{y6.init(e,n),Ct.init(e,n)}),P8=ue("ZodBase64",(e,n)=>{b6.init(e,n),Ct.init(e,n)}),F8=ue("ZodBase64URL",(e,n)=>{w6.init(e,n),Ct.init(e,n)}),V8=ue("ZodE164",(e,n)=>{S6.init(e,n),Ct.init(e,n)}),U8=ue("ZodJWT",(e,n)=>{C6.init(e,n),Ct.init(e,n)}),H8=ue("ZodBoolean",(e,n)=>{E6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>PL(e,r,i)});function Yx(e){return yL(H8,e)}const B8=ue("ZodUnknown",(e,n)=>{R6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>VL()});function Qx(){return bL(B8)}const q8=ue("ZodNever",(e,n)=>{j6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>FL(e,r,i)});function G8(e){return xL(q8,e)}const Z8=ue("ZodArray",(e,n)=>{T6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>qL(e,r,i,s),e.element=n.element,ud(e,"ZodArray",{min(r,i){return this.check(Ru(r,i))},nonempty(r){return this.check(Ru(1,r))},max(r,i){return this.check(xC(r,i))},length(r,i){return this.check(wC(r,i))},unwrap(){return this.element}})});function K8(e,n){return NL(Z8,e,n)}const Y8=ue("ZodObject",(e,n)=>{A6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>GL(e,r,i,s),ct(e,"shape",()=>n.shape),ud(e,"ZodObject",{keyof(){return e$(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:Qx()})},loose(){return this.clone({...this._zod.def,catchall:Qx()})},strict(){return this.clone({...this._zod.def,catchall:G8()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return X4(this,r)},safeExtend(r){return J4(this,r)},merge(r){return W4(this,r)},pick(r){return Y4(this,r)},omit(r){return Q4(this,r)},partial(...r){return e5(jC,this,r[0])},required(...r){return t5(TC,this,r[0])}})});function hg(e,n){const r={type:"object",shape:e??{},...Le(n)};return new Y8(r)}const Q8=ue("ZodUnion",(e,n)=>{M6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>ZL(e,r,i,s),e.options=n.options});function X8(e,n){return new Q8({type:"union",options:e,...Le(n)})}const J8=ue("ZodIntersection",(e,n)=>{N6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>KL(e,r,i,s)});function W8(e,n){return new J8({type:"intersection",left:e,right:n})}const Km=ue("ZodEnum",(e,n)=>{D6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>UL(e,i,s),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(i,s)=>{const l={};for(const u of i)if(r.has(u))l[u]=n.entries[u];else throw new Error(`Key ${u} not found in enum`);return new Km({...n,checks:[],...Le(s),entries:l})},e.exclude=(i,s)=>{const l={...n.entries};for(const u of i)if(r.has(u))delete l[u];else throw new Error(`Key ${u} not found in enum`);return new Km({...n,checks:[],...Le(s),entries:l})}});function e$(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new Km({type:"enum",entries:r,...Le(n)})}const t$=ue("ZodTransform",(e,n)=>{z6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>BL(e,r),e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new sC(e.constructor.name);r.addIssue=l=>{if(typeof l=="string")r.issues.push(fl(l,r.value,n));else{const u=l;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=r.value),u.inst??(u.inst=e),r.issues.push(fl(u))}};const s=n.transform(r.value,r);return s instanceof Promise?s.then(l=>(r.value=l,r.fallback=!0,r)):(r.value=s,r.fallback=!0,r)}});function n$(e){return new t$({type:"transform",transform:e})}const jC=ue("ZodOptional",(e,n)=>{bC.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>EC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Xx(e){return new jC({type:"optional",innerType:e})}const r$=ue("ZodExactOptional",(e,n)=>{k6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>EC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function a$(e){return new r$({type:"optional",innerType:e})}const i$=ue("ZodNullable",(e,n)=>{L6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>YL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Jx(e){return new i$({type:"nullable",innerType:e})}const o$=ue("ZodDefault",(e,n)=>{$6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>XL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function s$(e,n){return new o$({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():uC(n)}})}const l$=ue("ZodPrefault",(e,n)=>{I6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>JL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function c$(e,n){return new l$({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():uC(n)}})}const TC=ue("ZodNonOptional",(e,n)=>{P6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>QL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function u$(e,n){return new TC({type:"nonoptional",innerType:e,...Le(n)})}const d$=ue("ZodCatch",(e,n)=>{F6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>WL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function f$(e,n){return new d$({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const h$=ue("ZodPipe",(e,n)=>{V6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>e8(e,r,i,s),e.in=n.in,e.out=n.out});function Wx(e,n){return new h$({type:"pipe",in:e,out:n})}const m$=ue("ZodReadonly",(e,n)=>{U6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>t8(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function p$(e){return new m$({type:"readonly",innerType:e})}const g$=ue("ZodCustom",(e,n)=>{H6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>HL(e,r)});function v$(e,n={}){return DL(g$,e,n)}function y$(e,n){return zL(e,n)}const b$=/\.(md|markdown)$/i,x$=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,OC=/\.html?$/i,AC=/\.pdf$/i,w$=/\.(csv|tsv)$/i,S$=/\.(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 mg(e){if(e<1024)return e+" B";const n=["KB","MB","GB","TB"];let r=-1;do e/=1024,r++;while(e>=1024&&r`:e.user||e.author||"unknown"}function E$({className:e,...n}){return f.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:f.jsx("table",{"data-slot":"table",className:Xe("w-full caption-bottom text-sm",e),...n})})}function R$({className:e,...n}){return f.jsx("thead",{"data-slot":"table-header",className:Xe("[&_tr]:border-b",e),...n})}function j$({className:e,...n}){return f.jsx("tbody",{"data-slot":"table-body",className:Xe("[&_tr:last-child]:border-0",e),...n})}function ew({className:e,...n}){return f.jsx("tr",{"data-slot":"table-row",className:Xe("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...n})}function tw({className:e,...n}){return f.jsx("th",{"data-slot":"table-head",className:Xe("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function T$({className:e,...n}){return f.jsx("td",{"data-slot":"table-cell",className:Xe("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function O$({header:e}){const n=e.column.getIsSorted();return e.column.getCanSort()?f.jsx(tw,{"data-sort":n||void 0,"aria-sort":n==="asc"?"ascending":n==="desc"?"descending":"none",children:f.jsxs("button",{type:"button",className:"th-sort",onClick:e.column.getToggleSortingHandler(),children:[Fm(e.column.columnDef.header,e.getContext()),n==="asc"?" ↑":n==="desc"?" ↓":""]})}):f.jsx(tw,{children:Fm(e.column.columnDef.header,e.getContext())})}function DC({table:e,className:n}){return f.jsx("div",{className:"admin-list admin-card-table"+(n?" "+n:""),children:f.jsxs(E$,{className:"admin-table",children:[f.jsx(R$,{children:e.getHeaderGroups().map(r=>f.jsx(ew,{children:r.headers.map(i=>f.jsx(O$,{header:i},i.id))},r.id))}),f.jsx(j$,{children:e.getRowModel().rows.map(r=>f.jsx(ew,{className:"admin-item",children:r.getVisibleCells().map(i=>f.jsx(T$,{children:Fm(i.column.columnDef.cell,i.getContext())},i.id))},r.id))})]})})}function zC(e){return e?"expires "+new Date(e).toLocaleDateString():"no expiry"}function A$(e){if(e.opens===void 0)return null;if(e.opens===0)return"not opened yet";const n=`${e.opens} open${e.opens===1?"":"s"}`;return e.last_opened?`${n} · last opened ${new Date(e.last_opened).toLocaleDateString()}`:n}function kC(e,n){const r=[];n&&e.project_name&&r.push(e.project_name),e.creator&&r.push("by "+e.creator),e.created&&r.push(new Date(e.created).toLocaleDateString()),r.push(zC(e.expires));const i=A$(e);return i&&r.push(i),r.join(" · ")}const LC="Opens count how many times a file has been read through a public link. Repeat opens by the same reader within 10 minutes count once.";function $C({shares:e,onChanged:n,showProject:r=!1,canRevoke:i=!0,empty:s="No public shares.",loading:l=!1}){const[u,d]=S.useState([]),p=S.useMemo(()=>k_(),[]),m=S.useMemo(()=>[p.accessor("path",{header:"Path",cell:v=>f.jsx("a",{className:"ai-main mono",title:v.getValue(),...ul(Wu(v.getValue(),v.row.original.project)),children:v.getValue()})}),p.accessor(v=>kC(v,r),{id:"detail",header:r?"Project":"Shared",cell:v=>f.jsx("span",{className:"ai-tag",children:v.getValue()})}),p.display({id:"actions",header:"",cell:v=>i?f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${v.row.original.path}`,onClick:()=>IC(v.row.original,n),children:"Revoke"}):null})],[p,n,r,i]),y=Z_({data:e,columns:m,state:{sorting:u},onSortingChange:d,getCoreRowModel:q_(),getSortedRowModel:G_()});return l?f.jsx("div",{className:"admin-list",children:f.jsx("div",{className:"admin-empty",children:"Loading…"})}):e.length===0?f.jsx("div",{className:"admin-list",children:f.jsx("div",{className:"admin-empty",children:s})}):f.jsx(DC,{table:y,className:"shares-table"})}async function IC(e,n){if(await _l("Revoke share link",`Revoke the public link to “${e.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await tr("DELETE","/api/shares/"+e.token),Ke("Share revoked."),n()}catch(r){Ke(r.message,!0)}}const M$=hg({name:cu().trim().min(1,"Give the organization a name.").max(60,"Keep it under 60 characters.")});function N$({org:e,projects:n,myEmail:r}){const i=Ai(),s=e.role==="owner",l=()=>i.invalidateQueries({queryKey:["orgs"]}),u=()=>i.invalidateQueries({queryKey:["invites",e.id]}),d=()=>i.invalidateQueries({queryKey:["orgShares",e.id]}),p=ag({resolver:fg(M$),values:{name:e.name}}),{data:m}=Zt({queryKey:["invites",e.id],queryFn:()=>ln(`/api/orgs/${e.id}/invites`),enabled:s,select:x=>x.invites||[]}),{data:y,isLoading:v}=Zt({queryKey:["orgShares",e.id],queryFn:()=>ln(`/api/orgs/${e.id}/shares`),enabled:s,select:x=>x.shares||[]}),b=n.filter(x=>x.org===e.id);return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{id:"org-title",children:e.name}),!s&&f.jsx("p",{className:"role-chip-row",children:f.jsx("span",{className:"ai-tag role-chip",children:"Member"})}),!s&&f.jsx("p",{className:"admin-sub",children:"Only owners can rename this organization, manage members, or issue invite links."}),s&&f.jsxs("form",{className:"admin-row",onSubmit:p.handleSubmit(async({name:x})=>{try{await tr("PATCH","/api/orgs/"+e.id,{name:x}),Ke("Renamed."),l()}catch(w){Ke(w.message,!0)}}),children:[f.jsx("label",{className:"admin-lbl",htmlFor:"org-rename",children:"Organization name"}),f.jsx("input",{id:"org-rename",type:"text","aria-invalid":!!p.formState.errors.name,"aria-describedby":p.formState.errors.name?"org-rename-err":void 0,...p.register("name")}),f.jsx(vt,{variant:"subtle",id:"org-rename-btn",type:"submit",disabled:!p.formState.isDirty,children:"Rename org"}),p.formState.errors.name&&f.jsx("span",{id:"org-rename-err",role:"alert",className:"field-err",children:p.formState.errors.name.message})]}),f.jsx("h3",{children:"Members"}),f.jsx(D$,{org:e,owner:s,myEmail:r,onChanged:l}),f.jsx("h3",{children:"Projects"}),f.jsxs("div",{className:"admin-list",children:[b.length===0&&f.jsx("div",{className:"admin-empty",children:"No projects yet."}),b.map(x=>f.jsx("div",{className:"admin-item",children:f.jsx("span",{className:"ai-main",title:x.name,children:x.name})},x.id))]}),s&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"admin-h",children:[f.jsx("h3",{children:"Invite links"}),f.jsx(vt,{variant:"primary",onClick:async()=>{try{const x=await Si(`/api/orgs/${e.id}/invites`),w=await Bo(x.url);Ke(w?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),u()}catch(x){Ke(x.message,!0)}},children:"New invite"})]}),f.jsxs("div",{className:"admin-list",children:[m&&m.length===0&&f.jsx("div",{className:"admin-empty",children:"No active invite links."}),(m||[]).map(x=>f.jsxs("div",{className:"admin-item",children:[f.jsx("button",{type:"button",className:"ai-main mono ai-copy","aria-label":`Copy invite link ${x.url}`,title:x.url,onClick:()=>Bo(x.url).then(w=>Ke(w?"Copied.":"Select and copy the link.")),children:x.url}),f.jsx("span",{className:"ai-tag",children:(x.creator?"by "+x.creator+" · ":"")+(x.uses?x.uses+" joined · ":"unused · ")+"expires "+new Date(x.expires).toLocaleDateString()}),f.jsx("button",{className:"ai-del","aria-label":`Revoke invite ${x.token.slice(0,8)}`,onClick:async()=>{if(await _l("Revoke invite",`Revoke the link starting ${x.token.slice(0,8)}…? Anyone still holding it won't be able to join.`,"Revoke",!0))try{await tr("DELETE",`/api/orgs/${e.id}/invites/${x.token}`),Ke("Revoked."),u()}catch(w){Ke(w.message,!0)}},children:"Revoke"})]},x.token))]}),f.jsx("h3",{children:"Public share links"}),f.jsx("p",{className:"admin-sub",children:"Every live link across this organization's projects. A project's own links are on its Settings page, and on the file itself."}),f.jsx($C,{shares:y||[],loading:v,onChanged:d,showProject:!0})]})]})}function D$({org:e,owner:n,myEmail:r,onChanged:i}){const[s,l]=S.useState([{id:"email",desc:!1}]),u=S.useMemo(()=>k_(),[]),d=S.useMemo(()=>[u.accessor("email",{id:"email",header:"Member",cell:m=>{const y=!!r&&m.getValue().toLowerCase()===r.toLowerCase();return f.jsx("span",{className:"ai-main",title:m.getValue(),children:m.getValue()+(y?" (you)":"")})}}),u.accessor("role",{id:"role",header:"Role",cell:m=>{const y=m.row.original,v=!!r&&y.email.toLowerCase()===r.toLowerCase();return!n||v?f.jsx("span",{className:"ai-tag role-static",children:y.role}):f.jsxs("span",{className:"role-cell",children:[f.jsxs("select",{"aria-label":`Role for ${y.email}`,value:y.role,onChange:async b=>{try{await tr("PATCH",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`,{role:b.target.value}),Ke("Role updated.")}catch(x){Ke(x.message,!0)}i()},children:[f.jsx("option",{value:"owner",children:"owner"}),f.jsx("option",{value:"member",children:"member"})]}),f.jsx("button",{className:"ai-del","aria-label":`Remove ${y.email}`,onClick:async()=>{if(await _l("Remove member",`Remove ${y.email} from ${e.name}?`,"Remove",!0))try{await tr("DELETE",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`),Ke("Removed."),i()}catch(b){Ke(b.message,!0)}},children:"Remove"})]})}})],[u,e.id,e.name,n,r]),p=Z_({data:e.members,columns:d,state:{sorting:s},onSortingChange:l,getCoreRowModel:q_(),getSortedRowModel:G_()});return f.jsx(DC,{table:p})}const z$=hg({require_verification:Yx(),require_approval:Yx()});function k$(){const e=Ai(),{data:n,error:r}=Zt({queryKey:["admin","policy"],queryFn:()=>ln("/api/admin/policy")}),{data:i}=T_(!0),s=ag({resolver:fg(z$),values:n?{require_verification:n.require_verification&&n.mailer,require_approval:n.require_approval}:{require_verification:!1,require_approval:!1}});if(S.useEffect(()=>{r&&Ke(r.message,!0)},[r]),!n)return null;const l=async(u,d,p)=>{try{await Si(`/api/admin/pending/${u}/${d}`),Ke((d==="approve"?"Approved ":"Denied ")+p),e.invalidateQueries({queryKey:["admin","pending"]})}catch(m){Ke(m.message,!0)}};return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{children:"Signup & access"}),f.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),f.jsx("h3",{children:"New-account vetting"}),f.jsxs("form",{onSubmit:s.handleSubmit(async u=>{try{await Si("/api/admin/policy",u),Ke("Signup policy saved."),e.invalidateQueries({queryKey:["admin","policy"]})}catch(d){Ke(d.message,!0)}}),children:[f.jsxs("div",{className:"admin-list",children:[f.jsx(nw,{label:"Require email verification",desc:n.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.",disabled:!n.mailer,inputProps:s.register("require_verification")}),f.jsx(nw,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",inputProps:s.register("require_approval")})]}),f.jsx(vt,{variant:"primary",type:"submit",style:{marginTop:14},disabled:!s.formState.isDirty,children:"Save policy"})]}),f.jsx("h3",{children:"Who can sign up"}),f.jsxs("div",{className:"admin-list",children:[f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Allowed email domains"}),f.jsx("span",{className:"ai-tag",children:n.allowed_domains&&n.allowed_domains.length?n.allowed_domains.map(u=>"@"+u).join(", "):"any"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Self-signup"}),f.jsx("span",{className:"ai-tag",children:n.allow_signup?"open":"invite-only"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Hub admins"}),f.jsx("span",{className:"ai-tag",children:n.admins&&n.admins.length?n.admins.join(", "):"none"})]})]}),f.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),f.jsx("h3",{children:"Pending signups"}),f.jsxs("div",{className:"admin-list",children:[(!i||i.length===0)&&f.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(i||[]).map(u=>f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:(u.name?u.name+" · ":"")+u.email}),f.jsx(vt,{variant:"primary",onClick:()=>l(u.id,"approve",u.email),children:"Approve"}),f.jsx("button",{className:"ai-del",onClick:()=>l(u.id,"deny",u.email),children:"Deny"})]},u.id))]})]})}function nw({label:e,desc:n,disabled:r,inputProps:i}){return f.jsxs("label",{className:"admin-item toggle",style:r?{opacity:.55}:void 0,children:[f.jsxs("span",{className:"ai-main",children:[f.jsx("div",{className:"tg-label",children:e}),f.jsx("div",{className:"tg-desc",children:n})]}),f.jsx("input",{type:"checkbox",disabled:r,...i})]})}function L$({...e}){return f.jsx(f1,{"data-slot":"select",...e})}function $$({...e}){return f.jsx(g1,{"data-slot":"select-value",...e})}function I$({className:e,size:n="default",children:r,...i}){return f.jsxs(m1,{"data-slot":"select-trigger","data-size":n,className:Xe("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...i,children:[r,f.jsx(v1,{asChild:!0,children:f.jsx(Bp,{className:"size-4 opacity-50"})})]})}function P$({className:e,children:n,position:r="item-aligned",align:i="center",...s}){return f.jsx(b1,{children:f.jsxs(x1,{"data-slot":"select-content",className:Xe("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover 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",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:i,...s,children:[f.jsx(V$,{}),f.jsx(E1,{className:Xe("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),f.jsx(U$,{})]})})}function F$({className:e,children:n,...r}){return f.jsxs(O1,{"data-slot":"select-item",className:Xe("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[f.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:f.jsx(N1,{children:f.jsx(m_,{className:"size-4"})})}),f.jsx(A1,{children:n})]})}function V$({className:e,...n}){return f.jsx(D1,{"data-slot":"select-scroll-up-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(uz,{className:"size-4"})})}function U$({className:e,...n}){return f.jsx(z1,{"data-slot":"select-scroll-down-button",className:Xe("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(Bp,{className:"size-4"})})}const rw=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function hl(e){let n=0;for(const r of e)n=n*31+r.charCodeAt(0)>>>0;return rw[n%rw.length]}function aw({projects:e,currentId:n,menu:r,onNew:i}){const s=e.find(l=>l.id===n);return f.jsxs("nav",{id:"projects","aria-label":"Projects",children:[f.jsxs("div",{className:"nav-head",children:[f.jsx("span",{children:"Projects"}),f.jsx("button",{className:"nav-add",title:"New project","aria-label":"New project",onClick:i,children:"+"})]}),f.jsx("div",{className:"proj-row",children:f.jsxs(L$,{value:n||"",onValueChange:l=>{l&&l!==n&&(rn("/"+l),pr())},children:[f.jsxs(I$,{id:"project-select","aria-label":`Switch project — current: ${s?.name??"none"}`,title:s?.name,className:"proj-trigger",children:[s&&f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:hl(s.name)},children:f.jsx($o,{name:s.icon})}),s?f.jsx("span",{"data-slot":"select-value",children:s.name}):f.jsx($$,{placeholder:"Select a project"})]}),f.jsx(P$,{className:"proj-menu",position:"popper",sideOffset:4,children:e.map(l=>f.jsxs(F$,{value:l.id,children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:hl(l.name)},children:f.jsx($o,{name:l.icon})}),l.name]},l.id))})]})}),r&&f.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(([l,u,d,p])=>f.jsx("li",{children:f.jsxs("div",{id:"nav-"+l,className:"row"+(r.active===l?" active":""),role:"button",tabIndex:0,onClick:p,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),p())},children:[f.jsx(dt,{name:d}),f.jsx("span",{className:"label",children:u})]})},l))})]})}function PC({...e}){return f.jsx(UM,{"data-slot":"dropdown-menu",...e})}function FC({...e}){return f.jsx(HM,{"data-slot":"dropdown-menu-trigger",...e})}function VC({className:e,sideOffset:n=4,...r}){return f.jsx(BM,{children:f.jsx(qM,{"data-slot":"dropdown-menu-content",sideOffset:n,className:Xe("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",e),...r})})}function zo({className:e,inset:n,variant:r="default",...i}){return f.jsx(ZM,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":r,className:Xe("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!",e),...i})}function tm({className:e,inset:n,...r}){return f.jsx(GM,{"data-slot":"dropdown-menu-label","data-inset":n,className:Xe("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}const H$="https://github.com/runbear-io/beardrive";function B$(){return f.jsx("svg",{viewBox:"0 0 16 16",className:"gh-mark",fill:"currentColor","aria-hidden":"true",children:f.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})}function q$({me:e,org:n,admin:r,orgActive:i,billing:s}){const l=e.name||e.email,[u,d]=S.useState(!1),p=n?ul(n.manage_url):null,m=s?ul(s.url):null;return f.jsxs("footer",{id:"accountbar",children:[f.jsxs("a",{className:"gh-star",href:H$,target:"_blank",rel:"noreferrer",children:[f.jsx(B$,{}),f.jsx("span",{children:"Star on GitHub"}),f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]}),f.jsxs(PC,{modal:!1,open:u,onOpenChange:d,children:[f.jsx(FC,{asChild:!0,children:f.jsxs("button",{id:"account-btn",className:i?"active":void 0,"aria-label":"Account menu",children:[f.jsx("span",{className:"avatar",style:{background:hl(e.email)},"aria-hidden":"true",children:(l.trim()[0]||"?").toUpperCase()}),f.jsxs("span",{className:"acct",children:[f.jsx("b",{children:l}),e.name&&f.jsx("small",{children:e.email})]}),f.jsx(dt,{name:"chev"})]})}),f.jsxs(VC,{id:"account-menu",side:"top",align:"start",sideOffset:6,className:"acct-menu",children:[n&&f.jsxs(f.Fragment,{children:[f.jsx(tm,{className:"menu-sec",children:"Organization"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-org-settings","aria-current":i?"page":void 0,...p,onClick:y=>{p?.onClick?.(y),d(!1)},children:[f.jsx(dt,{name:"gear"}),f.jsxs("span",{children:[f.jsx("b",{children:n.name})," Settings"]}),!n.manage_url.startsWith("/")&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]})}),s&&f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-billing",...m,onClick:y=>{m?.onClick?.(y),d(!1)},children:[f.jsx(dt,{name:"card"}),f.jsx("span",{children:"Billing"}),f.jsx("span",{className:"ps-chip plan-chip",children:s.plan})]})})]}),r&&f.jsxs(f.Fragment,{children:[f.jsx(tm,{className:"menu-sec",children:"Hub"}),f.jsxs(zo,{id:"menu-hub-admin",onSelect:r.onClick,children:[f.jsx(dt,{name:"shield"}),f.jsxs("span",{children:["Signup & access",r.pending?` · ${r.pending}`:""]})]})]}),f.jsx(tm,{className:"menu-sec",children:"Account"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"signout",href:"/auth/logout",children:[f.jsx(dt,{name:"power"}),f.jsx("span",{children:"Log out"})]})})]})]})]})}function $a({className:e,...n}){return f.jsx("div",{"data-slot":"card",className:Xe("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...n})}function Ia({className:e,...n}){return f.jsx("div",{"data-slot":"card-header",className:Xe("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function Pa({className:e,...n}){return f.jsx("div",{"data-slot":"card-title",className:Xe("leading-none font-semibold",e),...n})}function Po({className:e,...n}){return f.jsx("div",{"data-slot":"card-description",className:Xe("text-muted-foreground text-sm",e),...n})}function Fa({className:e,...n}){return f.jsx("div",{"data-slot":"card-content",className:Xe("px-6",e),...n})}function ta({className:e,orientation:n="horizontal",decorative:r=!0,...i}){return f.jsx(CN,{"data-slot":"separator",decorative:r,orientation:n,className:Xe("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...i})}function G$({url:e}){const n=Zt({queryKey:["billing"],queryFn:()=>ln(e)});if(n.isLoading)return f.jsx("div",{className:"empty",children:"Loading…"});if(n.error||!n.data)return f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Billing is unavailable"}),f.jsx("p",{children:n.error?.message||"Try again shortly."})]});const r=n.data;return f.jsxs("div",{className:"project-settings",id:"billing-view",children:[f.jsxs("h2",{children:["Billing",f.jsx("span",{className:"ps-chip plan-chip",children:r.plan.name})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsxs(Pa,{children:[r.plan.name," plan",r.plan.status?` (${r.plan.status})`:""]}),f.jsxs(Po,{children:["Organization ",r.org," · ",r.usage.used," of ",r.usage.cap," used · ",r.seats.used," of ",r.seats.cap," ",r.seats.cap===1?"seat":"seats"]})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx("div",{className:"usage-bar",children:f.jsx("div",{style:{width:`${r.usage.pct}%`}})})})]}),r.owner?f.jsx("div",{className:"plan-grid",children:r.plans.map(i=>f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:i.name}),f.jsx(Po,{children:i.blurb})]}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"plan-price",children:[i.price,f.jsx("small",{children:" / user / month"})]}),f.jsxs("form",{method:"post",action:r.checkout_url,children:[f.jsx("input",{type:"hidden",name:"plan",value:i.id}),f.jsx(vt,{type:"submit",disabled:i.current,variant:i.current?"subtle":"default",children:i.current?"Current plan":`Upgrade to ${i.name}`})]})]})]},i.id))}):f.jsx("p",{className:"muted-note",children:"Only an organization owner can change the plan."}),r.owner&&r.has_customer&&f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Manage subscription"}),f.jsx(Po,{children:"Change seats, update the card, download invoices, or cancel."})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx("form",{method:"post",action:r.portal_url,children:f.jsx(vt,{type:"submit",variant:"subtle",children:"Open the billing portal"})})})]})]})}function uu({className:e,type:n,...r}){return f.jsx("input",{type:n,"data-slot":"input",className:Xe("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}function nm({className:e,...n}){return f.jsx(YM,{"data-slot":"label",className:Xe("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function Z$({className:e,...n}){return f.jsx("textarea",{"data-slot":"textarea",className:Xe("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}const iw={read:1,write:2,admin:3};function wi(e,n){return(iw[e||""]||0)>=(iw[n]||0)}const Ym=280,K$=hg({name:cu().trim().min(1,"Give the project a name.").max(120,"Keep the name under 120 characters."),description:cu().max(Ym,`Keep the description under ${Ym} characters.`),icon:cu()});function Y$({project:e,org:n,onDeleted:r}){const i=O_(),s=wi(e.perm,"admin"),l=ag({resolver:fg(K$),defaultValues:{name:e.name,description:e.description??"",icon:e.icon??""}});S.useEffect(()=>{l.reset({name:e.name,description:e.description??"",icon:e.icon??""})},[e.id,e.name,e.description,e.icon]);const u=l.watch("icon"),d=l.watch("description"),p=l.handleSubmit(async m=>{const y=l.formState.dirtyFields,v={};if(y.name&&(v.name=m.name.trim()),y.description&&(v.description=m.description),y.icon&&(v.icon=m.icon),Object.keys(v).length!==0)try{await tr("PATCH","/api/projects/"+e.id,v),Ke("Saved."),l.reset({...m,name:m.name.trim()}),await i()}catch(b){Ke(b.message,!0)}});return f.jsxs("div",{className:"project-settings",children:[f.jsxs("h2",{children:[e.name,!wi(e.perm,"write")&&f.jsx("span",{className:"ps-chip",children:"Read-only"})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"General"}),f.jsx(Po,{children:"Name, description and icon for this project."})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsxs("form",{className:"ps-form",onSubmit:p,children:[f.jsxs("div",{className:"ps-field",children:[f.jsx(nm,{htmlFor:"ps-icon-btn",children:"Icon"}),f.jsxs("div",{className:"ps-icon-row",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:hl(e.name)},children:f.jsx($o,{name:u})}),f.jsxs(PC,{children:[f.jsx(FC,{asChild:!0,children:f.jsx(vt,{id:"ps-icon-btn",type:"button",variant:"subtle",disabled:!s,children:"Change"})}),f.jsxs(VC,{align:"start",className:"ps-icon-grid",children:[f.jsx(zo,{className:"ps-icon-cell"+(u===""?" active":""),title:"Default","aria-label":"Default icon",onSelect:()=>l.setValue("icon","",{shouldDirty:!0}),children:f.jsx($o,{})}),Object.keys(Nm).map(m=>f.jsx(zo,{className:"ps-icon-cell"+(u===m?" active":""),title:m,"aria-label":m,onSelect:()=>l.setValue("icon",m,{shouldDirty:!0}),children:f.jsx($o,{name:m})},m))]})]})]})]}),f.jsxs("div",{className:"ps-field",children:[f.jsx(nm,{htmlFor:"ps-name",children:"Name"}),f.jsx(uu,{id:"ps-name",disabled:!s,"aria-invalid":!!l.formState.errors.name,"aria-describedby":l.formState.errors.name?"ps-name-err":void 0,...l.register("name")}),l.formState.errors.name&&f.jsx("span",{id:"ps-name-err",role:"alert",className:"field-err",children:l.formState.errors.name.message})]}),f.jsxs("div",{className:"ps-field",children:[f.jsxs(nm,{htmlFor:"ps-desc",children:["Description ",f.jsx("span",{className:"ps-opt",children:"(optional)"})]}),f.jsx(Z$,{id:"ps-desc",rows:2,disabled:!s,placeholder:"What this project is for.","aria-invalid":!!l.formState.errors.description,"aria-describedby":l.formState.errors.description?"ps-desc-err":void 0,...l.register("description")}),f.jsxs("div",{className:"ps-meta",children:[l.formState.errors.description?f.jsx("span",{id:"ps-desc-err",role:"alert",className:"field-err",children:l.formState.errors.description.message}):f.jsx("span",{}),f.jsxs("span",{className:"ps-count",children:[d.length," / ",Ym]})]})]}),s&&f.jsxs(f.Fragment,{children:[f.jsx(ta,{}),f.jsx("div",{className:"ps-actions",children:f.jsx(vt,{id:"ps-save",type:"submit",variant:"primary",disabled:!l.formState.isDirty||l.formState.isSubmitting,children:"Save changes"})})]})]})})]}),f.jsx(Q$,{project:e}),f.jsx(J$,{project:e,org:n}),f.jsxs($a,{children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"About"})}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsxs("dl",{className:"ps-facts",children:[f.jsx("dt",{children:"Project id"}),f.jsx("dd",{children:f.jsx("code",{children:e.id})}),n&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Workspace"}),f.jsx("dd",{children:n.name})]}),e.created&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Created"}),f.jsx("dd",{children:new Date(e.created).toLocaleDateString()})]})]})})]}),s&&f.jsxs($a,{className:"ps-danger",children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"Danger zone"})}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsx("p",{children:"Deleting removes the project from this hub. Its files stay in storage. This can't be undone."}),f.jsx(vt,{variant:"danger",onClick:async()=>{if(await R_(`Delete “${e.name}”?`,"This can't be undone. Type the project name to confirm:","","Delete project",{match:e.name,danger:!0})!==null)try{await tr("DELETE","/api/projects/"+e.id),Ke(`Deleted “${e.name}”.`),await r()}catch(y){Ke(y.message,!0)}},children:"Delete project"})]})]})]})}function Q$({project:e}){const n=Ai(),{data:r,error:i,isLoading:s}=j_(e.id);return i?null:f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Public links"}),f.jsxs(Po,{children:["Files in this project that anyone with the URL can read — no account needed.",(r||[]).some(l=>l.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]})]}),f.jsx(ta,{}),f.jsx(Fa,{children:f.jsx($C,{shares:r||[],loading:s,canRevoke:wi(e.perm,"write"),onChanged:()=>n.invalidateQueries({queryKey:["shares",e.id]}),empty:"No public links."})})]})}const Qm=[{value:"admin",label:"Admin"},{value:"write",label:"Write"},{value:"read",label:"Read"},{value:"none",label:"No access"}],X$=Object.fromEntries(Qm.map(e=>[e.value,e.label]));function J$({project:e,org:n}){const r=Ai(),{data:i,error:s}=j3(e.id),l=wi(e.perm,"admin"),u=()=>{r.invalidateQueries({queryKey:["permissions",e.id]}),r.invalidateQueries({queryKey:["projects"]})},d=async(x,w)=>{try{await x(),Ke(w)}catch(_){Ke(_.message,!0)}u()};if(s||!i)return null;const p=i,m=`/api/p/${e.id}/permissions`,y=new Set((n?.members||[]).filter(x=>x.role==="owner").map(x=>x.email.toLowerCase())),v=[...p.grants.filter(x=>!y.has(x.email.toLowerCase())),...[...y].sort().map(x=>({email:x,level:"admin",owner:!0}))],b=async()=>{const x=await R_("Add an exception","Email of a workspace member. They get Read access; change it in the table.","","Add");x===null||!x.trim()||await d(()=>tr("PUT",`${m}/${encodeURIComponent(x.trim())}`,{level:"read"}),"Added.")};return f.jsxs($a,{className:"ps-people",children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"People"}),f.jsx(Po,{children:"Who can see and change this project."})]}),f.jsx(ta,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"ps-row",children:[f.jsxs("span",{children:["Everyone in ",n?.name||"this workspace"," can"]}),f.jsx("select",{"aria-label":"Default access for workspace members",disabled:!l,value:p.default,onChange:async x=>{const w=x.target.value;if(w==="none"&&!await _l("Make this project invite-only?","Only people listed below (and workspace owners) will see this project.","Make invite-only")){u();return}await d(()=>tr("PUT",m,{default:w}),"Default access updated.")},children:Qm.filter(x=>x.value!=="admin").map(x=>f.jsx("option",{value:x.value,children:x.label},x.value))})]}),p.default==="none"&&f.jsx("p",{className:"ps-note",children:"This project is invite-only: only the people below and workspace owners can see it."}),f.jsxs("div",{className:"ps-people-head",children:[f.jsx("h4",{children:"Exceptions"}),l&&f.jsx(vt,{type:"button",variant:"subtle",onClick:b,children:"+ Add"})]}),v.length===0?f.jsx("p",{className:"ps-note",children:"No exceptions — everyone gets the access above."}):f.jsx("div",{className:"admin-list",children:v.map(x=>{const w="owner"in x;return f.jsxs("div",{className:"admin-item",children:[f.jsxs("span",{className:"ai-main",title:x.email,children:[x.email,p.creator&&x.email.toLowerCase()===p.creator.toLowerCase()&&f.jsx("span",{className:"ai-tag",children:" (creator)"})]}),w?f.jsx("span",{className:"ai-tag",children:"Workspace owner — always admin"}):f.jsxs("span",{className:"role-cell",children:[f.jsx("select",{"aria-label":`Access for ${x.email}`,disabled:!l,value:x.level,onChange:_=>d(()=>tr("PUT",`${m}/${encodeURIComponent(x.email)}`,{level:_.target.value}),`${x.email} is now ${X$[_.target.value]||_.target.value}.`),children:Qm.map(_=>f.jsx("option",{value:_.value,children:_.label},_.value))}),l&&f.jsx("button",{className:"ai-del","aria-label":`Remove exception for ${x.email}`,onClick:()=>d(()=>tr("DELETE",`${m}/${encodeURIComponent(x.email)}`),"Reverted to the default access."),children:"Remove"})]})]},x.email)})})]})]})}const UC="https://raw.githubusercontent.com/runbear-io/beardrive/main/INSTALL_FOR_AGENTS.md";function HC({project:e,existing:n}){const r=window.location.origin,i=n?'. I already have a folder of notes — ask me which one to sync (the project is named "':'. Ask me which folder to sync (the project is named "',s="Follow "+UC+` -to set up BearDrive project `+e.id+" on "+r+i+e.name+'").',l=`brew install runbear-io/tap/beardrive -bdrive login `+r+` -bdrive init --project `+e.id;return f.jsxs("div",{className:"guide",children:[f.jsxs("h1",{className:"in-title gd-head",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:hl(e.name)},children:f.jsx($o,{name:e.icon})}),e.name]}),e.description&&f.jsx("p",{className:"in-desc",children:e.description}),f.jsxs("div",{className:"gd-body",children:[f.jsx("p",{className:"gd-desc",children:n?"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder you already have:":"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files:"}),n&&f.jsx("p",{className:"gd-note",children:"Your files stay exactly where they are. Connecting a folder never moves, renames or overwrites anything in it — it uploads what is there and keeps it in sync."}),f.jsx(Xm,{code:s}),f.jsx("p",{className:"gd-desc",children:"The agent installs the CLI, signs this machine in, and registers the sync hooks — asking before anything it changes."}),f.jsx("p",{className:"gd-desc",children:"Runs on macOS and Linux. Windows is not supported yet."}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"What exactly happens"}),f.jsxs("ul",{className:"gd-desc gd-list",children:[f.jsx("li",{children:"Sign-in uses a device code you approve in this browser — the folder itself never holds credentials."}),f.jsx("li",{children:"Sync hooks pull the latest before every agent turn, push edits seconds after they happen, and stamp each change with the session that made it; agent reads feed Insights. They register once per machine in your agent's own config, so every session is covered and nothing is written into the synced folder."}),f.jsx("li",{children:"Codex hooks are off by default: set [features] codex_hooks = true in ~/.codex/config.toml."})]})]}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"Or run it yourself"}),f.jsx("p",{className:"gd-desc",children:"Same result, in the folder you want the files. One command: init signs this device in, registers the sync hooks and starts syncing."}),f.jsx(Xm,{code:l}),f.jsx("p",{className:"gd-desc",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/install/",target:"_blank",rel:"noreferrer",children:"Full manual setup guide →"})})]})]})]})}function Xm({code:e}){const[n,r]=S.useState("Copy");return f.jsxs("pre",{className:"gd-code",children:[f.jsx("code",{children:e}),f.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Bo(e)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:n})]})}function W$({onNew:e,canCreate:n}){return f.jsxs("div",{className:"onboard",children:[f.jsx("h1",{children:"Welcome to BearDrive"}),f.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&f.jsxs("div",{className:"ob-card ob-start",children:[f.jsx("h3",{children:"Start a project"}),f.jsx("p",{children:"Name it and pick what it starts from — a structure, or nothing at all. Then connect a folder on any machine and it stays in sync."}),f.jsx(vt,{variant:"primary",id:"ob-new",onClick:e,children:"New project"})]}),f.jsxs("div",{className:"ob-card ob-agent",children:[f.jsx("h3",{children:n?"Or let your agent do it":"Connect a new drive to your project"}),f.jsx("p",{children:"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files. It creates the project and starts syncing:"}),f.jsx(Xm,{code:"Follow "+UC+` -to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),f.jsx("p",{className:"ob-alt",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const BC="__existing__";function eI({templates:e,onCreate:n,onClose:r}){const i=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:BC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}],[s,l]=S.useState(""),[u,d]=S.useState(i[0].value),[p,m]=S.useState(""),[y,v]=S.useState(!1),b=async()=>{if(!y){if(!s.trim()){m("Give it a name.");return}v(!0);try{await n(s.trim(),u)}finally{v(!1)}}};return f.jsx(Xu,{open:!0,onOpenChange:x=>!x&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,children:[f.jsx(wl,{asChild:!0,children:f.jsx("h3",{children:"New project"})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:s,"aria-invalid":!!p,"aria-describedby":p?"modal-input-err":void 0,onChange:x=>{l(x.currentTarget.value),p&&m("")},onKeyDown:x=>x.key==="Enter"&&b()}),p&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:p}),i.length>1&&f.jsxs("fieldset",{className:"start-points",children:[f.jsx("legend",{className:"modal-label",children:"Starting point"}),i.map((x,w)=>f.jsxs("label",{className:"start-point"+(u===x.value?" on":"")+(x.rule?" sp-rule":""),children:[f.jsx("input",{type:"radio",name:"template",value:x.value,checked:u===x.value,onChange:()=>d(x.value)}),f.jsxs("span",{className:"sp-text",children:[f.jsxs("span",{className:"sp-title",children:[x.title,w===0&&f.jsx("span",{className:"sp-rec",children:"Recommended"})]}),f.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),f.jsx(vt,{variant:"primary",onClick:b,disabled:y,children:"Create"})]})]})})}function ow(e,n,r){if(!e)return null;if(!r)return e[n]||null;const i={human:0,agent:0,share:0};for(const[s,l]of Object.entries(e))s.startsWith(n+"/")&&(i.human+=l.human||0,i.agent+=l.agent||0,i.share+=l.share||0);return i.human||i.agent||i.share?i:null}function ka(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Qs(e){const n=ka(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const i=[];return e.human&&i.push(e.human+" human"),e.agent&&i.push(e.agent+" agent"),e.share&&i.push(e.share+" shared"),r+" ("+i.join(", ")+")"}function tI(e){const n=ka(e);return n?n<3?1:n<10?2:n<30?3:4:0}function nI(e){const n=ka(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function rI(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const aI=7;function iI(e){if(!e.length)return null;let n=e[0],r=e[0];for(const i of e)ir&&(r=i);return{min:n,max:r}}const oI=(e,n)=>n-el.reads-s.reads).slice(0,lI)){const s=i.path.split("/").pop();let l=i.cx+i.r+4,u="start";l+s.length*cI>n.right&&(l=i.cx-i.r-4,u="end");const d=m=>r.every(y=>Math.abs(y.y-m)>=rm);let p=i.cy;for(;p<=n.bottom&&!d(p);)p+=rm;if(p>n.bottom)for(p=i.cy;p>=n.top&&!d(p);)p-=rm;r.push({path:i.path,name:s,x:l,y:Math.min(n.bottom,Math.max(n.top,p)),anchor:u})}return r}function dI(e,n=!0){const r=Zt({queryKey:["tree",e],queryFn:()=>ln(e+"tree"),enabled:n,refetchInterval:15e3}),i=S.useMemo(()=>{const s=[],l=new Map,u=d=>{for(const p of d.children||[])p.dir?(l.set(p.path,p),u(p)):s.push(p)};return r.data&&u(r.data),{flatFiles:s,dirIndex:l}},[r.data]);return{tree:r.data,...i,loaded:!!r.data}}function fI(e,n){return Zt({queryKey:["heat",e],queryFn:()=>ln(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function hI(e,n,r){return Zt({queryKey:["history",e,"prefix",n,20],queryFn:()=>ln(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function mI(e,n,r){const i=new Array(e);return new Proxy(i,{get(s,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const p=+l;if(Number.isInteger(p)&&p>=0&&pi[y]!==m))&&(i=d,s=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(s),l=!1),s}return u.updateDeps=d=>{i=d},u}function sw(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const pI=(e,n)=>Math.abs(e-n)<1.01,gI=(e,n,r)=>{let i;return function(...s){e.clearTimeout(i),i=e.setTimeout(()=>n.apply(this,s),r)}};let Bs;const am=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},lw=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},vI=e=>e,yI=e=>{const n=Math.max(e.startIndex-e.overscan,0),i=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,s=new Array(i);for(let l=0;l{const r=e.scrollElement;if(!r)return;const i=e.targetWindow;if(!i)return;const s=u=>{const{width:d,height:p}=u;n({width:Math.round(d),height:Math.round(p)})};if(s(lw(r)),!i.ResizeObserver)return()=>{};const l=new i.ResizeObserver(u=>{const d=()=>{const p=u[0];if(p?.borderBoxSize){const m=p.borderBoxSize[0];if(m){s({width:m.inlineSize,height:m.blockSize});return}}s(lw(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},Tu={passive:!0},xI=typeof window>"u"?!0:"onscrollend"in window,wI=(e,n,r)=>{const i=e.scrollElement;if(!i)return;const s=e.targetWindow;if(!s)return;const l=e.options.useScrollendEvent&&xI;let u=0;const d=l?null:gI(s,()=>n(u,!1),e.options.isScrollingResetDelay),p=v=>()=>{u=r(i),d?.(),n(u,v)},m=p(!0),y=p(!1);return i.addEventListener("scroll",m,Tu),l&&i.addEventListener("scrollend",y,Tu),()=>{i.removeEventListener("scroll",m),l&&i.removeEventListener("scrollend",y)}},SI=(e,n)=>wI(e,n,r=>{const{horizontal:i,isRtl:s}=e.options;return i?r.scrollLeft*(s&&-1||1):r.scrollTop}),_I=(e,n,r)=>{if(r.options.useCachedMeasurements){const i=r.indexFromElement(e),s=r.options.getItemKey(i);return r.itemSizeCache.get(s)??r.options.estimateSize(i)}if(n?.borderBoxSize){const i=n.borderBoxSize[0];if(i)return Math.round(i[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const i=r.indexFromElement(e),s=r.options.getItemKey(i),l=r.itemSizeCache.get(s);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},CI=(e,{adjustments:n=0,behavior:r},i)=>{var s,l;(l=(s=i.scrollElement)==null?void 0:s.scrollTo)==null||l.call(s,{[i.options.horizontal?"left":"top"]:e+n,behavior:r})},EI=CI;class RI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,i,s;return((s=(i=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:i.now)==null?void 0:s.call(i))??Date.now()},this.observer=(()=>{let r=null;const i=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(s=>{s.forEach(l=>{const u=()=>{const d=l.target,p=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[m,y]of this.elementsCache)if(y===d){this.elementsCache.delete(m);break}return}this.shouldMeasureDuringScroll(p)&&this.resizeItem(p,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var s;(s=i())==null||s.disconnect(),r=null},observe:s=>{var l;return(l=i())==null?void 0:l.observe(s,{box:"border-box"})},unobserve:s=>{var l;return(l=i())==null?void 0:l.unobserve(s)}}})(),this.range=null,this.setOptions=r=>{var i,s;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:vI,rangeExtractor:yI,onChange:()=>{},measureElement:_I,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,p=null,m=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,w=this.getMeasurements(),_=b>0?((i=w[0])==null?void 0:i.key)??u.getItemKey(0):null,E=b>0?((s=w[b-1])==null?void 0:s.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==_||l.getItemKey(x-1)!==E)){m=!0;const O=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??w[0]:null;O&&(d=[O.key,this.getScrollOffset()-O.start]);const D=l.followOnAppend===!0?"auto":l.followOnAppend||null;D&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(p=D)}}this.options=l,m&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,w=this.getMeasurements(),{count:_,getItemKey:E}=this.options;let R=0;for(;R<_&&E(R)!==b;)R++;if(R<_){const T=w[R];if(T){const O=T.start+x;O!==this.scrollOffset&&(v=O-this.scrollOffset,this.scrollOffset=O,y=!0)}}}(y||p)&&(this.pendingScrollAnchor=[y?d[0]:null,y?d[1]:0,p,v])},this.notify=r=>{var i,s;(s=(i=this.options).onChange)==null||s.call(i,this,r)},this.maybeNotify=Oo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}if(this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!am()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,Tu),l.addEventListener("touchend",d,Tu),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[l,u,d,p]=s;l!==null&&!d&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?p!==0&&(this._iosDeferredAdjustment+=p):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),i=this.getMaxScrollOffset();if(r<0||r>i)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Oo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,i,s,l,u,d,p,m)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m}),{key:!1}),this.getMeasurements=Oo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const R of this.laneAssignments.keys())R>=r&&this.laneAssignments.delete(R);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(R=>{this.itemSizeCache.set(R.key,R.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const R=r*2;let T=this._flatMeasurements;if(!T||T.length0&&$.set(T.subarray(0,b*2)),T=$,this._flatMeasurements=T}let O;if(b===0)O=i+s;else{const $=b-1;O=T[$*2]+T[$*2+1]+m}for(let $=b;$1){D=O;const ge=w[D],de=ge!==void 0?x[ge]:void 0;$=de?de.end+m:i+s}else if(E===d){let ge=0,de=_[0],Q=w[0];for(let re=1;rethis.options.debug}),this.calculateRange=Oo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,i,s,l)=>r.length===0||i===0?(this.range=null,null):(this.range=TI(r,i,s,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Oo(()=>{let r=null,i=null;const s=this.calculateRange();return s&&(r=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,i]},(r,i,s,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:i,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const i=this.options.indexAttribute,s=r.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(s!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,s-l),d=Math.min(this.options.count-1,s+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const i=this.indexFromElement(r),s=this.options.getItemKey(i),l=this.elementsCache.get(s);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(s,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,i)=>{var s,l;if(r<0||r>=this.options.count)return;let u,d,p;const m=this._flatMeasurements;if(this.options.lanes===1&&m!==null)p=this.options.getItemKey(r),d=m[r*2],u=m[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;p=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(p)??u,v=i-y;if(v!==0){const b=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,w=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:p,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,i)=>{const s=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const i=this.getMeasurements();if(i.length===0)return;const s=this._flatMeasurements,l=this.options.lanes===1&&s!=null,u=qC(0,i.length-1,l?d=>s[d*2]:d=>sw(i[d]).start,r);return sw(i[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,i,s=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();i==="auto"&&(i=r>=u+l?"end":"start"),i==="center"?r+=(s-l)/2:i==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,i="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const s=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(i==="auto")if(u.end>=l+s-this.options.scrollPaddingEnd)i="end";else if(u.start<=l+this.options.scrollPaddingStart)i="start";else return[l,i];if(i==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),i];const d=i==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,i,u.size),i]},this.scrollToOffset=(r,{align:i="start",behavior:s="auto"}={})=>{const l=this.getOffsetForAlignment(r,i),u=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:i="auto",behavior:s="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,i);if(!l)return;const[u,d]=l,p=this.now();this.scrollState={index:r,align:d,behavior:s,startedAt:p,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const i=this.getMeasurements();let s;if(i.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const l=i.length-1,u=this._flatMeasurements;u!=null?s=u[l*2]+u[l*2+1]:s=((r=i[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=i.length-1;for(;u>=0&&l.some(d=>d===null);){const d=i[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}s=Math.max(...l.filter(d=>d!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&r.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return r},this._scrollToOffset=(r,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=r+(i??0),this.options.scrollToFn(r,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=i?i[0]:this.scrollState.lastTargetOffset,l=1,u=s!==this.scrollState.lastTargetOffset;if(!u&&pI(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,p=Math.abs(s-this.getScrollOffset()),m=this.scrollState.behavior==="smooth"&&p>d;this.scrollState.lastTargetOffset=s,m||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:m?"smooth":"auto"})}this.scheduleScrollReconcile()}}const qC=(e,n,r,i)=>{for(;e<=n;){const s=(e+n)/2|0,l=r(s);if(li)n=s-1;else return s}return e>0?e-1:0};function jI(e,n,r){let i=0;for(;i<=n;){const s=(i+n)/2|0,l=e[s*2];if(lr)n=s-1;else return s}return i>0?i-1:0}function TI(e,n,r,i,s){const l=e.length-1;if(e.length<=i)return{startIndex:0,endIndex:l};if(i===1&&s!==null){const m=jI(s,l,r);let y=m;const v=r+n;for(;ye[m].start,r),p=d;if(i===1)for(;p1){const m=Array(i).fill(0);for(;pv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%i),p=Math.min(l,p+(i-1-p%i))}return{startIndex:d,endIndex:p}}const im=typeof document<"u"?S.useLayoutEffect:S.useEffect;function OI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...i}){const s=S.useReducer(m=>m+1,0)[1],l=S.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=m=>{const y=l.current;if(!y.enabled||!y.container)return;const v=m.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const R=m.options.horizontal?"width":"height";y.container.style[R]=`${v}px`}const b=!!m.options.horizontal,x=y.mode==="transform",w=b?"left":"top",_=m.options.scrollMargin,E=m.getVirtualItems();for(const R of E){const T=R.start-_,O=m.elementsCache.get(R.key);O&&y.lastPositions.get(O)!==T&&(y.lastPositions.set(O,T),x?O.style.transform=b?`translate3d(${T}px, 0, 0)`:`translate3d(0, ${T}px, 0)`:O.style[w]=`${T}px`)}},d={...i,onChange:(m,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(m);const w=m.range,_=b.prevRange;x=!_||_.isScrolling!==m.isScrolling||_.startIndex!==w?.startIndex||_.endIndex!==w?.endIndex,x&&(b.prevRange=w?{startIndex:w.startIndex,endIndex:w.endIndex,isScrolling:m.isScrolling}:null)}x&&(e&&y?Mi.flushSync(s):s()),(v=i.onChange)==null||v.call(i,m,y)}},[p]=S.useState(()=>{const m=new RI(d);return Object.assign(m,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=m.getTotalSize();v.lastSize=b;const x=m.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return p.setOptions(d),im(()=>p._didMount(),[]),im(()=>p._willUpdate()),im(()=>{u(p)}),p}function AI(e){return OI({observeElementRect:bI,observeElementOffset:SI,scrollToFn:EI,...e})}function MI(e,n){const r=[],i=(s,l)=>{for(const u of s)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&i(u.children||[],l+1)};return i(e?.children||[],0),r}function NI(e){const{root:n,expanded:r,onToggle:i,currentPath:s,listingShowing:l,onOpen:u}=e,d=S.useRef(null),p=S.useMemo(()=>MI(n,r),[n,r]),m=AI({count:p.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>p[y].node.path});return S.useEffect(()=>{if(!s)return;const y=p.findIndex(v=>v.node.path===s);y>=0&&m.scrollToIndex(y,{align:"auto"})},[s,p]),f.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:f.jsx("div",{style:{height:m.getTotalSize(),position:"relative"},children:m.getVirtualItems().map(y=>{const{node:v,depth:b}=p[y.index],x=v.dir?r.has(v.path):!1,w=()=>{if(v.dir&&s===v.path&&l){i(v.path);return}u(v.path),v.dir||pr()};return f.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(s===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:w,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),w())},children:[Array.from({length:b},(_,E)=>f.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),f.jsx("span",{className:"chev",onClick:_=>{v.dir&&(_.stopPropagation(),i(v.path))},children:f.jsx(dt,{name:"chevd"})}),f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:v.dir?"folder":"doc"})}),f.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function DI(e){const n=e.split("/"),r=[];let i="";for(let s=0;s{i=i?i+"/"+s:s;const u=i,d=l===r.length-1;return f.jsxs("span",{children:[l>0&&f.jsx("span",{className:"crumb-sep",children:"/"}),d?f.jsx("span",{children:s}):f.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:s})]},u)})})}function cw(e){if(e==="")return[];const n=e.split(` -`);return n[n.length-1]===""&&n.pop(),n}const kI=4e6;function LI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*p>kI){for(let v=0;v=0;w--)for(let _=p-1;_>=0;_--)v[w][_]=l[w]===u[_]?v[w+1][_+1]+1:Math.max(v[w+1][_],v[w][_+1]);let b=0,x=0;for(;b=v[b][x+1]?m(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const GC=1<<20,II=8192;function PI(e){if(e.byteLength>GC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,II).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Jm(e,n,r,i){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),i&&(s+="&download=1"),s}async function FI(e){const n=await gj(e),r=Number(n.headers.get("Content-Length"));return r>GC?{kind:"too-large",size:r}:PI(new Uint8Array(await n.arrayBuffer()))}function ZC(e,n,r,i){return Zt({queryKey:n,queryFn:()=>FI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function uw(e,n,r){return ZC(n?Jm(e,n):"",["blob",e,n],!!n,!0)}function VI(e){return e.slice(e.lastIndexOf("/")+1)}function UI({apiBase:e,path:n,prev:r,cur:i}){const s=VI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Jm(e,r,s,!0),children:"download previous"}),f.jsx("a",{href:Jm(e,i,s,!0),children:"download this version"})]})}function HI({apiBase:e,path:n,prev:r,cur:i}){const s=uw(e,r),l=uw(e,i),u=s.data?.kind==="text"&&l.data?.kind==="text",d=S.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?$I(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx(UI,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:p,add:m,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",m]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),m===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:p.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const BI={add:"added",edit:"edited",delete:"deleted"};function KC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function pg({entry:e,apiBase:n,onOpen:r,diff:i,restore:s,remove:l,restoreSha:u,inRun:d}){const[p,m]=S.useState(!1),[y,v]=S.useState(!1),b=e.kind==="put"?"edit":e.kind,x=dd(e),w=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),_=b!=="delete",E=!!i&&b!=="delete"&&!!e.blob,R=!!d&&b==="add",T=!!s&&!!u&&!R,O=!!l&&R,D=!!s?.busy&&s.busy===e.path+u,$=!!l?.busy&&l.busy===e.path,F=_&&!!e.blob,U=e.path.split("/").pop()||e.path,V=new Date(e.time).toLocaleString(),pe=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(U)+"&download=1",ge=()=>v(!y),de=Q=>{Q.target.tagName!=="A"&&_&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+b+(_?" clickable":""),tabIndex:_?0:void 0,role:_?"button":void 0,onClick:de,onKeyDown:Q=>{_&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:BI[b]||b}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:V})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:x}),f.jsx("span",{className:"hdev",children:w}),f.jsx("span",{className:"hsize",children:e.size?mg(e.size):""}),T&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:D,title:"Put this version of "+e.path+" back as a new change",onClick:Q=>{Q.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"hist"}),D?"restoring…":"restore"]}),O&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:$,title:"Remove "+e.path+" — this run created it",onClick:Q=>{Q.stopPropagation(),l.onRemove(e.path)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"trash"}),$?"removing…":"undo — remove file"]})]}),e.note&&!d&&f.jsx("div",{className:"hnote"+(p?" open":""),tabIndex:0,role:"button",title:p?"Collapse note":"Show full note","aria-expanded":p,onClick:Q=>{Q.stopPropagation(),Q.target.tagName!=="A"&&m(!p)},onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),m(!p))},children:f.jsx(KC,{text:e.note})}),(E||F)&&f.jsxs("div",{className:"hactions",children:[E&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:Q=>{Q.stopPropagation(),ge()},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),F&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${U} as of ${V}`,onClick:Q=>{Q.stopPropagation(),r(e.path,e.blob)},onKeyDown:Q=>Q.stopPropagation(),children:[f.jsx(dt,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:pe,"aria-label":`Download ${U} as of ${V}`,onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>{Q.stopPropagation(),Q.key===" "&&(Q.preventDefault(),Q.currentTarget.click())},children:[f.jsx(dt,{name:"download"}),"Download"]})]})]}),E&&i.prev&&y&&f.jsx("div",{onClick:Q=>Q.stopPropagation(),children:f.jsx(HI,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function qI(e){const{node:n,heatMap:r,onOpen:i}=e,s=(n.children||[]).slice().sort((m,y)=>Number(y.dir||!1)-Number(m.dir||!1)||m.name.localeCompare(y.name)),l=s.filter(m=>m.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const p=ow(r,n.path,!0);return p&&d.push(Qs(p)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(dt,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:s.map(m=>{let y="";if(m.dir){const b=(m.children||[]).length;y=b+(b===1?" item":" items")}else y=[m.size?mg(m.size):"",m.time?new Date(m.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=ow(r,m.path,!!m.dir);return v&&(y=Qs(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:m.path,onClick:()=>i(m.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(m.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(dt,{name:m.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:m.name}),v&&f.jsx("span",{className:"heatdot lvl"+tI(v),role:"img","aria-label":Qs(v)+" in 30 days",title:Qs(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},m.path)})}),e.hub&&f.jsx(GI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function GI(e){const n=hI(e.apiBase,e.prefix,!0),{onRendered:r}=e;return S.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,s)=>f.jsx(pg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},s))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}const YC=5e3;function ZI(e,n,r=YC){const i=[];let s=[],l="",u=!1,d=0;const p=()=>{s.push(l),l="",i.length()=>s(""),[r,s]),b$.test(r)?f.jsx(XI,{...e}):OC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):AC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):x$.test(r)?f.jsx(eP,{src:l,alt:r,version:i,onRendered:e.onRendered}):w$.test(r)?f.jsx(dw,{...e,fileURL:l,delim:/\.tsv$/i.test(r)?" ":","}):S$.test(r)?f.jsx(dw,{...e,fileURL:l}):f.jsx(YI,{...e,fileURL:l})}function YI(e){const{apiBase:n,path:r,version:i,fileURL:s,onRendered:l}=e,{data:u,error:d}=ZC(s,["text",s],!0,!!i);return S.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(QI,{apiBase:n,path:r,version:i,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function QI(e){const{apiBase:n,path:r,version:i,fileURL:s}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function XI(e){const{apiBase:n,path:r,version:i,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:p}=e,{data:m,error:y}=Zt({queryKey:["render",n,r,i||""],queryFn:()=>ln(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=S.useMemo(()=>m?WI(m.html,r,n):"",[m,r,n]);return S.useEffect(()=>{if(!m)return;const b=[];(m.user_name||m.user||m.author)&&b.push(dd(m)+(m.device?" on "+m.device:"")),m.time&&b.push(new Date(m.time).toLocaleString());const x=i?null:s&&s[m.path];x&&ka(x)&&b.push(Qs(x)+" / 30d"),d(b.join(" · ")),p?.()},[m,i,s,d,p]),y?f.jsx(fd,{version:i,err:y}):m?f.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>JI(b,r,l,u)}):null}function JI(e,n,r,i){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),nP(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(MC(u,decodeURIComponent(l))))}function WI(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(MC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function eP(e){const[n,r]=S.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function dw(e){const{path:n,version:r,fileURL:i,delim:s,onRendered:l}=e,{data:u,error:d}=Zt({queryKey:["text",i],queryFn:async()=>{const m=await fetch(i);if(!m.ok)throw new Error(await m.text());return m.text()},retry:r?!1:void 0});S.useEffect(()=>{u!=null&&l?.()},[u,l]);const p=S.useMemo(()=>s&&u!=null?ZI(u,s,YC):null,[u,s]);return d?f.jsx(fd,{version:r,err:d}):u==null?null:p?f.jsx(tP,{csv:p},n):f.jsx("pre",{className:"plain",children:u},n)}function tP({csv:e}){const[n,...r]=e.rows,i=e.rows.reduce((l,u)=>Math.max(l,u.length),0),s=Array.from({length:i},(l,u)=>u);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"csvbox",children:f.jsxs("table",{className:"csvview",children:[f.jsx("thead",{children:f.jsx("tr",{children:s.map(l=>f.jsx("th",{children:n[l]??""},l))})}),f.jsx("tbody",{children:r.map((l,u)=>f.jsx("tr",{children:s.map(d=>f.jsx("td",{children:l[d]??""},d))},u))})]})}),e.truncated>0&&f.jsxs("p",{className:"csvnote",children:["showing ",e.rows.length.toLocaleString()," of"," ",(e.rows.length+e.truncated).toLocaleString()," rows — Download for the rest"]})]})}function nP(e,n,r){const i=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});s&&r(s.path)}const rP=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function aP({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[s,l]=S.useState(""),[u,d]=S.useState(),[p,m]=S.useState(!1),y=S.useRef(null);async function v(b){const x=s;l(b),m(!0);try{const w=await tr("PATCH","/api/shares/"+i,{expires_in:b});d(w.expires)}catch(w){Ke(w.message,!0),l(x)}finally{m(!1)}}return f.jsx(Xu,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Ju,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(wl,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:s,disabled:p,onChange:b=>v(b.target.value),children:rP.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:zC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function iP({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(dt,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it.",e.some(i=>i.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:kC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>Bo(i.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>IC(i,r),children:"Revoke"})]})]},i.token))]})}var fw=1,oP=.9,sP=.8,lP=.17,om=.1,sm=.999,cP=.9999,uP=.99,dP=/[\\\/_+.#"@\[\(\{&]/,fP=/[\\\/_+.#"@\[\(\{&]/g,hP=/[\s-]/,QC=/[\s-]/g;function Wm(e,n,r,i,s,l,u){if(l===n.length)return s===e.length?fw:uP;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var p=i.charAt(l),m=r.indexOf(p,s),y=0,v,b,x,w;m>=0;)v=Wm(e,n,r,i,m+1,l+1,u),v>y&&(m===s?v*=fw:dP.test(e.charAt(m-1))?(v*=sP,x=e.slice(s,m-1).match(fP),x&&s>0&&(v*=Math.pow(sm,x.length))):hP.test(e.charAt(m-1))?(v*=oP,w=e.slice(s,m-1).match(QC),w&&s>0&&(v*=Math.pow(sm,w.length))):(v*=lP,s>0&&(v*=Math.pow(sm,m-s))),e.charAt(m)!==n.charAt(l)&&(v*=cP)),(vv&&(v=b*om)),v>y&&(y=v),m=r.indexOf(p,m+1);return u[d]=y,y}function hw(e){return e.toLowerCase().replace(QC," ")}function mP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,hw(e),hw(n),0,0,{})}var qs='[cmdk-group=""]',lm='[cmdk-group-items=""]',pP='[cmdk-group-heading=""]',XC='[cmdk-item=""]',mw=`${XC}:not([aria-disabled="true"])`,ep="cmdk-item-select",Ao="data-value",gP=(e,n,r)=>mP(e,n,r),JC=S.createContext(void 0),Rl=()=>S.useContext(JC),WC=S.createContext(void 0),gg=()=>S.useContext(WC),eE=S.createContext(void 0),tE=S.forwardRef((e,n)=>{let r=Mo(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=nE(e),{label:p,children:m,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:w,disablePointerSelection:_=!1,vimBindings:E=!0,...R}=e,T=hn(),O=hn(),D=hn(),$=S.useRef(null),F=jP();Oi(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,U.emit()}},[y]),Oi(()=>{F(6,re)},[]);let U=S.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,X)=>{var K,le,ee,ve;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")Q(),ge(),F(1,de);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ye=document.getElementById(D);ye?ye.focus():(K=document.getElementById(T))==null||K.focus()}if(F(7,()=>{var ye;r.current.selectedItemId=(ye=he())==null?void 0:ye.id,U.emit()}),X||F(5,re),((le=d.current)==null?void 0:le.value)!==void 0){let ye=B??"";(ve=(ee=d.current).onValueChange)==null||ve.call(ee,ye);return}}U.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),V=S.useMemo(()=>({value:(M,B,X)=>{var K;B!==((K=l.current.get(M))==null?void 0:K.value)&&(l.current.set(M,{value:B,keywords:X}),r.current.filtered.items.set(M,pe(B,X)),F(2,()=>{ge(),U.emit()}))},item:(M,B)=>(i.current.add(M),B&&(s.current.has(B)?s.current.get(B).add(M):s.current.set(B,new Set([M]))),F(3,()=>{Q(),ge(),r.current.value||de(),U.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let X=he();F(4,()=>{Q(),X?.getAttribute("id")===M&&de(),U.emit()})}),group:M=>(s.current.has(M)||s.current.set(M,new Set),()=>{l.current.delete(M),s.current.delete(M)}),filter:()=>d.current.shouldFilter,label:p||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:T,inputId:D,labelId:O,listInnerRef:$}),[]);function pe(M,B){var X,K;let le=(K=(X=d.current)==null?void 0:X.filter)!=null?K:gP;return M?le(M,r.current.search,B):0}function ge(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(K=>{let le=s.current.get(K),ee=0;le.forEach(ve=>{let ye=M.get(ve);ee=Math.max(ye,ee)}),B.push([K,ee])});let X=$.current;xe().sort((K,le)=>{var ee,ve;let ye=K.getAttribute("id"),Ne=le.getAttribute("id");return((ee=M.get(Ne))!=null?ee:0)-((ve=M.get(ye))!=null?ve:0)}).forEach(K=>{let le=K.closest(lm);le?le.appendChild(K.parentElement===le?K:K.closest(`${lm} > *`)):X.appendChild(K.parentElement===X?K:K.closest(`${lm} > *`))}),B.sort((K,le)=>le[1]-K[1]).forEach(K=>{var le;let ee=(le=$.current)==null?void 0:le.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);ee?.parentElement.appendChild(ee)})}function de(){let M=xe().find(X=>X.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(Ao);U.setState("value",B||void 0)}function Q(){var M,B,X,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let le=0;for(let ee of i.current){let ve=(B=(M=l.current.get(ee))==null?void 0:M.value)!=null?B:"",ye=(K=(X=l.current.get(ee))==null?void 0:X.keywords)!=null?K:[],Ne=pe(ve,ye);r.current.filtered.items.set(ee,Ne),Ne>0&&le++}for(let[ee,ve]of s.current)for(let ye of ve)if(r.current.filtered.items.get(ye)>0){r.current.filtered.groups.add(ee);break}r.current.filtered.count=le}function re(){var M,B,X;let K=he();K&&(((M=K.parentElement)==null?void 0:M.firstChild)===K&&((X=(B=K.closest(qs))==null?void 0:B.querySelector(pP))==null||X.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function he(){var M;return(M=$.current)==null?void 0:M.querySelector(`${XC}[aria-selected="true"]`)}function xe(){var M;return Array.from(((M=$.current)==null?void 0:M.querySelectorAll(mw))||[])}function N(M){let B=xe()[M];B&&U.setState("value",B.getAttribute(Ao))}function Z(M){var B;let X=he(),K=xe(),le=K.findIndex(ve=>ve===X),ee=K[le+M];(B=d.current)!=null&&B.loop&&(ee=le+M<0?K[K.length-1]:le+M===K.length?K[0]:K[le+M]),ee&&U.setState("value",ee.getAttribute(Ao))}function ie(M){let B=he(),X=B?.closest(qs),K;for(;X&&!K;)X=M>0?EP(X,qs):RP(X,qs),K=X?.querySelector(mw);K?U.setState("value",K.getAttribute(Ao)):Z(M)}let te=()=>N(xe().length-1),ne=M=>{M.preventDefault(),M.metaKey?te():M.altKey?ie(1):Z(1)},k=M=>{M.preventDefault(),M.metaKey?N(0):M.altKey?ie(-1):Z(-1)};return S.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let X=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||X))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&ne(M);break}case"ArrowDown":{ne(M);break}case"p":case"k":{E&&M.ctrlKey&&k(M);break}case"ArrowUp":{k(M);break}case"Home":{M.preventDefault(),N(0);break}case"End":{M.preventDefault(),te();break}case"Enter":{M.preventDefault();let K=he();if(K){let le=new Event(ep);K.dispatchEvent(le)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:V.inputId,id:V.labelId,style:OP},p),md(e,M=>S.createElement(WC.Provider,{value:U},S.createElement(JC.Provider,{value:V},M))))}),vP=S.forwardRef((e,n)=>{var r,i;let s=hn(),l=S.useRef(null),u=S.useContext(eE),d=Rl(),p=nE(e),m=(i=(r=p.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Oi(()=>{if(!m)return d.item(s,u?.id)},[m]);let y=rE(s,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(F=>F.value&&F.value===y.current),x=qa(F=>m||d.filter()===!1?!0:F.search?F.filtered.items.get(s)>0:!0);S.useEffect(()=>{let F=l.current;if(!(!F||e.disabled))return F.addEventListener(ep,w),()=>F.removeEventListener(ep,w)},[x,e.onSelect,e.disabled]);function w(){var F,U;_(),(U=(F=p.current).onSelect)==null||U.call(F,y.current)}function _(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:T,forceMount:O,keywords:D,...$}=e;return S.createElement($e.div,{ref:Fo(l,n),...$,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:_,onClick:E?void 0:w},e.children)}),yP=S.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:s,...l}=e,u=hn(),d=S.useRef(null),p=S.useRef(null),m=hn(),y=Rl(),v=qa(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oi(()=>y.group(u),[]),rE(u,d,[e.value,e.heading,p]);let b=S.useMemo(()=>({id:u,forceMount:s}),[s]);return S.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&S.createElement("div",{ref:p,"cmdk-group-heading":"","aria-hidden":!0,id:m},r),md(e,x=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?m:void 0},S.createElement(eE.Provider,{value:b},x))))}),bP=S.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,s=S.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:S.createElement($e.div,{ref:Fo(s,n),...i,"cmdk-separator":"",role:"separator"})}),xP=S.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,s=e.value!=null,l=gg(),u=qa(m=>m.search),d=qa(m=>m.selectedItemId),p=Rl();return S.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),S.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":p.listId,"aria-labelledby":p.labelId,"aria-activedescendant":d,id:p.inputId,type:"text",value:s?e.value:u,onChange:m=>{s||l.setState("search",m.target.value),r?.(m.target.value)}})}),wP=S.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...s}=e,l=S.useRef(null),u=S.useRef(null),d=qa(m=>m.selectedItemId),p=Rl();return S.useEffect(()=>{if(u.current&&l.current){let m=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=m.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(m),()=>{cancelAnimationFrame(v),b.unobserve(m)}}},[]),S.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:p.listId},md(e,m=>S.createElement("div",{ref:Fo(u,p.listInnerRef),"cmdk-list-sizer":""},m)))}),SP=S.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:s,contentClassName:l,container:u,...d}=e;return S.createElement(hp,{open:r,onOpenChange:i},S.createElement(pp,{container:u},S.createElement(gp,{"cmdk-overlay":"",className:s}),S.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},S.createElement(tE,{ref:n,...d}))))}),_P=S.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?S.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),CP=S.forwardRef((e,n)=>{let{progress:r,children:i,label:s="Loading...",...l}=e;return S.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},md(e,u=>S.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(tE,{List:wP,Item:vP,Input:xP,Group:yP,Separator:bP,Dialog:SP,Empty:_P,Loading:CP});function EP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function RP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function nE(e){let n=S.useRef(e);return Oi(()=>{n.current=e}),n}var Oi=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Mo(e){let n=S.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return S.useSyncExternalStore(n.subscribe,r,r)}function rE(e,n,r,i=[]){let s=S.useRef(),l=Rl();return Oi(()=>{var u;let d=(()=>{var m;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(m=y.current.textContent)==null?void 0:m.trim():s.current}})(),p=i.map(m=>m.trim());l.value(e,d,p),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var jP=()=>{let[e,n]=S.useState(),r=Mo(()=>new Map);return Oi(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,s)=>{r.current.set(i,s),n({})}};function TP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&S.isValidElement(n)?S.cloneElement(TP(n),{ref:n.ref},r(n.props.children)):r(n)}var OP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function AP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Xe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function MP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(b_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Xe("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function NP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Xe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function DP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Xe("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function pw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let p=0;p3&&i.endsWith("ies")?s=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?s=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(s=i.slice(0,-1)),s?pw(s,n):null}function kP({text:e,hits:n}){const r=[];let i=0;return n.forEach((s,l)=>{s>i&&r.push(e.slice(i,s)),r.push(f.jsx("b",{children:e[s]},l)),i=s+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function LP({open:e,onClose:n,candidates:r}){const[i,s]=S.useState(""),l=S.useMemo(()=>{if(!e)return[];const d=[];for(const p of r()){const m=zP(i,p.label);m&&d.push({...p,score:m.score,hits:m.hits})}return d.sort((p,m)=>m.score-p.score),d.slice(0,40)},[e,i,r]);S.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Xu,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Ju,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(wl,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(AP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(dt,{name:"search"}),f.jsx(MP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:s})]}),f.jsx(NP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(DP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(dt,{name:d.icon})}),f.jsx(kP,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Xs=3,No=30;function $P(e,n){return Zt({queryKey:["heatDevices",e],queryFn:()=>ln(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}const IP=["all","human","agent","share"],PP={all:"All reads",human:"Human reads",agent:"Agent reads",share:"Shared reads"},FP={agent:{agent:1,human:0,share:0},human:{agent:0,human:1,share:0},share:{agent:0,human:0,share:1}};function gw(e){const[n,r]=S.useState("all"),{flatFiles:i,heatMap:s,devices:l,scope:u}=e,d=w=>!u||w===u||w.startsWith(u+"/"),p=u?i.filter(w=>d(w.path)):i;if(!e.loading&&!p.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...ul(e.installHref),children:"Set up a device →"})]})]});const m=l&&u?l.map(w=>{const _=Object.create(null);for(const[E,R]of Object.entries(w.folders||{}))d(E)&&(_[E]=R);return{...w,folders:_}}).filter(w=>Object.keys(w.folders).length>0):l,y=Date.now(),v=p.map(w=>{const _=s&&s[w.path]||{},E=w.time?Math.max(0,(y-new Date(w.time).getTime())/864e5):0,R=n==="all"?ka(_):_[n]||0;return{path:w.path,reads:R,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:E,danger:R>=Xs&&E>=No}}),b=rI(s,new Set(i.map(w=>w.path))).filter(d).map(w=>{const _=s[w];return{path:w,reads:n==="all"?ka(_):_[n]||0,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:0,danger:!1,orphan:!0}}).filter(w=>w.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} 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."}),f.jsx("div",{className:"in-lens",children:IP.map(w=>f.jsx("button",{className:"in-lens-btn"+(w===n?" active":""),onClick:()=>r(w),children:PP[w]},w))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(UP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx(BP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(qP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),m&&m.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(GP,{devices:m})]})]})}const VP="rgb(150,156,164)";function aE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),s=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function vw(e,n,r,i,s){const l=e.reduce((m,y)=>m+y.value,0);if(!l||i<=0||s<=0)return[];const u=e.slice().sort((m,y)=>y.value-m.value).map(m=>({it:m,a:m.value/l*i*s})),d=(m,y)=>{const b=m.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of m){const _=w.a/b;x=Math.max(x,_/b,b/_)}return x},p=[];for(;u.length;){const m=i>=s,y=m?s:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of v){const _=w.a/b;m?p.push({item:w.it,x:n,y:r+x,w:b,h:_}):p.push({item:w.it,x:n+x,y:r,w:_,h:b}),x+=_}m?(n+=b,i-=b):(r+=b,s-=b)}return p}const cm=15;function yw(e,n,r){const i=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=i?{label:s,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function UP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=iI(e.map(y=>y.days)),d=!!u&&oI(u.min,u.max),p=new Map;for(const y of e){const v=y.path.includes("/")?y.path.split("/")[0]:"/";let b=p.get(v);b||p.set(v,b={name:v,files:[],value:0,reads:0}),b.files.push(y),b.value+=y.reads+1,b.reads+=y.reads}const m=[];for(const y of vw([...p.values()],0,0,720,480)){const v=y.item,b=v.name==="/"?"":v.name,x=v.name==="/"?"(root)":v.name;if(m.push(f.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":b,children:f.jsx("title",{children:`${v.name==="/"?"(root)":v.name+"/"} — ${tp(v.reads,"read")}/30d · ${tp(v.files.length,"file")}`})},"g"+v.name)),y.w>46&&y.h>cm+10){const{label:_}=yw(x,v.reads,y.w);m.push(f.jsx("text",{x:y.x+5,y:y.y+12,className:"in-tm-glabel","data-dir":b,children:_},"gl"+v.name))}const w=vw(v.files.map(_=>({..._,name:_.path.split("/").pop(),value:_.reads+1})),y.x+2,y.y+cm,Math.max(0,y.w-4),Math.max(0,y.h-cm-2));for(const _ of w)if(m.push(f.jsx("rect",{x:_.x+.6,y:_.y+.6,width:Math.max(.4,_.w-1.2),height:Math.max(.4,_.h-1.2),rx:1.5,fill:d?VP:aE(_.item.days),className:"in-tm-cell","data-path":_.item.path,children:f.jsx("title",{children:`${_.item.path} — ${_.item.reads} read${_.item.reads===1?"":"s"}/30d · changed ${Math.round(_.item.days)}d ago`})},_.item.path)),_.w>54&&_.h>16){const{label:E,fit:R}=yw((_.item.danger?"⚠ ":"")+_.item.name,_.item.reads,_.w);R>=5&&m.push(f.jsx("text",{x:_.x+4.5,y:_.y+12.5,className:"in-tm-label","data-path":_.item.path,children:E},"l"+_.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:y=>{const v=y.target.closest("[data-path], [data-dir]");if(!v)return;const b=v.getAttribute("data-path");if(b)return n(b);const x=v.getAttribute("data-dir");x&&i(x)&&r(x)},children:m}),f.jsx(HP,{range:u,flat:d})]})}function HP({range:e,flat:n}){if(!e)return null;const r=sI(e.min,e.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age"+(n?" in-sw-flat":""),style:{background:`linear-gradient(to right, ${[0,60,150,300].map(aE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:n?`all files here: ${r} old — colour off, not enough range to rank`:`observed: ${r} old`})]})}function BP({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(w=>w.days)),u=Math.max(Xs*2,...e.map(w=>w.reads)),d=w=>Math.log10(w+1)/Math.log10(l+1),p=w=>Math.log10(w+1)/Math.log10(u+1),m=w=>3+4*w,y=m(1),v=w=>s.l+y+d(w)*(720-s.l-s.r-2*y),b=w=>360-s.b-y-p(w)*(360-s.t-s.b-2*y),x=uI(e.filter(w=>w.danger).map(w=>({path:w.path,reads:w.reads,cx:v(w.days),cy:b(w.reads),r:m(w.total?(w.agent||0)/w.total:0)})),{right:720-s.r,top:s.t+8,bottom:360-s.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(No),y:s.t,width:720-s.r-v(No),height:b(Xs)-s.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(No),y1:s.t,x2:v(No),y2:360-s.b,className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:b(Xs),x2:720-s.r,y2:b(Xs),className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),f.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),f.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),e.map(w=>{const _=w.total?(w.agent||0)/w.total:0;return f.jsx("circle",{cx:Number(v(w.days).toFixed(1)),cy:Number(b(w.reads).toFixed(1)),r:Number(m(_).toFixed(1)),className:"in-pt"+(w.danger?" danger":w.reads?"":" cold"),onClick:()=>n(w.path),children:f.jsx("title",{children:`${w.path} — ${w.reads} read${w.reads===1?"":"s"} / 30d · changed ${Math.round(w.days)}d ago`})},w.path)}),x.map(w=>f.jsx("text",{x:Number(w.x.toFixed(1)),y:Number(w.y.toFixed(1)),textAnchor:w.anchor,className:"in-pt-label",children:w.name},w.path))]})}function qP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const s=e.filter(d=>d.reads>0).sort((d,p)=>p.reads-d.reads||p.days-d.days).slice(0,20);if(!s.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:s.map(d=>{const p=FP[n]??nI(d),m=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(m*p.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(m*p.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(m*p.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function GP({devices:e}){const n=new Map;for(const b of e)for(const[x,w]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+w);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,p=720,m=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],w=[245,166,35],_=x.map((E,R)=>Math.round(E+(w[R]-E)*b));return`rgb(${_[0]},${_[1]},${_[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${p} ${m}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let w=b.name||b.id||"";return w.length>20&&(w=w.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:w}),r.map((_,E)=>{const R=(b.folders||{})[_]||0;return f.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${_||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},_)})]},b.id||x)}),r.map((b,x)=>{const w=s+x*u+(u-4)/2,_=l+i.length*d+14;return f.jsx("text",{x:w,y:_,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${w} ${_})`,children:b||"(root)"},b)})]})}function iE(e){return new Set(e.entries.map(n=>n.path)).size}function ZP(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const i=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||iE(d)<2){i.push({i:u});return}s.has(d)||(s.add(d),i.push({run:d,i:u}))}),i}function KP(e){const{filters:n,authors:r,onChange:i}=e,s=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=S.useState(n?.q??""),d=S.useRef(!1);S.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),S.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&s("q",l)},250);return()=>clearTimeout(y)},[l]);const p=n?.user&&!r.includes(n.user)?[n.user,...r]:r,m=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(dt,{name:"search"}),f.jsx(uu,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>s("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),p.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>s("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(uu,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>s("until",y.target.value)})]}),m&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function YP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function QP(e){const{apiBase:n,target:r,isFolder:i,onMeta:s,onRendered:l,restore:u,remove:d,filters:p}=e,m=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in m&&m.path!==void 0?"path="+encodeURIComponent(m.path):"prefix="+encodeURIComponent(m.prefix??""))+N_(p).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:w,isFetchingNextPage:_}=fj({queryKey:["history",n,y],queryFn:({pageParam:F})=>ln(n+"history?"+y+"&n=100"+(F?"&cursor="+encodeURIComponent(F):"")),initialPageParam:"",getNextPageParam:F=>F.next_cursor,staleTime:15e3}),E=S.useRef(new Set);S.useEffect(()=>{b&&s("History unavailable: "+b.message)},[b,s]),S.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap(F=>F.entries||[]):[];for(const F of YP(R))E.current.add(F);const T=e.onFilters&&f.jsx(KP,{filters:p,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return T?f.jsx("div",{className:"history",children:T}):null;const O=F=>{for(let U=F+1;U{const U=R[F].kind==="delete"?O(F):R[F].blob;return U&&U===D.get(R[F].path)?void 0:U};return f.jsxs("div",{className:"history",children:[T,R.length===0&&(Zp(p)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),ZP(R).map((F,U)=>F.run?f.jsx(XP,{run:F.run,onOpen:e.onOpen,apiBase:n,prevBlob:O,restoreSha:$,restore:u,remove:d},"g"+U):f.jsx(pg,{entry:R[F.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:O(F.i)},restore:u,restoreSha:$(F.i)},"r"+F.i)),w&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:_,children:_?"Loading…":"Load more"})]})}function XP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:s,restore:l,remove:u}){const[d,p]=S.useState(!0),m=e.entries[0],y=dd(m),v=[m.device.name||m.device.id,m.device.os].filter(Boolean).join(" · "),b=e.entries.map(_=>new Date(_.time).getTime()),x=JP(Math.min(...b),Math.max(...b)),w=iE(e);return f.jsxs("div",{className:"hrun"+(d?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":d,title:d?"Collapse this run":"Expand this run",onClick:()=>p(!d),children:f.jsx(dt,{name:d?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(KC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[w," file",w===1?"":"s"," · ",y,v?" · "+v:""]}),f.jsx("span",{className:"hrun-time",children:x})]}),d&&f.jsx("div",{className:"hrun-body",children:e.entries.map((_,E)=>f.jsx(pg,{entry:_,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[E])},restore:l,remove:u,restoreSha:s(e.idx[E]),inRun:!0},E))})]})}function JP(e,n){const r=new Date(e),i=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+s(i):l+" "+s(r)+" – "+s(i)}function WP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function eF(e){const{apiBase:n,path:r,version:i}=e,s="path="+encodeURIComponent(r),{data:l}=Zt({queryKey:["history",n,s,200],queryFn:()=>ln(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",p=u?.time?new Date(u.time).toLocaleString():"",m=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(dt,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[p&&"Version from "+p,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:m,children:"Download this version"})]})]})}function oE(e){const{config:n,apiBase:r,route:i,hub:s,project:l}=e,u=Yp(),d=Ai(),{tree:p,flatFiles:m,dirIndex:y,loaded:v}=dI(r,!s||!!l),b=fI(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!i.path&&!i.view,w=i.view==="dashboard"||x,_=$P(r,w);S.useEffect(()=>{w&&d.invalidateQueries({queryKey:["heat",r]})},[w,r,d]);const E=i.path,R=i.view?void 0:i.version,T=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",O=!!E&&y.has(E),D=!!E&&v&&!O&&m.some(z=>z.path===E),$=!!E&&v&&!O&&!D,F=O&&!i.view,[U,V]=S.useState(()=>new Set),pe=S.useRef(!0);S.useEffect(()=>{if(!p||!pe.current)return;pe.current=!1;const z=(p.children||[]).filter(I=>I.dir);z.length===1&&V(I=>new Set(I).add(z[0].path))},[p]),S.useEffect(()=>{!T||!v||V(z=>{const I=new Set(z);for(const J of DI(T))I.add(J);return y.has(T)&&I.add(T),I})},[T,v,y]);const ge=S.useCallback(z=>{V(I=>{const J=new Set(I);return J.has(z)?J.delete(z):J.add(z),J})},[]),de=S.useRef(null),Q=S.useRef(new Map),re=S.useRef({key:"",want:0,attempts:0});S.useEffect(()=>{re.current={key:u,want:N3()==="POP"?Q.current.get(u)??0:0,attempts:0}},[u]);const he=S.useCallback(()=>{const z=de.current,I=re.current;!z||I.key!==u||I.attempts>=3||(I.attempts++,z.scrollTo({top:I.want,behavior:"instant"}))},[u]),xe=S.useCallback(()=>{de.current&&Q.current.set(u,de.current.scrollTop)},[u]),N=S.useCallback((z,I)=>{rn(Wu(z,l?.id,I)),pr()},[l?.id]),Z=S.useCallback(z=>rn(Vn("history",l?.id,z)),[l?.id]),[ie,te]=S.useState(""),[ne,k]=S.useState(null),[M,B]=S.useState(!1),[X,K]=S.useState(!1);S.useEffect(()=>VD(()=>K(!0)),[]);const le=S.useRef(null),ee=e.panel??null,ve=!ee&&s&&!!l&&D&&wi(l.perm,"write"),{data:ye}=j_(l?.id,s&&!!l),Ne=S.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Ie=D?(ye||[]).filter(z=>z.path===E):[],Fe=!ee&&s&&!!l,ft=!ee&&D,Qe=!ee&&(D||s&&!!l&&O),vn=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),un=S.useCallback(async()=>{try{const z=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!z.ok)throw new Error(await z.text());const I=await z.json();zw("share_created");const J=await Bo(I.url);k({url:I.url,copied:J}),Ne()}catch(z){Ke("Share failed: "+z.message,!0)}},[r,E,Ne]),[Kt,ir]=S.useState(""),Dt=s&&!!l&&wi(l?.perm,"write"),or=S.useCallback(async(z,I)=>{ir(z+I);try{await Si(r+"restore",{path:z,sha:I}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+z+" — it syncs to every device like any other change.")}catch(J){Ke("Restore failed: "+J.message,!0)}finally{ir("")}},[r,d]),[Dr,Tt]=S.useState(""),Hn=S.useCallback(async z=>{if(await _l("Remove "+z+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){Tt(z);try{await Si(r+"remove",{path:z}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+z+" — it syncs to every device like any other change.")}catch(I){Ke("Remove failed: "+I.message,!0)}finally{Tt("")}}},[r,d]),wt=S.useCallback(()=>{if(!E)return Z("");Z(O?E+"/":E)},[E,O,Z]);S.useEffect(()=>{const z=I=>{(I.metaKey||I.ctrlKey)&&I.key.toLowerCase()==="k"&&(I.preventDefault(),K(J=>!J))};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[]);const oa=S.useCallback(()=>{const z=[],I=(J,ce,me,be)=>z.push({icon:J,label:ce,kind:me,run:be});if(s&&l){const J=l.id,ce=me=>()=>{e.onClosePanel?.(),rn(me)};I("folder","Go to project root","action",ce("/"+J)),I("dashboard","Dashboard","action",ce(Vn("dashboard",J))),I("terminal","Installation","action",ce(Vn("install",J))),I("gear","Settings","action",ce(Vn("settings",J)))}if(s&&l&&E&&(D&&I("share","Share: "+E,"action",un),I("hist","History: "+E,"action",wt),D&&I("download","Download: "+E,"action",()=>le.current?.click())),s&&l&&I("hist","History: whole project","action",()=>Z("")),s)for(const J of e.projects||[])(!l||J.id!==l.id)&&I("folder","Switch to project: "+J.name,"project",()=>rn("/"+J.id));n.auth?.enabled&&I("power","Sign out","action",()=>window.location.href="/auth/logout");for(const J of y.keys())I("folder",J,"folder",()=>N(J));for(const J of m)I("doc",J.path,"file",()=>N(J.path));return z},[s,l,E,D,n.auth?.enabled,y,m,e.projects,e.onClosePanel,un,wt,Z,N]);S.useEffect(()=>{if(!M)return;const z=()=>B(!1);return document.addEventListener("click",z),()=>document.removeEventListener("click",z)},[M]);const yn=S.useCallback(z=>y.has(z),[y]);let zr="app",sr,Yt;ee?Yt=ee.body:i.view==="dashboard"?Yt=f.jsx(gw,{flatFiles:m,heatMap:b,devices:_,scope:i.viewTarget||"",loading:!v,installHref:l?Vn("install",l.id):void 0,onOpenFile:N,onOpenFolder:N,onOpenHistory:Z,isFolder:yn}):i.view==="history"?Yt=f.jsx(QP,{apiBase:r,target:i.viewTarget||"",isFolder:yn,onOpen:N,onMeta:te,onRendered:he,restore:Dt?{onRestore:or,busy:Kt}:void 0,remove:Dt?{onRemove:Hn,busy:Dr}:void 0,filters:i.filters,onFilters:z=>rn(Vn("history",l?.id,i.viewTarget||"",z))}):E?v?$?Yt=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.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."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):O?Yt=f.jsx(qI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:N,onFullHistory:Z,onRendered:he}):(zr=OC.test(E)||AC.test(E)?"wide":"read",sr="markdown",Yt=f.jsxs(f.Fragment,{children:[R&&f.jsx(eF,{apiBase:r,path:E,version:R,onViewCurrent:()=>N(E)}),f.jsx(KI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:m,onOpenFile:N,onMeta:te,onRendered:he})]})):Yt=f.jsx("div",{className:"empty",children:"Loading…"}):x?Yt=f.jsxs(f.Fragment,{children:[f.jsx(HC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(gw,{flatFiles:m,heatMap:b,devices:_,loading:!v,onOpenFile:N,onOpenFolder:N,onOpenHistory:Z,isFolder:yn})})]}):Yt=f.jsx("div",{className:"empty",children:"Select a file to read it."});const bn=ee?ee.crumb:E?f.jsx(zI,{path:E,onOpenFolder:N}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+WP(i.viewTarget||"",yn):x?l.name:null,A=f.jsx(cl,{crumb:bn,meta:ie,actions:f.jsxs(f.Fragment,{children:[ve&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:un,children:f.jsx(dt,{name:"share"})}),Fe&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:wt,children:[f.jsx(dt,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),ft&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:vn,ref:le,children:"Download"}),Qe&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:z=>{z.stopPropagation(),B(!M)},children:f.jsx(dt,{name:"dots"})}),M&&f.jsxs("div",{id:"more-menu",role:"menu",children:[Fe&&f.jsx("button",{className:"more-item",onClick:wt,children:"History"}),ft&&f.jsx("button",{className:"more-item",onClick:()=>le.current?.click(),children:"Download"}),s&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),rn(Vn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(ll,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(NI,{root:p,expanded:U,onToggle:ge,currentPath:T,listingShowing:F,onOpen:N}),topbar:A,contentRef:de,onContentScroll:xe,children:f.jsxs(wu,{width:zr,className:sr,children:[!ee&&D&&f.jsx(iP,{shares:Ie,canRevoke:!!l&&wi(l.perm,"write"),onChanged:Ne}),Yt]})}),ne&&f.jsx(aP,{url:ne.url,copied:ne.copied,onClose:()=>{k(null),Ne()}}),f.jsx(LP,{open:X,onClose:()=>K(!1),candidates:oa})]})}function tF({config:e}){const n=Yp(),r=O_(),[i,s]=S.useState(null),[l,u]=S.useState(null);S.useEffect(()=>u(null),[n]);const d=S.useMemo(()=>{const re=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return re?re[1]:null},[n]),{data:p}=E3(!d),{data:m}=R3(!d),y=!!e.auth.admin,{data:v}=T_(y),b=S.useMemo(()=>D_(n,"hub"),[n]),[x,w]=S.useState(!1),_=e.upload.enabled,E=async(re,he)=>{const xe=he===BC;try{const N=await Si("/api/projects",{name:re,template:xe?"":he});w(!1),await r(),rn("/"+N.project.id+(xe?"?connect=existing":"")),Ke(`Created “${N.project.name}”.`)}catch(N){Ke("Could not create the project: "+N.message,!0)}},R=x?f.jsx(eI,{templates:e.templates??[],onCreate:E,onClose:()=>w(!1)}):null,T=S.useMemo(()=>p&&(p.find(re=>re.id===b.project)||i&&p.find(re=>re.org===i)||p.find(re=>re.id===_$())||p[0])||null,[p,b.project,i]);if(S.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&C$(T.id)},[T,e]),d)return f.jsx(nF,{token:d,onDone:async re=>{s(re),await r(),rn("/",{replace:!0})}});const O=e.brand||"BearDrive",D=T&&m?.find(re=>re.id===T.org)||null,$=f.jsx(Qu,{name:O,onHome:()=>rn("/"),search:!!T}),F=e.me?f.jsx(q$,{me:e.me,org:D,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),pr()}}:void 0}):void 0;if(!p||!m)return f.jsx(ll,{vault:$,topbar:f.jsx(cl,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(ll,{vault:$,projectsNav:f.jsx(aw,{projects:p,onNew:()=>w(!0)}),orgBar:F,topbar:f.jsx(cl,{}),children:[f.jsx(wu,{children:f.jsx(W$,{onNew:()=>w(!0),canCreate:_})}),R]});const U=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx(k$,{})}:null,V=b.org?m.find(re=>re.id===b.org):null,ge=b.org&&!V?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...ul("/"+T.id),children:["Back to ",T.name]})})]})}:V?{crumb:"Organization",body:f.jsx(N$,{org:V,projects:p,myEmail:e.me?.email||""})}:null,de=b.billing?{crumb:"Billing",body:e.billing?f.jsx(G$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,Q=b.view==="settings"?{crumb:"Project settings",body:f.jsx(Y$,{project:T,org:D,onDeleted:async()=>{await r(),rn("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(HC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?f.jsx(Ks,{to:"/"+T.id}):b.legacyView&&b.view?f.jsx(Ks,{to:Vn(b.view,T.id,b.viewTarget,b.filters)}):b.queryTarget&&b.view?f.jsx(Ks,{to:Vn(b.view,T.id,b.viewTarget,b.filters)}):b.trailingSlash&&b.path?f.jsx(Ks,{to:Wu(b.path,T.id,b.version)}):f.jsxs(f.Fragment,{children:[f.jsx(oE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:p,sidebar:{vault:$,projectsNav:f.jsx(aw,{projects:p,currentId:T.id,onNew:()=>w(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),rn(Vn("dashboard",T.id)),pr()},onInstall:()=>{u(null),rn(Vn("install",T.id)),pr()},onHistory:()=>{u(null),rn(Vn("history",T.id)),pr()},onSettings:()=>{u(null),rn(Vn("settings",T.id)),pr()}}}),orgBar:F},panel:U||ge||de||Q,onClosePanel:()=>u(null)},T.id),R]})}function nF({token:e,onDone:n}){return S.useEffect(()=>{let r=!1;return Si("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(ll,{vault:f.jsx(Qu,{name:"BearDrive"}),topbar:f.jsx(cl,{}),children:f.jsx(wu,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function rF({config:e}){const n=Yp(),r=e.volume||"BearDrive";S.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=S.useMemo(()=>D_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(Ks,{to:Wu(i.path)}):f.jsx(oE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Qu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function aF(){const{data:e}=vj();return f.jsxs($D,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(tF,{config:e}):f.jsx(rF,{config:e}):f.jsx(ll,{vault:f.jsx(Qu,{name:"…",showSignout:!1}),topbar:f.jsx(cl,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(v3,{}),f.jsx(S3,{})]})}class iF extends S.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const oF=new ej({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});j2.createRoot(document.getElementById("root")).render(f.jsx(S.StrictMode,{children:f.jsx(iF,{children:f.jsx(tj,{client:oF,children:f.jsx(aF,{})})})})); diff --git a/internal/webapp/static/assets/index-u2Ih5Asg.js b/internal/webapp/static/assets/index-u2Ih5Asg.js new file mode 100644 index 0000000..40a354f --- /dev/null +++ b/internal/webapp/static/assets/index-u2Ih5Asg.js @@ -0,0 +1,122 @@ +function y2(e,n){for(var r=0;ri[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function r(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=r(s);fetch(s.href,l)}})();function bw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Rh={exports:{}},Is={};var lb;function b2(){if(lb)return Is;lb=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(i,s,l){var u=null;if(l!==void 0&&(u=""+l),s.key!==void 0&&(u=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:i,key:u,ref:s!==void 0?s:null,props:l}}return Is.Fragment=n,Is.jsx=r,Is.jsxs=r,Is}var cb;function x2(){return cb||(cb=1,Rh.exports=b2()),Rh.exports}var f=x2(),jh={exports:{}},Pe={};var ub;function w2(){if(ub)return Pe;ub=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function x(D){return D===null||typeof D!="object"?null:(D=b&&D[b]||D["@@iterator"],typeof D=="function"?D:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,E={};function R(D,M,B){this.props=D,this.context=M,this.refs=E,this.updater=B||w}R.prototype.isReactComponent={},R.prototype.setState=function(D,M){if(typeof D!="object"&&typeof D!="function"&&D!=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,D,M,"setState")},R.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function T(){}T.prototype=R.prototype;function O(D,M,B){this.props=D,this.context=M,this.refs=E,this.updater=B||w}var N=O.prototype=new T;N.constructor=O,_(N,R.prototype),N.isPureReactComponent=!0;var L=Array.isArray;function P(){}var F={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function ve(D,M,B){var J=B.ref;return{$$typeof:e,type:D,key:M,ref:J!==void 0?J:null,props:B}}function ye(D,M){return ve(D.type,M,D.props)}function he(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function X(D){var M={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(B){return M[B]})}var ae=/\/+/g;function pe(D,M){return typeof D=="object"&&D!==null&&D.key!=null?X(""+D.key):M.toString(36)}function xe(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(P,P):(D.status="pending",D.then(function(M){D.status==="pending"&&(D.status="fulfilled",D.value=M)},function(M){D.status==="pending"&&(D.status="rejected",D.reason=M)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function z(D,M,B,J,K){var ce=typeof D;(ce==="undefined"||ce==="boolean")&&(D=null);var re=!1;if(D===null)re=!0;else switch(ce){case"bigint":case"string":case"number":re=!0;break;case"object":switch(D.$$typeof){case e:case n:re=!0;break;case y:return re=D._init,z(re(D._payload),M,B,J,K)}}if(re)return K=K(D),re=J===""?"."+pe(D,0):J,L(K)?(B="",re!=null&&(B=re.replace(ae,"$&/")+"/"),z(K,M,B,"",function(Oe){return Oe})):K!=null&&(he(K)&&(K=ye(K,B+(K.key==null||D&&D.key===K.key?"":(""+K.key).replace(ae,"$&/")+"/")+re)),M.push(K)),1;re=0;var ge=J===""?".":J+":";if(L(D))for(var be=0;be>>1,te=z[W];if(0>>1;Ws(B,oe))Js(K,B)?(z[W]=K,z[J]=oe,W=J):(z[W]=B,z[M]=oe,W=M);else if(Js(K,oe))z[W]=K,z[J]=oe,W=J;else break e}}return Q}function s(z,Q){var oe=z.sortIndex-Q.sortIndex;return oe!==0?oe:z.id-Q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var p=[],m=[],y=1,v=null,b=3,x=!1,w=!1,_=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function N(z){for(var Q=r(m);Q!==null;){if(Q.callback===null)i(m);else if(Q.startTime<=z)i(m),Q.sortIndex=Q.expirationTime,n(p,Q);else break;Q=r(m)}}function L(z){if(_=!1,N(z),!w)if(r(p)!==null)w=!0,P||(P=!0,X());else{var Q=r(m);Q!==null&&xe(L,Q.startTime-z)}}var P=!1,F=-1,V=5,ve=-1;function ye(){return E?!0:!(e.unstable_now()-vez&&ye());){var W=v.callback;if(typeof W=="function"){v.callback=null,b=v.priorityLevel;var te=W(v.expirationTime<=z);if(z=e.unstable_now(),typeof te=="function"){v.callback=te,N(z),Q=!0;break t}v===r(p)&&i(p),N(z)}else i(p);v=r(p)}if(v!==null)Q=!0;else{var D=r(m);D!==null&&xe(L,D.startTime-z),Q=!1}}break e}finally{v=null,b=oe,x=!1}Q=void 0}}finally{Q?X():P=!1}}}var X;if(typeof O=="function")X=function(){O(he)};else if(typeof MessageChannel<"u"){var ae=new MessageChannel,pe=ae.port2;ae.port1.onmessage=he,X=function(){pe.postMessage(null)}}else X=function(){R(he,0)};function xe(z,Q){F=R(function(){z(e.unstable_now())},Q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(z){z.callback=null},e.unstable_forceFrameRate=function(z){0>z||125W?(z.sortIndex=oe,n(m,z),r(p)===null&&z===r(m)&&(_?(T(F),F=-1):_=!0,xe(L,oe-W))):(z.sortIndex=te,n(p,z),w||x||(w=!0,P||(P=!0,X()))),z},e.unstable_shouldYield=ye,e.unstable_wrapCallback=function(z){var Q=b;return function(){var oe=b;b=Q;try{return z.apply(this,arguments)}finally{b=oe}}}})(Ah)),Ah}var hb;function _2(){return hb||(hb=1,Oh.exports=S2()),Oh.exports}var Mh={exports:{}},cn={};var mb;function C2(){if(mb)return cn;mb=1;var e=np();function n(p){var m="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Mh.exports=C2(),Mh.exports}var gb;function E2(){if(gb)return Ps;gb=1;var e=_2(),n=np(),r=xw();function i(t){var a="https://react.dev/errors/"+t;if(1te||(t.current=W[te],W[te]=null,te--)}function B(t,a){te++,W[te]=t.current,t.current=a}var J=D(null),K=D(null),ce=D(null),re=D(null);function ge(t,a){switch(B(ce,a),B(K,t),B(J,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?M0(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=M0(a),t=N0(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}M(J),B(J,t)}function be(){M(J),M(K),M(ce)}function Oe(t){t.memoizedState!==null&&B(re,t);var a=J.current,o=N0(a,t.type);a!==o&&(B(K,t),B(J,o))}function Ie(t){K.current===t&&(M(J),M(K)),re.current===t&&(M(re),zs._currentValue=oe)}var Ve,it;function Qe(t){if(Ve===void 0)try{throw Error()}catch(o){var a=o.stack.trim().match(/\n( *(at )?)/);Ve=a&&a[1]||"",it=-1)":-1h||k[c]!==G[h]){var ie=` +`+k[c].replace(" at new "," at ");return t.displayName&&ie.includes("")&&(ie=ie.replace("",t.displayName)),ie}while(1<=c&&0<=h);break}}}finally{fn=!1,Error.prepareStackTrace=o}return(o=t?t.displayName||t.name:"")?Qe(o):""}function Qt(t,a){switch(t.tag){case 26:case 27:case 5:return Qe(t.type);case 16:return Qe("Lazy");case 13:return t.child!==a&&a!==null?Qe("Suspense Fallback"):Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 15:return hn(t.type,!1);case 11:return hn(t.type.render,!1);case 1:return hn(t.type,!0);case 31:return Qe("Activity");default:return""}}function br(t){try{var a="",o=null;do a+=Qt(t,o),o=t,t=t.return;while(t);return a}catch(c){return` +Error generating stack: `+c.message+` +`+c.stack}}var jt=Object.prototype.hasOwnProperty,rr=e.unstable_scheduleCallback,xr=e.unstable_cancelCallback,Tt=e.unstable_shouldYield,Vn=e.unstable_requestPaint,Dt=e.unstable_now,kr=e.unstable_getCurrentPriorityLevel,ar=e.unstable_ImmediatePriority,ir=e.unstable_UserBlockingPriority,wr=e.unstable_NormalPriority,or=e.unstable_LowPriority,mn=e.unstable_IdlePriority,A=e.log,I=e.unstable_setDisableYieldValue,U=null,ue=null;function Z(t){if(typeof A=="function"&&I(t),ue&&typeof ue.setStrictMode=="function")try{ue.setStrictMode(U,t)}catch{}}var ne=Math.clz32?Math.clz32:Ee,de=Math.log,we=Math.LN2;function Ee(t){return t>>>=0,t===0?32:31-(de(t)/we|0)|0}var Xe=256,wt=262144,Xt=4194304;function zt(t){var a=t&42;if(a!==0)return a;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ne(t,a,o){var c=t.pendingLanes;if(c===0)return 0;var h=0,g=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~g,c!==0?h=zt(c):(C&=j,C!==0?h=zt(C):o||(o=j&~t,o!==0&&(h=zt(o))))):(j=c&~g,j!==0?h=zt(j):C!==0?h=zt(C):o||(o=c&~t,o!==0&&(h=zt(o)))),h===0?0:a!==0&&a!==h&&(a&g)===0&&(g=h&-h,o=a&-a,g>=o||g===32&&(o&4194048)!==0)?a:h}function ht(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function yt(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+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 a+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 Bt(){var t=Xt;return Xt<<=1,(Xt&62914560)===0&&(Xt=4194304),t}function sr(t){for(var a=[],o=0;31>o;o++)a.push(t);return a}function St(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function yn(t,a,o,c,h,g){var C=t.pendingLanes;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=o,t.entangledLanes&=o,t.errorRecoveryDisabledLanes&=o,t.shellSuspendCounter=0;var j=t.entanglements,k=t.expirationTimes,G=t.hiddenUpdates;for(o=C&~o;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var fE=/[\n"\\]/g;function Hn(t){return t.replace(fE,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function bd(t,a,o,c,h,g,C,j){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),a!=null?C==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+Un(a)):t.value!==""+Un(a)&&(t.value=""+Un(a)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),a!=null?xd(t,C,Un(a)):o!=null?xd(t,C,Un(o)):c!=null&&t.removeAttribute("value"),h==null&&g!=null&&(t.defaultChecked=!!g),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Un(j):t.removeAttribute("name")}function Eg(t,a,o,c,h,g,C,j){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||o!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){yd(t);return}o=o!=null?""+Un(o):"",a=a!=null?""+Un(a):o,j||a===t.value||(t.value=a),t.defaultValue=a}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),yd(t)}function xd(t,a,o){a==="number"&&Al(t.ownerDocument)===t||t.defaultValue===""+o||(t.defaultValue=""+o)}function Hi(t,a,o,c){if(t=t.options,a){a={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ed=!1;if(Ir)try{var Jo={};Object.defineProperty(Jo,"passive",{get:function(){Ed=!0}}),window.addEventListener("test",Jo,Jo),window.removeEventListener("test",Jo,Jo)}catch{Ed=!1}var la=null,Rd=null,Nl=null;function Ng(){if(Nl)return Nl;var t,a=Rd,o=a.length,c,h="value"in la?la.value:la.textContent,g=h.length;for(t=0;t=ts),Ig=" ",Pg=!1;function Fg(t,a){switch(t){case"keyup":return FE.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zi=!1;function UE(t,a){switch(t){case"compositionend":return Vg(a);case"keypress":return a.which!==32?null:(Pg=!0,Ig);case"textInput":return t=a.data,t===Ig&&Pg?null:t;default:return null}}function HE(t,a){if(Zi)return t==="compositionend"||!Md&&Fg(t,a)?(t=Ng(),Nl=Rd=la=null,Zi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:o,offset:a-t};t=c}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Yg(o)}}function Xg(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Xg(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function Jg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Al(t.document);a instanceof t.HTMLIFrameElement;){try{var o=typeof a.contentWindow.location.href=="string"}catch{o=!1}if(o)t=a.contentWindow;else break;a=Al(t.document)}return a}function zd(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var XE=Ir&&"documentMode"in document&&11>=document.documentMode,Ki=null,kd=null,is=null,Ld=!1;function Wg(t,a,o){var c=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Ld||Ki==null||Ki!==Al(c)||(c=Ki,"selectionStart"in c&&zd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),is&&as(is,c)||(is=c,c=Ec(kd,"onSelect"),0>=C,h-=C,Sr=1<<32-ne(a)+h|o<Ue?(Ze=Te,Te=null):Ze=Te.sibling;var et=Y(H,Te,q[Ue],se);if(et===null){Te===null&&(Te=Ze);break}t&&Te&&et.alternate===null&&a(H,Te),$=g(et,$,Ue),We===null?Ae=et:We.sibling=et,We=et,Te=Ze}if(Ue===q.length)return o(H,Te),Ye&&Fr(H,Ue),Ae;if(Te===null){for(;UeUe?(Ze=Te,Te=null):Ze=Te.sibling;var Aa=Y(H,Te,et.value,se);if(Aa===null){Te===null&&(Te=Ze);break}t&&Te&&Aa.alternate===null&&a(H,Te),$=g(Aa,$,Ue),We===null?Ae=Aa:We.sibling=Aa,We=Aa,Te=Ze}if(et.done)return o(H,Te),Ye&&Fr(H,Ue),Ae;if(Te===null){for(;!et.done;Ue++,et=q.next())et=le(H,et.value,se),et!==null&&($=g(et,$,Ue),We===null?Ae=et:We.sibling=et,We=et);return Ye&&Fr(H,Ue),Ae}for(Te=c(Te);!et.done;Ue++,et=q.next())et=ee(Te,H,Ue,et.value,se),et!==null&&(t&&et.alternate!==null&&Te.delete(et.key===null?Ue:et.key),$=g(et,$,Ue),We===null?Ae=et:We.sibling=et,We=et);return t&&Te.forEach(function(v2){return a(H,v2)}),Ye&&Fr(H,Ue),Ae}function lt(H,$,q,se){if(typeof q=="object"&&q!==null&&q.type===_&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case x:e:{for(var Ae=q.key;$!==null;){if($.key===Ae){if(Ae=q.type,Ae===_){if($.tag===7){o(H,$.sibling),se=h($,q.props.children),se.return=H,H=se;break e}}else if($.elementType===Ae||typeof Ae=="object"&&Ae!==null&&Ae.$$typeof===V&&ui(Ae)===$.type){o(H,$.sibling),se=h($,q.props),ds(se,q),se.return=H,H=se;break e}o(H,$);break}else a(H,$);$=$.sibling}q.type===_?(se=ii(q.props.children,H.mode,se,q.key),se.return=H,H=se):(se=Ul(q.type,q.key,q.props,null,H.mode,se),ds(se,q),se.return=H,H=se)}return C(H);case w:e:{for(Ae=q.key;$!==null;){if($.key===Ae)if($.tag===4&&$.stateNode.containerInfo===q.containerInfo&&$.stateNode.implementation===q.implementation){o(H,$.sibling),se=h($,q.children||[]),se.return=H,H=se;break e}else{o(H,$);break}else a(H,$);$=$.sibling}se=Hd(q,H.mode,se),se.return=H,H=se}return C(H);case V:return q=ui(q),lt(H,$,q,se)}if(xe(q))return Re(H,$,q,se);if(X(q)){if(Ae=X(q),typeof Ae!="function")throw Error(i(150));return q=Ae.call(q),De(H,$,q,se)}if(typeof q.then=="function")return lt(H,$,Yl(q),se);if(q.$$typeof===O)return lt(H,$,ql(H,q),se);Ql(H,q)}return typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint"?(q=""+q,$!==null&&$.tag===6?(o(H,$.sibling),se=h($,q),se.return=H,H=se):(o(H,$),se=Ud(q,H.mode,se),se.return=H,H=se),C(H)):o(H,$)}return function(H,$,q,se){try{us=0;var Ae=lt(H,$,q,se);return io=null,Ae}catch(Te){if(Te===ao||Te===Zl)throw Te;var We=Nn(29,Te,null,H.mode);return We.lanes=se,We.return=H,We}}}var fi=Sv(!0),_v=Sv(!1),ha=!1;function tf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function nf(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ma(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function pa(t,a,o){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(tt&2)!==0){var h=c.pending;return h===null?a.next=a:(a.next=h.next,h.next=a),c.pending=a,a=Vl(t),ov(t,null,o),a}return Fl(t,c,a,o),Vl(t)}function fs(t,a,o){if(a=a.updateQueue,a!==null&&(a=a.shared,(o&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,bn(t,o)}}function rf(t,a){var o=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,o===c)){var h=null,g=null;if(o=o.firstBaseUpdate,o!==null){do{var C={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};g===null?h=g=C:g=g.next=C,o=o.next}while(o!==null);g===null?h=g=a:g=g.next=a}else h=g=a;o={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=o;return}t=o.lastBaseUpdate,t===null?o.firstBaseUpdate=a:t.next=a,o.lastBaseUpdate=a}var af=!1;function hs(){if(af){var t=ro;if(t!==null)throw t}}function ms(t,a,o,c){af=!1;var h=t.updateQueue;ha=!1;var g=h.firstBaseUpdate,C=h.lastBaseUpdate,j=h.shared.pending;if(j!==null){h.shared.pending=null;var k=j,G=k.next;k.next=null,C===null?g=G:C.next=G,C=k;var ie=t.alternate;ie!==null&&(ie=ie.updateQueue,j=ie.lastBaseUpdate,j!==C&&(j===null?ie.firstBaseUpdate=G:j.next=G,ie.lastBaseUpdate=k))}if(g!==null){var le=h.baseState;C=0,ie=G=k=null,j=g;do{var Y=j.lane&-536870913,ee=Y!==j.lane;if(ee?(Ge&Y)===Y:(c&Y)===Y){Y!==0&&Y===no&&(af=!0),ie!==null&&(ie=ie.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Re=t,De=j;Y=a;var lt=o;switch(De.tag){case 1:if(Re=De.payload,typeof Re=="function"){le=Re.call(lt,le,Y);break e}le=Re;break e;case 3:Re.flags=Re.flags&-65537|128;case 0:if(Re=De.payload,Y=typeof Re=="function"?Re.call(lt,le,Y):Re,Y==null)break e;le=v({},le,Y);break e;case 2:ha=!0}}Y=j.callback,Y!==null&&(t.flags|=64,ee&&(t.flags|=8192),ee=h.callbacks,ee===null?h.callbacks=[Y]:ee.push(Y))}else ee={lane:Y,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ie===null?(G=ie=ee,k=le):ie=ie.next=ee,C|=Y;if(j=j.next,j===null){if(j=h.shared.pending,j===null)break;ee=j,j=ee.next,ee.next=null,h.lastBaseUpdate=ee,h.shared.pending=null}}while(!0);ie===null&&(k=le),h.baseState=k,h.firstBaseUpdate=G,h.lastBaseUpdate=ie,g===null&&(h.shared.lanes=0),xa|=C,t.lanes=C,t.memoizedState=le}}function Cv(t,a){if(typeof t!="function")throw Error(i(191,t));t.call(a)}function Ev(t,a){var o=t.callbacks;if(o!==null)for(t.callbacks=null,t=0;tg?g:8;var C=z.T,j={};z.T=j,Cf(t,!1,a,o);try{var k=h(),G=z.S;if(G!==null&&G(j,k),k!==null&&typeof k=="object"&&typeof k.then=="function"){var ie=oR(k,c);vs(t,a,ie,$n(t))}else vs(t,a,c,$n(t))}catch(le){vs(t,a,{then:function(){},status:"rejected",reason:le},$n())}finally{Q.p=g,C!==null&&j.types!==null&&(C.types=j.types),z.T=C}}function fR(){}function Sf(t,a,o,c){if(t.tag!==5)throw Error(i(476));var h=ry(t).queue;ny(t,h,a,oe,o===null?fR:function(){return ay(t),o(c)})}function ry(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:oe,baseState:oe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Br,lastRenderedState:oe},next:null};var o={};return a.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Br,lastRenderedState:o},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function ay(t){var a=ry(t);a.next===null&&(a=t.alternate.memoizedState),vs(t,a.next.queue,{},$n())}function _f(){return en(zs)}function iy(){return At().memoizedState}function oy(){return At().memoizedState}function hR(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var o=$n();t=ma(o);var c=pa(a,t,o);c!==null&&(jn(c,a,o),fs(c,a,o)),a={cache:Xd()},t.payload=a;return}a=a.return}}function mR(t,a,o){var c=$n();o={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},oc(t)?ly(a,o):(o=Fd(t,a,o,c),o!==null&&(jn(o,t,c),cy(o,a,c)))}function sy(t,a,o){var c=$n();vs(t,a,o,c)}function vs(t,a,o,c){var h={lane:c,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(oc(t))ly(a,h);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var C=a.lastRenderedState,j=g(C,o);if(h.hasEagerState=!0,h.eagerState=j,Mn(j,C))return Fl(t,a,h,0),ft===null&&Pl(),!1}catch{}if(o=Fd(t,a,h,c),o!==null)return jn(o,t,c),cy(o,a,c),!0}return!1}function Cf(t,a,o,c){if(c={lane:2,revertLane:nh(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},oc(t)){if(a)throw Error(i(479))}else a=Fd(t,o,c,2),a!==null&&jn(a,t,2)}function oc(t){var a=t.alternate;return t===Fe||a!==null&&a===Fe}function ly(t,a){so=Wl=!0;var o=t.pending;o===null?a.next=a:(a.next=o.next,o.next=a),t.pending=a}function cy(t,a,o){if((o&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,o|=c,a.lanes=o,bn(t,o)}}var ys={readContext:en,use:nc,useCallback:Ct,useContext:Ct,useEffect:Ct,useImperativeHandle:Ct,useLayoutEffect:Ct,useInsertionEffect:Ct,useMemo:Ct,useReducer:Ct,useRef:Ct,useState:Ct,useDebugValue:Ct,useDeferredValue:Ct,useTransition:Ct,useSyncExternalStore:Ct,useId:Ct,useHostTransitionStatus:Ct,useFormState:Ct,useActionState:Ct,useOptimistic:Ct,useMemoCache:Ct,useCacheRefresh:Ct};ys.useEffectEvent=Ct;var uy={readContext:en,use:nc,useCallback:function(t,a){return pn().memoizedState=[t,a===void 0?null:a],t},useContext:en,useEffect:Zv,useImperativeHandle:function(t,a,o){o=o!=null?o.concat([t]):null,ac(4194308,4,Xv.bind(null,a,t),o)},useLayoutEffect:function(t,a){return ac(4194308,4,t,a)},useInsertionEffect:function(t,a){ac(4,2,t,a)},useMemo:function(t,a){var o=pn();a=a===void 0?null:a;var c=t();if(hi){Z(!0);try{t()}finally{Z(!1)}}return o.memoizedState=[c,a],c},useReducer:function(t,a,o){var c=pn();if(o!==void 0){var h=o(a);if(hi){Z(!0);try{o(a)}finally{Z(!1)}}}else h=a;return c.memoizedState=c.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},c.queue=t,t=t.dispatch=mR.bind(null,Fe,t),[c.memoizedState,t]},useRef:function(t){var a=pn();return t={current:t},a.memoizedState=t},useState:function(t){t=vf(t);var a=t.queue,o=sy.bind(null,Fe,a);return a.dispatch=o,[t.memoizedState,o]},useDebugValue:xf,useDeferredValue:function(t,a){var o=pn();return wf(o,t,a)},useTransition:function(){var t=vf(!1);return t=ny.bind(null,Fe,t.queue,!0,!1),pn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,o){var c=Fe,h=pn();if(Ye){if(o===void 0)throw Error(i(407));o=o()}else{if(o=a(),ft===null)throw Error(i(349));(Ge&127)!==0||Mv(c,a,o)}h.memoizedState=o;var g={value:o,getSnapshot:a};return h.queue=g,Zv(Dv.bind(null,c,g,t),[t]),c.flags|=2048,co(9,{destroy:void 0},Nv.bind(null,c,g,o,a),null),o},useId:function(){var t=pn(),a=ft.identifierPrefix;if(Ye){var o=_r,c=Sr;o=(c&~(1<<32-ne(c)-1)).toString(32)+o,a="_"+a+"R_"+o,o=ec++,0<\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?C.createElement(h,{is:c.is}):C.createElement(h)}}g[Jt]=a,g[wn]=c;e:for(C=a.child;C!==null;){if(C.tag===5||C.tag===6)g.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===a)break e;for(;C.sibling===null;){if(C.return===null||C.return===a)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}a.stateNode=g;e:switch(nn(g,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&Gr(a)}}return pt(a),If(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,o),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&Gr(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(i(166));if(t=ce.current,eo(a)){if(t=a.stateNode,o=a.memoizedProps,c=null,h=Wt,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}t[Jt]=a,t=!!(t.nodeValue===o||c!==null&&c.suppressHydrationWarning===!0||O0(t.nodeValue,o)),t||da(a,!0)}else t=Rc(t).createTextNode(c),t[Jt]=a,a.stateNode=t}return pt(a),null;case 31:if(o=a.memoizedState,t===null||t.memoizedState!==null){if(c=eo(a),o!==null){if(t===null){if(!c)throw Error(i(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(i(557));t[Jt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),t=!1}else o=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=o),t=!0;if(!t)return a.flags&256?(zn(a),a):(zn(a),null);if((a.flags&128)!==0)throw Error(i(558))}return pt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=eo(a),c!==null&&c.dehydrated!==null){if(t===null){if(!h)throw Error(i(318));if(h=a.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(i(317));h[Jt]=a}else oi(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;pt(a),h=!1}else h=Zd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return a.flags&256?(zn(a),a):(zn(a),null)}return zn(a),(a.flags&128)!==0?(a.lanes=o,a):(o=c!==null,t=t!==null&&t.memoizedState!==null,o&&(c=a.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==h&&(c.flags|=2048)),o!==t&&o&&(a.child.flags|=8192),dc(a,a.updateQueue),pt(a),null);case 4:return be(),t===null&&oh(a.stateNode.containerInfo),pt(a),null;case 10:return Ur(a.type),pt(a),null;case 19:if(M(Ot),c=a.memoizedState,c===null)return pt(a),null;if(h=(a.flags&128)!==0,g=c.rendering,g===null)if(h)xs(c,!1);else{if(Et!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=Jl(t),g!==null){for(a.flags|=128,xs(c,!1),t=g.updateQueue,a.updateQueue=t,dc(a,t),a.subtreeFlags=0,t=o,o=a.child;o!==null;)sv(o,t),o=o.sibling;return B(Ot,Ot.current&1|2),Ye&&Fr(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&Dt()>gc&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304)}else{if(!h)if(t=Jl(g),t!==null){if(a.flags|=128,h=!0,t=t.updateQueue,a.updateQueue=t,dc(a,t),xs(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!Ye)return pt(a),null}else 2*Dt()-c.renderingStartTime>gc&&o!==536870912&&(a.flags|=128,h=!0,xs(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Dt(),t.sibling=null,o=Ot.current,B(Ot,h?o&1|2:o&1),Ye&&Fr(a,c.treeForkCount),t):(pt(a),null);case 22:case 23:return zn(a),sf(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(o&536870912)!==0&&(a.flags&128)===0&&(pt(a),a.subtreeFlags&6&&(a.flags|=8192)):pt(a),o=a.updateQueue,o!==null&&dc(a,o.retryQueue),o=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==o&&(a.flags|=2048),t!==null&&M(ci),null;case 24:return o=null,t!==null&&(o=t.memoizedState.cache),a.memoizedState.cache!==o&&(a.flags|=2048),Ur(kt),pt(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function bR(t,a){switch(qd(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return Ur(kt),be(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ie(a),null;case 31:if(a.memoizedState!==null){if(zn(a),a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(zn(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(i(340));oi()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return M(Ot),null;case 4:return be(),null;case 10:return Ur(a.type),null;case 22:case 23:return zn(a),sf(),t!==null&&M(ci),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return Ur(kt),null;case 25:return null;default:return null}}function zy(t,a){switch(qd(a),a.tag){case 3:Ur(kt),be();break;case 26:case 27:case 5:Ie(a);break;case 4:be();break;case 31:a.memoizedState!==null&&zn(a);break;case 13:zn(a);break;case 19:M(Ot);break;case 10:Ur(a.type);break;case 22:case 23:zn(a),sf(),t!==null&&M(ci);break;case 24:Ur(kt)}}function ws(t,a){try{var o=a.updateQueue,c=o!==null?o.lastEffect:null;if(c!==null){var h=c.next;o=h;do{if((o.tag&t)===t){c=void 0;var g=o.create,C=o.inst;c=g(),C.destroy=c}o=o.next}while(o!==h)}}catch(j){at(a,a.return,j)}}function ya(t,a,o){try{var c=a.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var g=h.next;c=g;do{if((c.tag&t)===t){var C=c.inst,j=C.destroy;if(j!==void 0){C.destroy=void 0,h=a;var k=o,G=j;try{G()}catch(ie){at(h,k,ie)}}}c=c.next}while(c!==g)}}catch(ie){at(a,a.return,ie)}}function ky(t){var a=t.updateQueue;if(a!==null){var o=t.stateNode;try{Ev(a,o)}catch(c){at(t,t.return,c)}}}function Ly(t,a,o){o.props=mi(t.type,t.memoizedProps),o.state=t.memoizedState;try{o.componentWillUnmount()}catch(c){at(t,a,c)}}function Ss(t,a){try{var o=t.ref;if(o!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof o=="function"?t.refCleanup=o(c):o.current=c}}catch(h){at(t,a,h)}}function Cr(t,a){var o=t.ref,c=t.refCleanup;if(o!==null)if(typeof c=="function")try{c()}catch(h){at(t,a,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(h){at(t,a,h)}else o.current=null}function $y(t){var a=t.type,o=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":o.autoFocus&&c.focus();break e;case"img":o.src?c.src=o.src:o.srcSet&&(c.srcset=o.srcSet)}}catch(h){at(t,t.return,h)}}function Pf(t,a,o){try{var c=t.stateNode;VR(c,t.type,o,a),c[wn]=a}catch(h){at(t,t.return,h)}}function Iy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ea(t.type)||t.tag===4}function Ff(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Iy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ea(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Vf(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(t,a):(a=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,a.appendChild(t),o=o._reactRootContainer,o!=null||a.onclick!==null||(a.onclick=$r));else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode,a=null),t=t.child,t!==null))for(Vf(t,a,o),t=t.sibling;t!==null;)Vf(t,a,o),t=t.sibling}function fc(t,a,o){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?o.insertBefore(t,a):o.appendChild(t);else if(c!==4&&(c===27&&Ea(t.type)&&(o=t.stateNode),t=t.child,t!==null))for(fc(t,a,o),t=t.sibling;t!==null;)fc(t,a,o),t=t.sibling}function Py(t){var a=t.stateNode,o=t.memoizedProps;try{for(var c=t.type,h=a.attributes;h.length;)a.removeAttributeNode(h[0]);nn(a,c,o),a[Jt]=t,a[wn]=o}catch(g){at(t,t.return,g)}}var Zr=!1,It=!1,Uf=!1,Fy=typeof WeakSet=="function"?WeakSet:Set,Gt=null;function xR(t,a){if(t=t.containerInfo,ch=Dc,t=Jg(t),zd(t)){if("selectionStart"in t)var o={start:t.selectionStart,end:t.selectionEnd};else e:{o=(o=t.ownerDocument)&&o.defaultView||window;var c=o.getSelection&&o.getSelection();if(c&&c.rangeCount!==0){o=c.anchorNode;var h=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{o.nodeType,g.nodeType}catch{o=null;break e}var C=0,j=-1,k=-1,G=0,ie=0,le=t,Y=null;t:for(;;){for(var ee;le!==o||h!==0&&le.nodeType!==3||(j=C+h),le!==g||c!==0&&le.nodeType!==3||(k=C+c),le.nodeType===3&&(C+=le.nodeValue.length),(ee=le.firstChild)!==null;)Y=le,le=ee;for(;;){if(le===t)break t;if(Y===o&&++G===h&&(j=C),Y===g&&++ie===c&&(k=C),(ee=le.nextSibling)!==null)break;le=Y,Y=le.parentNode}le=ee}o=j===-1||k===-1?null:{start:j,end:k}}else o=null}o=o||{start:0,end:0}}else o=null;for(uh={focusedElem:t,selectionRange:o},Dc=!1,Gt=a;Gt!==null;)if(a=Gt,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,Gt=t;else for(;Gt!==null;){switch(a=Gt,g=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(o=0;o title"))),nn(g,c,o),g[Jt]=t,qt(g),c=g;break e;case"link":var C=G0("link","href",h).get(c+(o.href||""));if(C){for(var j=0;jlt&&(C=lt,lt=De,De=C);var H=Qg(j,De),$=Qg(j,lt);if(H&&$&&(ee.rangeCount!==1||ee.anchorNode!==H.node||ee.anchorOffset!==H.offset||ee.focusNode!==$.node||ee.focusOffset!==$.offset)){var q=le.createRange();q.setStart(H.node,H.offset),ee.removeAllRanges(),De>lt?(ee.addRange(q),ee.extend($.node,$.offset)):(q.setEnd($.node,$.offset),ee.addRange(q))}}}}for(le=[],ee=j;ee=ee.parentNode;)ee.nodeType===1&&le.push({element:ee,left:ee.scrollLeft,top:ee.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jo?32:o,z.T=null,o=Yf,Yf=null;var g=Sa,C=Jr;if(Vt=0,po=Sa=null,Jr=0,(tt&6)!==0)throw Error(i(331));var j=tt;if(tt|=4,Xy(g.current),Ky(g,g.current,C,o),tt=j,Ts(0,!1),ue&&typeof ue.onPostCommitFiberRoot=="function")try{ue.onPostCommitFiberRoot(U,g)}catch{}return!0}finally{Q.p=h,z.T=c,p0(t,a)}}function v0(t,a,o){a=qn(o,a),a=Tf(t.stateNode,a,2),t=pa(t,a,2),t!==null&&(St(t,2),Er(t))}function at(t,a,o){if(t.tag===3)v0(t,t,o);else for(;a!==null;){if(a.tag===3){v0(a,t,o);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(wa===null||!wa.has(c))){t=qn(o,t),o=yy(2),c=pa(a,o,2),c!==null&&(by(o,c,a,t),St(c,2),Er(c));break}}a=a.return}}function Wf(t,a,o){var c=t.pingCache;if(c===null){c=t.pingCache=new _R;var h=new Set;c.set(a,h)}else h=c.get(a),h===void 0&&(h=new Set,c.set(a,h));h.has(o)||(qf=!0,h.add(o),t=TR.bind(null,t,a,o),a.then(t,t))}function TR(t,a,o){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&o,t.warmLanes&=~o,ft===t&&(Ge&o)===o&&(Et===4||Et===3&&(Ge&62914560)===Ge&&300>Dt()-pc?(tt&2)===0&&go(t,0):Gf|=o,mo===Ge&&(mo=0)),Er(t)}function y0(t,a){a===0&&(a=Bt()),t=ai(t,a),t!==null&&(St(t,a),Er(t))}function OR(t){var a=t.memoizedState,o=0;a!==null&&(o=a.retryLane),y0(t,o)}function AR(t,a){var o=0;switch(t.tag){case 31:case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(o=h.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(i(314))}c!==null&&c.delete(a),y0(t,o)}function MR(t,a){return rr(t,a)}var Sc=null,yo=null,eh=!1,_c=!1,th=!1,Ca=0;function Er(t){t!==yo&&t.next===null&&(yo===null?Sc=yo=t:yo=yo.next=t),_c=!0,eh||(eh=!0,DR())}function Ts(t,a){if(!th&&_c){th=!0;do for(var o=!1,c=Sc;c!==null;){if(t!==0){var h=c.pendingLanes;if(h===0)var g=0;else{var C=c.suspendedLanes,j=c.pingedLanes;g=(1<<31-ne(42|t)+1)-1,g&=h&~(C&~j),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(o=!0,S0(c,g))}else g=Ge,g=Ne(c,c===ft?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||ht(c,g)||(o=!0,S0(c,g));c=c.next}while(o);th=!1}}function NR(){b0()}function b0(){_c=eh=!1;var t=0;Ca!==0&&HR()&&(t=Ca);for(var a=Dt(),o=null,c=Sc;c!==null;){var h=c.next,g=x0(c,a);g===0?(c.next=null,o===null?Sc=h:o.next=h,h===null&&(yo=o)):(o=c,(t!==0||(g&3)!==0)&&(_c=!0)),c=h}Vt!==0&&Vt!==5||Ts(t),Ca!==0&&(Ca=0)}function x0(t,a){for(var o=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,g=t.pendingLanes&-62914561;0j)break;var ie=k.transferSize,le=k.initiatorType;ie&&A0(le)&&(k=k.responseEnd,C+=ie*(k"u"?null:document;function U0(t,a,o){var c=bo;if(c&&typeof a=="string"&&a){var h=Hn(a);h='link[rel="'+t+'"][href="'+h+'"]',typeof o=="string"&&(h+='[crossorigin="'+o+'"]'),V0.has(h)||(V0.add(h),t={rel:t,crossOrigin:o,href:a},c.querySelector(h)===null&&(a=c.createElement("link"),nn(a,"link",t),qt(a),c.head.appendChild(a)))}}function JR(t){Wr.D(t),U0("dns-prefetch",t,null)}function WR(t,a){Wr.C(t,a),U0("preconnect",t,a)}function e2(t,a,o){Wr.L(t,a,o);var c=bo;if(c&&t&&a){var h='link[rel="preload"][as="'+Hn(a)+'"]';a==="image"&&o&&o.imageSrcSet?(h+='[imagesrcset="'+Hn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(h+='[imagesizes="'+Hn(o.imageSizes)+'"]')):h+='[href="'+Hn(t)+'"]';var g=h;switch(a){case"style":g=xo(t);break;case"script":g=wo(t)}Xn.has(g)||(t=v({rel:"preload",href:a==="image"&&o&&o.imageSrcSet?void 0:t,as:a},o),Xn.set(g,t),c.querySelector(h)!==null||a==="style"&&c.querySelector(Ns(g))||a==="script"&&c.querySelector(Ds(g))||(a=c.createElement("link"),nn(a,"link",t),qt(a),c.head.appendChild(a)))}}function t2(t,a){Wr.m(t,a);var o=bo;if(o&&t){var c=a&&typeof a.as=="string"?a.as:"script",h='link[rel="modulepreload"][as="'+Hn(c)+'"][href="'+Hn(t)+'"]',g=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=wo(t)}if(!Xn.has(g)&&(t=v({rel:"modulepreload",href:t},a),Xn.set(g,t),o.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(Ds(g)))return}c=o.createElement("link"),nn(c,"link",t),qt(c),o.head.appendChild(c)}}}function n2(t,a,o){Wr.S(t,a,o);var c=bo;if(c&&t){var h=Vi(c).hoistableStyles,g=xo(t);a=a||"default";var C=h.get(g);if(!C){var j={loading:0,preload:null};if(C=c.querySelector(Ns(g)))j.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":a},o),(o=Xn.get(g))&&vh(t,o);var k=C=c.createElement("link");qt(k),nn(k,"link",t),k._p=new Promise(function(G,ie){k.onload=G,k.onerror=ie}),k.addEventListener("load",function(){j.loading|=1}),k.addEventListener("error",function(){j.loading|=2}),j.loading|=4,Tc(C,a,c)}C={type:"stylesheet",instance:C,count:1,state:j},h.set(g,C)}}}function r2(t,a){Wr.X(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0},a),(a=Xn.get(h))&&yh(t,a),g=o.createElement("script"),qt(g),nn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function a2(t,a){Wr.M(t,a);var o=bo;if(o&&t){var c=Vi(o).hoistableScripts,h=wo(t),g=c.get(h);g||(g=o.querySelector(Ds(h)),g||(t=v({src:t,async:!0,type:"module"},a),(a=Xn.get(h))&&yh(t,a),g=o.createElement("script"),qt(g),nn(g,"link",t),o.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(h,g))}}function H0(t,a,o,c){var h=(h=ce.current)?jc(h):null;if(!h)throw Error(i(446));switch(t){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(a=xo(o.href),o=Vi(h).hoistableStyles,c=o.get(a),c||(c={type:"style",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){t=xo(o.href);var g=Vi(h).hoistableStyles,C=g.get(t);if(C||(h=h.ownerDocument||h,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,C),(g=h.querySelector(Ns(t)))&&!g._p&&(C.instance=g,C.state.loading=5),Xn.has(t)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},Xn.set(t,o),g||i2(h,t,o,C.state))),a&&c===null)throw Error(i(528,""));return C}if(a&&c!==null)throw Error(i(529,""));return null;case"script":return a=o.async,o=o.src,typeof o=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=wo(o),o=Vi(h).hoistableScripts,c=o.get(a),c||(c={type:"script",instance:null,count:0,state:null},o.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,t))}}function xo(t){return'href="'+Hn(t)+'"'}function Ns(t){return'link[rel="stylesheet"]['+t+"]"}function B0(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function i2(t,a,o,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),nn(a,"link",o),qt(a),t.head.appendChild(a))}function wo(t){return'[src="'+Hn(t)+'"]'}function Ds(t){return"script[async]"+t}function q0(t,a,o){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+Hn(o.href)+'"]');if(c)return a.instance=c,qt(c),c;var h=v({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),qt(c),nn(c,"style",h),Tc(c,o.precedence,t),a.instance=c;case"stylesheet":h=xo(o.href);var g=t.querySelector(Ns(h));if(g)return a.state.loading|=4,a.instance=g,qt(g),g;c=B0(o),(h=Xn.get(h))&&vh(c,h),g=(t.ownerDocument||t).createElement("link"),qt(g);var C=g;return C._p=new Promise(function(j,k){C.onload=j,C.onerror=k}),nn(g,"link",c),a.state.loading|=4,Tc(g,o.precedence,t),a.instance=g;case"script":return g=wo(o.src),(h=t.querySelector(Ds(g)))?(a.instance=h,qt(h),h):(c=o,(h=Xn.get(g))&&(c=v({},o),yh(c,h)),t=t.ownerDocument||t,h=t.createElement("script"),qt(h),nn(h,"link",c),t.head.appendChild(h),a.instance=h);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,Tc(c,o.precedence,t));return a.instance}function Tc(t,a,o){for(var c=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,g=h,C=0;C title"):null)}function o2(t,a,o){if(o===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function K0(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function s2(t,a,o,c){if(o.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var h=xo(c.href),g=a.querySelector(Ns(h));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Ac.bind(t),a.then(t,t)),o.state.loading|=4,o.instance=g,qt(g);return}g=a.ownerDocument||a,c=B0(c),(h=Xn.get(h))&&vh(c,h),g=g.createElement("link"),qt(g);var C=g;C._p=new Promise(function(j,k){C.onload=j,C.onerror=k}),nn(g,"link",c),o.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(o,a),(a=o.state.preload)&&(o.state.loading&3)===0&&(t.count++,o=Ac.bind(t),a.addEventListener("load",o),a.addEventListener("error",o))}}var bh=0;function l2(t,a){return t.stylesheets&&t.count===0&&Nc(t,t.stylesheets),0bh?50:800)+a);return t.unsuspend=o,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function Ac(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Nc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Mc=null;function Nc(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Mc=new Map,a.forEach(c2,t),Mc=null,Ac.call(t))}function c2(t,a){if(!(a.state.loading&4)){var o=Mc.get(t);if(o)var c=o.get(null);else{o=new Map,Mc.set(t,o);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Th.exports=E2(),Th.exports}var j2=R2(),pl=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},T2=class extends pl{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},rp=new T2,O2={setTimeout:(e,n)=>setTimeout(e,n),clearTimeout:e=>clearTimeout(e),setInterval:(e,n)=>setInterval(e,n),clearInterval:e=>clearInterval(e)},A2=class{#e=O2;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,n){return this.#e.setTimeout(e,n)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,n){return this.#e.setInterval(e,n)}clearInterval(e){this.#e.clearInterval(e)}},xi=new A2;function M2(e){setTimeout(e,0)}var N2=typeof window>"u"||"Deno"in globalThis;function On(){}function D2(e,n){return typeof e=="function"?e(n):e}function um(e){return typeof e=="number"&&e>=0&&e!==1/0}function ww(e,n){return Math.max(e+(n||0)-Date.now(),0)}function La(e,n){return typeof e=="function"?e(n):e}function In(e,n){return typeof e=="function"?e(n):e}function yb(e,n){const{type:r="all",exact:i,fetchStatus:s,predicate:l,queryKey:u,stale:d}=e;if(u){if(i){if(n.queryHash!==ap(u,n.options))return!1}else if(!tl(n.queryKey,u))return!1}if(r!=="all"){const p=n.isActive();if(r==="active"&&!p||r==="inactive"&&p)return!1}return!(typeof d=="boolean"&&n.isStale()!==d||s&&s!==n.state.fetchStatus||l&&!l(n))}function bb(e,n){const{exact:r,status:i,predicate:s,mutationKey:l}=e;if(l){if(!n.options.mutationKey)return!1;if(r){if(el(n.options.mutationKey)!==el(l))return!1}else if(!tl(n.options.mutationKey,l))return!1}return!(i&&n.state.status!==i||s&&!s(n))}function ap(e,n){return(n?.queryKeyHashFn||el)(e)}function el(e){return JSON.stringify(e,(n,r)=>fm(r)?Object.keys(r).sort().reduce((i,s)=>(i[s]=r[s],i),{}):r)}function tl(e,n){return e===n?!0:typeof e!=typeof n?!1:e&&n&&typeof e=="object"&&typeof n=="object"?Object.keys(n).every(r=>tl(e[r],n[r])):!1}var z2=Object.prototype.hasOwnProperty;function Sw(e,n,r=0){if(e===n)return e;if(r>500)return n;const i=xb(e)&&xb(n);if(!i&&!(fm(e)&&fm(n)))return n;const l=(i?e:Object.keys(e)).length,u=i?n:Object.keys(n),d=u.length,p=i?new Array(d):{};let m=0;for(let y=0;y{xi.setTimeout(n,e)})}function hm(e,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,n):r.structuralSharing!==!1?Sw(e,n):n}function L2(e,n,r=0){const i=[...e,n];return r&&i.length>r?i.slice(1):i}function $2(e,n,r=0){const i=[n,...e];return r&&i.length>r?i.slice(0,-1):i}var ip=Symbol();function _w(e,n){return!e.queryFn&&n?.initialPromise?()=>n.initialPromise:!e.queryFn||e.queryFn===ip?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Cw(e,n){return typeof e=="function"?e(...n):!!e}function I2(e,n,r){let i=!1,s;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(s??=n(),i||(i=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),e}var nl=(()=>{let e=()=>N2;return{isServer(){return e()},setIsServer(n){e=n}}})();function mm(){let e,n;const r=new Promise((s,l)=>{e=s,n=l});r.status="pending",r.catch(()=>{});function i(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{i({status:"fulfilled",value:s}),e(s)},r.reject=s=>{i({status:"rejected",reason:s}),n(s)},r}var P2=M2;function F2(){let e=[],n=0,r=d=>{d()},i=d=>{d()},s=P2;const l=d=>{n?e.push(d):s(()=>{r(d)})},u=()=>{const d=e;e=[],d.length&&s(()=>{i(()=>{d.forEach(p=>{r(p)})})})};return{batch:d=>{let p;n++;try{p=d()}finally{n--,n||u()}return p},batchCalls:d=>(...p)=>{l(()=>{d(...p)})},schedule:l,setNotifyFunction:d=>{r=d},setBatchNotifyFunction:d=>{i=d},setScheduler:d=>{s=d}}}var on=F2(),V2=class extends pl{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},fu=new V2;function U2(e){return Math.min(1e3*2**e,3e4)}function Ew(e){return(e??"online")==="online"?fu.isOnline():!0}var pm=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Rw(e){let n=!1,r=0,i;const s=mm(),l=()=>s.status!=="pending",u=_=>{if(!l()){const E=new pm(_);b(E),e.onCancel?.(E)}},d=()=>{n=!0},p=()=>{n=!1},m=()=>rp.isFocused()&&(e.networkMode==="always"||fu.isOnline())&&e.canRun(),y=()=>Ew(e.networkMode)&&e.canRun(),v=_=>{l()||(i?.(),s.resolve(_))},b=_=>{l()||(i?.(),s.reject(_))},x=()=>new Promise(_=>{i=E=>{(l()||m())&&_(E)},e.onPause?.()}).then(()=>{i=void 0,l()||e.onContinue?.()}),w=()=>{if(l())return;let _;const E=r===0?e.initialPromise:void 0;try{_=E??e.fn()}catch(R){_=Promise.reject(R)}Promise.resolve(_).then(v).catch(R=>{if(l())return;const T=e.retry??(nl.isServer()?0:3),O=e.retryDelay??U2,N=typeof O=="function"?O(r,R):O,L=T===!0||typeof T=="number"&&rm()?void 0:x()).then(()=>{n?b(R):w()})})};return{promise:s,status:()=>s.status,cancel:u,continue:()=>(i?.(),s),cancelRetry:d,continueRetry:p,canStart:y,start:()=>(y()?w():x().then(w),s)}}var jw=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),um(this.gcTime)&&(this.#e=xi.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(nl.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(xi.clearTimeout(this.#e),this.#e=void 0)}};function H2(e){return{onFetch:(n,r)=>{const i=n.options,s=n.fetchOptions?.meta?.fetchMore?.direction,l=n.state.data?.pages||[],u=n.state.data?.pageParams||[];let d={pages:[],pageParams:[]},p=0;const m=async()=>{let y=!1;const v=w=>{I2(w,()=>n.signal,()=>y=!0)},b=_w(n.options,n.fetchOptions),x=async(w,_,E)=>{if(y)return Promise.reject(n.signal.reason);if(_==null&&w.pages.length)return Promise.resolve(w);const T=(()=>{const P={client:n.client,queryKey:n.queryKey,pageParam:_,direction:E?"backward":"forward",meta:n.options.meta};return v(P),P})(),O=await b(T),{maxPages:N}=n.options,L=E?$2:L2;return{pages:L(w.pages,O,N),pageParams:L(w.pageParams,_,N)}};if(s&&l.length){const w=s==="backward",_=w?Tw:gm,E={pages:l,pageParams:u},R=_(i,E);d=await x(E,R,w)}else{const w=e??l.length;do{const _=p===0?u[0]??i.initialPageParam:gm(i,d);if(p>0&&_==null)break;d=await x(d,_),p++}while(pn.options.persister?.(m,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r):n.fetchFn=m}}}function gm(e,{pages:n,pageParams:r}){const i=n.length-1;return n.length>0?e.getNextPageParam(n[i],n,r[i],r):void 0}function Tw(e,{pages:n,pageParams:r}){return n.length>0?e.getPreviousPageParam?.(n[0],n,r[0],r):void 0}function B2(e,n){return n?gm(e,n)!=null:!1}function q2(e,n){return!n||!e.getPreviousPageParam?!1:Tw(e,n)!=null}var G2=class extends jw{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e){super(),this.#o=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=_b(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#s,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=_b(this.options);n.data!==void 0&&(this.setState(Sb(n.data,n.dataUpdatedAt)),this.#t=n)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,n){const r=hm(this.state.data,e,this.options);return this.#l({data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e){this.#l({type:"setState",state:e})}cancel(e){const n=this.#a?.promise;return this.#a?.cancel(e),n?n.then(On).catch(On):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>In(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ip||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>La(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!ww(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(this.#a&&(this.#o||this.#u()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#u(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#l({type:"invalidate"})}async fetch(e,n){if(this.state.fetchStatus!=="idle"&&this.#a?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){const p=this.observers.find(m=>m.options.queryFn);p&&this.setOptions(p.options)}const r=new AbortController,i=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},s=()=>{const p=_w(this.options,n),y=(()=>{const v={client:this.#i,queryKey:this.queryKey,meta:this.meta};return i(v),v})();return this.#o=!1,this.options.persister?this.options.persister(p,y,this):p(y)},u=(()=>{const p={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:s};return i(p),p})();(this.#e==="infinite"?H2(this.options.pages):this.options.behavior)?.onFetch(u,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#l({type:"fetch",meta:u.fetchOptions?.meta}),this.#a=Rw({initialPromise:n?.initialPromise,fn:u.fetchFn,onCancel:p=>{p instanceof pm&&p.revert&&this.setState({...this.#n,fetchStatus:"idle"}),r.abort()},onFail:(p,m)=>{this.#l({type:"failed",failureCount:p,error:m})},onPause:()=>{this.#l({type:"pause"})},onContinue:()=>{this.#l({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{const p=await this.#a.start();if(p===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(p),this.#r.config.onSuccess?.(p,this),this.#r.config.onSettled?.(p,this.state.error,this),p}catch(p){if(p instanceof pm){if(p.silent)return this.#a.promise;if(p.revert){if(this.state.data===void 0)throw p;return this.state.data}}throw this.#l({type:"error",error:p}),this.#r.config.onError?.(p,this),this.#r.config.onSettled?.(this.state.data,p,this),p}finally{this.scheduleGc()}}#l(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Ow(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...Sb(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?i:void 0,i;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),on.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Ow(e,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ew(n.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Sb(e,n){return{data:e,dataUpdatedAt:n??Date.now(),error:null,isInvalidated:!1,status:"success"}}function _b(e){const n=typeof e.initialData=="function"?e.initialData():e.initialData,r=n!==void 0,i=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Aw=class extends pl{constructor(e,n){super(),this.options=n,this.#e=e,this.#o=null,this.#s=mm(),this.bindMethods(),this.setOptions(n)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#s;#o;#u;#l;#m;#d;#f;#c;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Cb(this.#t,this.options)?this.#h():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return vm(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return vm(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#w(),this.#t.removeObserver(this)}setOptions(e){const n=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof In(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#t.setOptions(this.options),n._defaulted&&!dm(this.options,n)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&Eb(this.#t,r,this.options,n)&&this.#h(),this.updateResult(),i&&(this.#t!==r||In(this.options.enabled,this.#t)!==In(n.enabled,this.#t)||La(this.options.staleTime,this.#t)!==La(n.staleTime,this.#t))&&this.#g();const s=this.#v();i&&(this.#t!==r||In(this.options.enabled,this.#t)!==In(n.enabled,this.#t)||s!==this.#c)&&this.#y(s)}getOptimisticResult(e){const n=this.#e.getQueryCache().build(this.#e,e),r=this.createResult(n,e);return K2(this,r)&&(this.#r=r,this.#a=this.options,this.#i=this.#t.state),r}getCurrentResult(){return this.#r}trackResult(e,n){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),n?.(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let n=this.#t.fetch(this.options,e);return e?.throwOnError||(n=n.catch(On)),n}#g(){this.#x();const e=La(this.options.staleTime,this.#t);if(nl.isServer()||this.#r.isStale||!um(e))return;const r=ww(this.#r.dataUpdatedAt,e)+1;this.#d=xi.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(e){this.#w(),this.#c=e,!(nl.isServer()||In(this.options.enabled,this.#t)===!1||!um(this.#c)||this.#c===0)&&(this.#f=xi.setInterval(()=>{(this.options.refetchIntervalInBackground||rp.isFocused())&&this.#h()},this.#c))}#b(){this.#g(),this.#y(this.#v())}#x(){this.#d!==void 0&&(xi.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#f!==void 0&&(xi.clearInterval(this.#f),this.#f=void 0)}createResult(e,n){const r=this.#t,i=this.options,s=this.#r,l=this.#i,u=this.#a,p=e!==r?e.state:this.#n,{state:m}=e;let y={...m},v=!1,b;if(n._optimisticResults){const V=this.hasListeners(),ve=!V&&Cb(e,n),ye=V&&Eb(e,r,n,i);(ve||ye)&&(y={...y,...Ow(m.data,e.options)}),n._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:x,errorUpdatedAt:w,status:_}=y;b=y.data;let E=!1;if(n.placeholderData!==void 0&&b===void 0&&_==="pending"){let V;s?.isPlaceholderData&&n.placeholderData===u?.placeholderData?(V=s.data,E=!0):V=typeof n.placeholderData=="function"?n.placeholderData(this.#m?.state.data,this.#m):n.placeholderData,V!==void 0&&(_="success",b=hm(s?.data,V,n),v=!0)}if(n.select&&b!==void 0&&!E)if(s&&b===l?.data&&n.select===this.#u)b=this.#l;else try{this.#u=n.select,b=n.select(b),b=hm(s?.data,b,n),this.#l=b,this.#o=null}catch(V){this.#o=V}this.#o&&(x=this.#o,b=this.#l,w=Date.now(),_="error");const R=y.fetchStatus==="fetching",T=_==="pending",O=_==="error",N=T&&R,L=b!==void 0,F={status:_,fetchStatus:y.fetchStatus,isPending:T,isSuccess:_==="success",isError:O,isInitialLoading:N,isLoading:N,data:b,dataUpdatedAt:y.dataUpdatedAt,error:x,errorUpdatedAt:w,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:R,isRefetching:R&&!T,isLoadingError:O&&!L,isPaused:y.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:O&&L,isStale:op(e,n),refetch:this.refetch,promise:this.#s,isEnabled:In(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const V=F.data!==void 0,ve=F.status==="error"&&!V,ye=ae=>{ve?ae.reject(F.error):V&&ae.resolve(F.data)},he=()=>{const ae=this.#s=F.promise=mm();ye(ae)},X=this.#s;switch(X.status){case"pending":e.queryHash===r.queryHash&&ye(X);break;case"fulfilled":(ve||F.data!==X.value)&&he();break;case"rejected":(!ve||F.error!==X.reason)&&he();break}}return F}updateResult(){const e=this.#r,n=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#m=this.#t),dm(n,e))return;this.#r=n;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!this.#p.size)return!0;const l=new Set(s??this.#p);return this.options.throwOnError&&l.add("error"),Object.keys(this.#r).some(u=>{const d=u;return this.#r[d]!==e[d]&&l.has(d)})};this.#_({listeners:r()})}#S(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const n=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(n?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#_(e){on.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function Z2(e,n){return In(n.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&In(n.retryOnMount,e)===!1)}function Cb(e,n){return Z2(e,n)||e.state.data!==void 0&&vm(e,n,n.refetchOnMount)}function vm(e,n,r){if(In(n.enabled,e)!==!1&&La(n.staleTime,e)!=="static"){const i=typeof r=="function"?r(e):r;return i==="always"||i!==!1&&op(e,n)}return!1}function Eb(e,n,r,i){return(e!==n||In(i.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&op(e,r)}function op(e,n){return In(n.enabled,e)!==!1&&e.isStaleByTime(La(n.staleTime,e))}function K2(e,n){return!dm(e.getCurrentResult(),n)}var Y2=class extends Aw{constructor(e,n){super(e,n)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,n){const{state:r}=e,i=super.createResult(e,n),{isFetching:s,isRefetching:l,isError:u,isRefetchError:d}=i,p=r.fetchMeta?.fetchMore?.direction,m=u&&p==="forward",y=s&&p==="forward",v=u&&p==="backward",b=s&&p==="backward";return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:B2(n,r.data),hasPreviousPage:q2(n,r.data),isFetchNextPageError:m,isFetchingNextPage:y,isFetchPreviousPageError:v,isFetchingPreviousPage:b,isRefetchError:d&&!m&&!v,isRefetching:l&&!y&&!b}}},Q2=class extends jw{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||X2(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(n=>n!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){const n=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Rw({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(l,u)=>{this.#i({type:"failed",failureCount:l,error:u})},onPause:()=>{this.#i({type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});const i=this.state.status==="pending",s=!this.#r.canStart();try{if(i)n();else{this.#i({type:"pending",variables:e,isPaused:s}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);const u=await this.options.onMutate?.(e,r);u!==this.state.context&&this.#i({type:"pending",context:u,variables:e,isPaused:s})}const l=await this.#r.start();return await this.#n.config.onSuccess?.(l,e,this.state.context,this,r),await this.options.onSuccess?.(l,e,this.state.context,r),await this.#n.config.onSettled?.(l,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(l,null,e,this.state.context,r),this.#i({type:"success",data:l}),l}catch(l){try{await this.#n.config.onError?.(l,e,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onError?.(l,e,this.state.context,r)}catch(u){Promise.reject(u)}try{await this.#n.config.onSettled?.(void 0,l,this.state.variables,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onSettled?.(void 0,l,e,this.state.context,r)}catch(u){Promise.reject(u)}throw this.#i({type:"error",error:l}),l}finally{this.#n.runNext(this)}}#i(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),on.batch(()=>{this.#t.forEach(r=>{r.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}};function X2(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var J2=class extends pl{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,n,r){const i=new Q2({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){this.#e.add(e);const n=Fc(e);if(typeof n=="string"){const r=this.#t.get(n);r?r.push(e):this.#t.set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const n=Fc(e);if(typeof n=="string"){const r=this.#t.get(n);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&this.#t.delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=Fc(e);if(typeof n=="string"){const i=this.#t.get(n)?.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){const n=Fc(e);return typeof n=="string"?this.#t.get(n)?.find(i=>i!==e&&i.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){on.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const n={exact:!0,...e};return this.getAll().find(r=>bb(n,r))}findAll(e={}){return this.getAll().filter(n=>bb(e,n))}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return on.batch(()=>Promise.all(e.map(n=>n.continue().catch(On))))}};function Fc(e){return e.options.scope?.id}var W2=class extends pl{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,n,r){const i=n.queryKey,s=n.queryHash??ap(i,n);let l=this.get(s);return l||(l=new G2({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(l)),l}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=this.#e.get(e.queryHash);n&&(e.destroy(),n===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){on.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>yb(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>yb(e,r)):n}notify(e){on.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){on.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){on.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ej=class{#e;#t;#n;#r;#i;#a;#s;#o;constructor(e={}){this.#e=e.queryCache||new W2,this.#t=e.mutationCache||new J2,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#s=rp.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=fu.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#s?.(),this.#s=void 0,this.#o?.(),this.#o=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=this.#e.build(this,n),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(La(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(e,n,r){const i=this.defaultQueryOptions({queryKey:e}),l=this.#e.get(i.queryHash)?.state.data,u=D2(n,l);if(u!==void 0)return this.#e.build(this,i).setData(u,{...r,manual:!0})}setQueriesData(e,n,r){return on.batch(()=>this.#e.findAll(e).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(e){const n=this.defaultQueryOptions({queryKey:e});return this.#e.get(n.queryHash)?.state}removeQueries(e){const n=this.#e;on.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=this.#e;return on.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},i=on.batch(()=>this.#e.findAll(e).map(s=>s.cancel(r)));return Promise.all(i).then(On).catch(On)}invalidateQueries(e,n={}){return on.batch(()=>(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},i=on.batch(()=>this.#e.findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let l=s.fetch(void 0,r);return r.throwOnError||(l=l.catch(On)),s.state.fetchStatus==="paused"?Promise.resolve():l}));return Promise.all(i).then(On)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=this.#e.build(this,n);return r.isStaleByTime(La(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(On).catch(On)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(On).catch(On)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return fu.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,n){this.#r.set(el(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...this.#r.values()],r={};return n.forEach(i=>{tl(e,i.queryKey)&&Object.assign(r,i.defaultOptions)}),r}setMutationDefaults(e,n){this.#i.set(el(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...this.#i.values()],r={};return n.forEach(i=>{tl(e,i.mutationKey)&&Object.assign(r,i.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=ap(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===ip&&(n.enabled=!1),n}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Mw=S.createContext(void 0),Ai=e=>{const n=S.useContext(Mw);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},tj=({client:e,children:n})=>(S.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),f.jsx(Mw.Provider,{value:e,children:n})),Nw=S.createContext(!1),nj=()=>S.useContext(Nw);Nw.Provider;function rj(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var aj=S.createContext(rj()),ij=()=>S.useContext(aj),oj=(e,n,r)=>{const i=r?.state.error&&typeof e.throwOnError=="function"?Cw(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||i)&&(n.isReset()||(e.retryOnMount=!1))},sj=e=>{S.useEffect(()=>{e.clearReset()},[e])},lj=({result:e,errorResetBoundary:n,throwOnError:r,query:i,suspense:s})=>e.isError&&!n.isReset()&&!e.isFetching&&i&&(s&&e.data===void 0||Cw(r,[e.error,i])),cj=e=>{if(e.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),i=e.staleTime;e.staleTime=typeof i=="function"?(...s)=>r(i(...s)):r(i),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},uj=(e,n)=>e.isLoading&&e.isFetching&&!n,dj=(e,n)=>e?.suspense&&n.isPending,Rb=(e,n,r)=>n.fetchOptimistic(e).catch(()=>{r.clearReset()});function Dw(e,n,r){const i=nj(),s=ij(),l=Ai(),u=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(u);const d=l.getQueryCache().get(u.queryHash),p=e.subscribed!==!1;u._optimisticResults=i?"isRestoring":p?"optimistic":void 0,cj(u),oj(u,s,d),sj(s);const m=!l.getQueryCache().get(u.queryHash),[y]=S.useState(()=>new n(l,u)),v=y.getOptimisticResult(u),b=!i&&p;if(S.useSyncExternalStore(S.useCallback(x=>{const w=b?y.subscribe(on.batchCalls(x)):On;return y.updateResult(),w},[y,b]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),S.useEffect(()=>{y.setOptions(u)},[u,y]),dj(u,v))throw Rb(u,y,s);if(lj({result:v,errorResetBoundary:s,throwOnError:u.throwOnError,query:d,suspense:u.suspense}))throw v.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(u,v),u.experimental_prefetchInRender&&!nl.isServer()&&uj(v,i)&&(m?Rb(u,y,s):d?.promise)?.catch(On).finally(()=>{y.updateResult()}),u.notifyOnChangeProps?v:y.trackResult(v)}function Ht(e,n){return Dw(e,Aw)}function fj(e,n){return Dw(e,Y2)}let jb=!1;function hj(e){const n=e.analytics;if(!n?.key||jb)return;jb=!0;const r=document.createElement("script");r.src=n.host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",r.async=!0,r.onload=()=>{const i=window.posthog;i&&(i.init(n.key,{api_host:n.host,defaults:"2026-05-30",capture_pageview:"history_change",session_recording:{maskAllInputs:!0,maskTextSelector:"*"}}),e.me&&i.identify(e.me.email,{email:e.me.email,name:e.me.name,...e.billing?{plan:e.billing.plan}:{}}))},document.head.appendChild(r)}function zw(e,n){window.posthog?.capture(e,n)}const mj=[[/^POST \/api\/projects$/,"project_created"],[/^DELETE \/api\/projects\//,"project_deleted"],[/^POST \/api\/p\/[^/]+\/restore$/,"file_restored"],[/^DELETE \/api\/shares\//,"share_revoked"],[/^PATCH \/api\/shares\//,"share_expiry_changed"],[/^POST \/api\/orgs\/[^/]+\/invites$/,"invite_created"],[/^DELETE \/api\/orgs\/[^/]+\/invites\//,"invite_revoked"],[/^POST \/api\/invites\//,"invite_accepted"],[/^PUT \/api\/p\/[^/]+\/permissions\/./,"project_access_granted"],[/^DELETE \/api\/p\/[^/]+\/permissions\/./,"project_access_revoked"]];function kw(e,n){const r=e+" "+n.split("?")[0],i=mj.find(([s])=>s.test(r));i&&zw(i[1])}function sp(){throw location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),new Error("signing in…")}function pj(e,n){const r=n.trim();switch(e){case 403:return r.includes("seat")?"This plan is out of seats. Upgrade to add more people.":r.includes("owner")?"Only owners can do that.":"You don't have access to that.";case 409:return r?r[0].toUpperCase()+r.slice(1):"That is managed outside this hub.";case 404:return"That is gone — it may have been removed already.";case 413:return"This project is over its plan limit.";case 429:return"Too many requests. Give it a moment.";default:return e>=500?"The server had a problem. Try again.":r?r[0].toUpperCase()+r.slice(1):"Something went wrong."}}async function Mu(e){throw new Error(pj(e.status,await e.text()))}async function Yt(e){const n=await fetch(e,{headers:{Accept:"application/json"}});return n.status===401&&sp(),n.ok||await Mu(n),n.json()}async function gj(e){const n=await fetch(e);return n.status===401&&sp(),n.ok||await Mu(n),n}async function Wn(e,n,r){const i={method:e};r!==void 0&&(i.headers={"Content-Type":"application/json"},i.body=JSON.stringify(r));const s=await fetch(n,i);return s.ok||await Mu(s),kw(e,n),s.status===204?{}:s.json()}async function Si(e,n){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n||{})});return r.status===401&&sp(),r.ok||await Mu(r),kw("POST",e),r.json()}function vj(){return Ht({queryKey:["config"],queryFn:async()=>{const e=await Yt("/api/config");return e.auth.enabled&&!e.me&&(location.href="/auth/login?next="+encodeURIComponent(location.pathname+location.search),await new Promise(()=>{})),hj(e),e},staleTime:1/0})}var Mi=xw();const yj=bw(Mi);function Tb(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Fo(...e){return n=>{let r=!1;const i=e.map(s=>{const l=Tb(s,n);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let s=0;s{let{children:s,...l}=r,u=null,d=!1;const p=[];Ob(s)&&typeof Vc=="function"&&(s=Vc(s._payload)),S.Children.forEach(s,b=>{if(Cj(b)){d=!0;const x=b;let w="child"in x.props?x.props.child:x.props.children;Ob(w)&&typeof Vc=="function"&&(w=Vc(w._payload)),u=wj(x,w),p.push(u?.props?.children)}else p.push(b)}),u?u=S.cloneElement(u,void 0,p):!d&&S.Children.count(s)===1&&S.isValidElement(s)&&(u=s);const m=u?_j(u):void 0,y=nt(i,m);if(!u){if(s||s===0)throw new Error(d?Tj(e):jj(e));return s}const v=Sj(l,u.props??{});return u.type!==S.Fragment&&(v.ref=i?y:m),S.cloneElement(u,v)});return n.displayName=`${e}.Slot`,n}var bj=_i("Slot"),Lw=Symbol.for("radix.slottable");function xj(e){const n=r=>"child"in r?r.children(r.child):r.children;return n.displayName=`${e}.Slottable`,n.__radixId=Lw,n}var wj=(e,n)=>{if("child"in e.props){const r=e.props.child;return S.isValidElement(r)?S.cloneElement(r,void 0,e.props.children(r.props.children)):null}return S.isValidElement(n)?n:null};function Sj(e,n){const r={...n};for(const i in n){const s=e[i],l=n[i];/^on[A-Z]/.test(i)?s&&l?r[i]=(...d)=>{const p=l(...d);return s(...d),p}:s&&(r[i]=s):i==="style"?r[i]={...s,...l}:i==="className"&&(r[i]=[s,l].filter(Boolean).join(" "))}return{...e,...r}}function _j(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Cj(e){return S.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Lw}var Ej=Symbol.for("react.lazy");function Ob(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ej&&"_payload"in e&&Rj(e._payload)}function Rj(e){return typeof e=="object"&&e!==null&&"then"in e}var jj=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Tj=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Vc=Au[" use ".trim().toString()],Oj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=Oj.reduce((e,n)=>{const r=_i(`Primitive.${n}`),i=S.forwardRef((s,l)=>{const{asChild:u,...d}=s,p=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(p,{...d,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function $w(e,n){e&&Mi.flushSync(()=>e.dispatchEvent(n))}var Iw=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"}),Aj="VisuallyHidden",Pw=S.forwardRef((e,n)=>f.jsx($e.span,{...e,ref:n,style:{...Iw,...e.style}}));Pw.displayName=Aj;var Mj=Pw;function Ga(e,n=[]){let r=[];function i(l,u){const d=S.createContext(u);d.displayName=l+"Context";const p=r.length;r=[...r,u];const m=v=>{const{scope:b,children:x,...w}=v,_=b?.[e]?.[p]||d,E=S.useMemo(()=>w,Object.values(w));return f.jsx(_.Provider,{value:E,children:x})};m.displayName=l+"Provider";function y(v,b,x={}){const{optional:w=!1}=x,_=b?.[e]?.[p]||d,E=S.useContext(_);if(E)return E;if(u!==void 0)return u;if(!w)throw new Error(`\`${v}\` must be used within \`${l}\``)}return[m,y]}const s=()=>{const l=r.map(u=>S.createContext(u));return function(d){const p=d?.[e]||l;return S.useMemo(()=>({[`__scope${e}`]:{...d,[e]:p}}),[d,p])}};return s.scopeName=e,[i,Nj(s,...n)]}function Nj(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const u=i.reduce((d,{useScope:p,scopeName:m})=>{const v=p(l)[`__scope${m}`];return{...d,...v}},{});return S.useMemo(()=>({[`__scope${n.scopeName}`]:u}),[u])}};return r.scopeName=n.scopeName,r}function lp(e){const n=e+"CollectionProvider",[r,i]=Ga(n),[s,l]=r(n,{collectionRef:{current:null},itemMap:new Map}),u=_=>{const{scope:E,children:R}=_,T=S.useRef(null),O=S.useRef(new Map).current;return f.jsx(s,{scope:E,itemMap:O,collectionRef:T,children:R})};u.displayName=n;const d=e+"CollectionSlot",p=_i(d),m=S.forwardRef((_,E)=>{const{scope:R,children:T}=_,O=l(d,R),N=nt(E,O.collectionRef);return f.jsx(p,{ref:N,children:T})});m.displayName=d;const y=e+"CollectionItemSlot",v="data-radix-collection-item",b=_i(y),x=S.forwardRef((_,E)=>{const{scope:R,children:T,...O}=_,N=S.useRef(null),L=nt(E,N),P=l(y,R);return S.useEffect(()=>(P.itemMap.set(N,{ref:N,...O}),()=>{P.itemMap.delete(N)})),f.jsx(b,{[v]:"",ref:L,children:T})});x.displayName=y;function w(_){const E=l(e+"CollectionConsumer",_);return S.useCallback(()=>{const T=E.collectionRef.current;if(!T)return[];const O=Array.from(T.querySelectorAll(`[${v}]`));return Array.from(E.itemMap.values()).sort((P,F)=>O.indexOf(P.ref.current)-O.indexOf(F.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:u,Slot:m,ItemSlot:x},w,i]}function je(e,n,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e?.(s),r===!1||!s||!s.defaultPrevented)return n?.(s)}}var Kt=globalThis?.document?S.useLayoutEffect:()=>{},Dj=Au[" useInsertionEffect ".trim().toString()]||Kt;function Vo({prop:e,defaultProp:n,onChange:r=()=>{},caller:i}){const[s,l,u]=zj({defaultProp:n,onChange:r}),d=e!==void 0,p=d?e:s;{const y=S.useRef(e!==void 0);S.useEffect(()=>{const v=y.current;v!==d&&console.warn(`${i} is changing from ${v?"controlled":"uncontrolled"} to ${d?"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.`),y.current=d},[d,i])}const m=S.useCallback(y=>{if(d){const v=kj(y)?y(e):y;v!==e&&u.current?.(v)}else l(y)},[d,e,l,u]);return[p,m]}function zj({defaultProp:e,onChange:n}){const[r,i]=S.useState(e),s=S.useRef(r),l=S.useRef(n);return Dj(()=>{l.current=n},[n]),S.useEffect(()=>{s.current!==r&&(l.current?.(r),s.current=r)},[r,s]),[r,i,l]}function kj(e){return typeof e=="function"}function Lj(e,n){return S.useReducer((r,i)=>n[r][i]??r,e)}var vr=e=>{const{present:n,children:r}=e,i=$j(n),s=typeof r=="function"?r({present:i.isPresent}):S.Children.only(r),l=Ij(i.ref,Pj(s));return typeof r=="function"||i.isPresent?S.cloneElement(s,{ref:l}):null};vr.displayName="Presence";function $j(e){const[n,r]=S.useState(),i=S.useRef(null),s=S.useRef(e),l=S.useRef("none"),u=S.useRef(void 0),d=e?"mounted":"unmounted",[p,m]=Lj(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{p==="mounted"?(l.current=u.current??Fs(i.current),u.current=void 0):l.current="none"},[p]),Kt(()=>{const y=i.current,v=s.current;if(v!==e){const x=l.current,w=Fs(y);e?(u.current=w,m("MOUNT")):w==="none"||y?.display==="none"?m("UNMOUNT"):m(v&&x!==w?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,m]),Kt(()=>{if(n){let y;const v=n.ownerDocument.defaultView??window,b=w=>{const E=Fs(i.current).includes(CSS.escape(w.animationName));if(w.target===n&&E&&(m("ANIMATION_END"),!s.current)){const R=n.style.animationFillMode;n.style.animationFillMode="forwards",y=v.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=R)})}},x=w=>{w.target===n&&(l.current=Fs(i.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{v.clearTimeout(y),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else m("ANIMATION_END")},[n,m]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:S.useCallback(y=>{if(y){const v=getComputedStyle(y);i.current=v,u.current=Fs(v)}else i.current=null;r(y)},[])}}function Ab(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Ij(...e){const n=S.useRef(e);return n.current=e,S.useCallback(r=>{const i=n.current;let s=!1;const l=i.map(u=>{const d=Ab(u,r);return!s&&typeof d=="function"&&(s=!0),d});if(s)return()=>{for(let u=0;u{}),Vj=0;function dn(e){const[n,r]=S.useState(Fj());return Kt(()=>{r(i=>i??String(Vj++))},[e]),n?`radix-${n}`:""}var Uj=S.createContext(void 0);function cp(e){const n=S.useContext(Uj);return e||n||"ltr"}function tr(e){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useMemo(()=>((...r)=>n.current?.(...r)),[])}var Hj="DismissableLayer",ym="dismissableLayer.update",Bj="dismissableLayer.pointerDownOutside",qj="dismissableLayer.focusOutside",Mb,up=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),gl=S.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,onDismiss:p,...m}=e,y=S.useContext(up),[v,b]=S.useState(null),x=v?.ownerDocument??globalThis?.document,[,w]=S.useState({}),_=nt(n,b),E=Array.from(y.layers),[R]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),T=R?E.indexOf(R):-1,O=v?E.indexOf(v):-1,N=y.layersWithOutsidePointerEventsDisabled.size>0,L=O>=T,P=S.useRef(!1),F=Qj(he=>{l?.(he),d?.(he),he.defaultPrevented||p?.()},{ownerDocument:x,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:P,dismissableSurfaces:y.dismissableSurfaces,shouldHandlePointerDownOutside:S.useCallback(he=>{if(!(he instanceof Node))return!1;const X=[...y.branches].some(ae=>ae.contains(he));return L&&!X},[y.branches,L])}),V=Xj(he=>{if(i&&P.current)return;const X=he.target;[...y.branches].some(pe=>pe.contains(X))||(u?.(he),d?.(he),he.defaultPrevented||p?.())},x),ve=v?O===E.length-1:!1,ye=tr(he=>{he.key==="Escape"&&(s?.(he),!he.defaultPrevented&&p&&(he.preventDefault(),p()))});return S.useEffect(()=>{if(ve)return x.addEventListener("keydown",ye,{capture:!0}),()=>x.removeEventListener("keydown",ye,{capture:!0})},[x,ve,ye]),S.useEffect(()=>{if(v)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Mb=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(v)),y.layers.add(v),Nb(),()=>{r&&(y.layersWithOutsidePointerEventsDisabled.delete(v),y.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=Mb))}},[v,x,r,y]),S.useEffect(()=>()=>{v&&(y.layers.delete(v),y.layersWithOutsidePointerEventsDisabled.delete(v),Nb())},[v,y]),S.useEffect(()=>{const he=()=>w({});return document.addEventListener(ym,he),()=>document.removeEventListener(ym,he)},[]),f.jsx($e.div,{...m,ref:_,style:{pointerEvents:N?L?"auto":"none":void 0,...e.style},onFocusCapture:je(e.onFocusCapture,V.onFocusCapture),onBlurCapture:je(e.onBlurCapture,V.onBlurCapture),onPointerDownCapture:je(e.onPointerDownCapture,F.onPointerDownCapture)})});gl.displayName=Hj;var Gj="DismissableLayerBranch",Zj=S.forwardRef((e,n)=>{const r=S.useContext(up),i=S.useRef(null),s=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return r.branches.add(l),()=>{r.branches.delete(l)}},[r.branches]),f.jsx($e.div,{...e,ref:s})});Zj.displayName=Gj;function Kj(){const e=S.useContext(up),[n,r]=S.useState(null);return S.useEffect(()=>{if(n)return e.dismissableSurfaces.add(n),()=>{e.dismissableSurfaces.delete(n)}},[n,e.dismissableSurfaces]),r}var Yj=()=>!0;function Qj(e,n){const{ownerDocument:r=globalThis?.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l,shouldHandlePointerDownOutside:u=Yj}=n,d=tr(e),p=S.useRef(!1),m=S.useRef(!1),y=S.useRef(new Map),v=S.useRef(()=>{});return S.useEffect(()=>{function b(){m.current=!1,s.current=!1,y.current.clear()}function x(){return Array.from(y.current.values()).some(Boolean)}function w(O){if(!m.current)return;const N=O.target;N instanceof Node&&[...l].some(P=>P.contains(N))||y.current.set(O.type,!0),O.type==="click"&&window.setTimeout(()=>{m.current&&v.current()},0)}function _(O){m.current&&y.current.set(O.type,!1)}const E=O=>{if(O.target&&!p.current){let N=function(){r.removeEventListener("click",v.current);const P=x();b(),P||Fw(Bj,d,L,{discrete:!0})};if(!u(O.target)){r.removeEventListener("click",v.current),b(),p.current=!1;return}const L={originalEvent:O};m.current=!0,s.current=i&&O.button===0,y.current.clear(),!i||O.button!==0?N():(r.removeEventListener("click",v.current),v.current=N,r.addEventListener("click",v.current,{once:!0}))}else r.removeEventListener("click",v.current),b();p.current=!1},R=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const O of R)r.addEventListener(O,w,!0),r.addEventListener(O,_);const T=window.setTimeout(()=>{r.addEventListener("pointerdown",E)},0);return()=>{window.clearTimeout(T),r.removeEventListener("pointerdown",E),r.removeEventListener("click",v.current);for(const O of R)r.removeEventListener(O,w,!0),r.removeEventListener(O,_)}},[r,d,i,s,l,u]),{onPointerDownCapture:()=>p.current=!0}}function Xj(e,n=globalThis?.document){const r=tr(e),i=S.useRef(!1);return S.useEffect(()=>{const s=l=>{l.target&&!i.current&&Fw(qj,r,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Nb(){const e=new CustomEvent(ym);document.dispatchEvent(e)}function Fw(e,n,r,{discrete:i}){const s=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),i?$w(s,l):s.dispatchEvent(l)}var Nh="focusScope.autoFocusOnMount",Dh="focusScope.autoFocusOnUnmount",Db={bubbles:!1,cancelable:!0},Jj="FocusScope",Nu=S.forwardRef((e,n)=>{const{loop:r=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...u}=e,[d,p]=S.useState(null),m=tr(s),y=tr(l),v=S.useRef(null),b=nt(n,p),x=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(i){let _=function(O){if(x.paused||!d)return;const N=O.target;d.contains(N)?v.current=N:Na(v.current,{select:!0})},E=function(O){if(x.paused||!d)return;const N=O.relatedTarget;N!==null&&(d.contains(N)||Na(v.current,{select:!0}))},R=function(O){if(document.activeElement===document.body)for(const L of O)L.removedNodes.length>0&&Na(d)};document.addEventListener("focusin",_),document.addEventListener("focusout",E);const T=new MutationObserver(R);return d&&T.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",_),document.removeEventListener("focusout",E),T.disconnect()}}},[i,d,x.paused]),S.useEffect(()=>{if(d){kb.add(x);const _=document.activeElement;if(!d.contains(_)){const R=new CustomEvent(Nh,Db);d.addEventListener(Nh,m),d.dispatchEvent(R),R.defaultPrevented||(Wj(aT(Vw(d)),{select:!0}),document.activeElement===_&&Na(d))}return()=>{d.removeEventListener(Nh,m),setTimeout(()=>{const R=new CustomEvent(Dh,Db);d.addEventListener(Dh,y),d.dispatchEvent(R),R.defaultPrevented||Na(_??document.body,{select:!0}),d.removeEventListener(Dh,y),kb.remove(x)},0)}}},[d,m,y,x]);const w=S.useCallback(_=>{if(!r&&!i||x.paused)return;const E=_.key==="Tab"&&!_.altKey&&!_.ctrlKey&&!_.metaKey,R=document.activeElement;if(E&&R){const T=_.currentTarget,[O,N]=eT(T);O&&N?!_.shiftKey&&R===N?(_.preventDefault(),r&&Na(O,{select:!0})):_.shiftKey&&R===O&&(_.preventDefault(),r&&Na(N,{select:!0})):R===T&&_.preventDefault()}},[r,i,x.paused]);return f.jsx($e.div,{tabIndex:-1,...u,ref:b,onKeyDown:w})});Nu.displayName=Jj;function Wj(e,{select:n=!1}={}){const r=document.activeElement;for(const i of e)if(Na(i,{select:n}),document.activeElement!==r)return}function eT(e){const n=Vw(e),r=zb(n,e),i=zb(n.reverse(),e);return[r,i]}function Vw(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function zb(e,n){const r=typeof n.checkVisibility=="function"&&n.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(r?!i.checkVisibility({checkVisibilityCSS:!0}):tT(i,{upTo:n})))return i}function tT(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function nT(e){return e instanceof HTMLInputElement&&"select"in e}function Na(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&nT(e)&&n&&e.select()}}var kb=rT();function rT(){let e=[];return{add(n){const r=e[0];n!==r&&r?.pause(),e=Lb(e,n),e.unshift(n)},remove(n){e=Lb(e,n),e[0]?.resume()}}}function Lb(e,n){const r=[...e],i=r.indexOf(n);return i!==-1&&r.splice(i,1),r}function aT(e){return e.filter(n=>n.tagName!=="A")}var iT="Portal",vl=S.forwardRef((e,n)=>{const{container:r,...i}=e,[s,l]=S.useState(!1);Kt(()=>l(!0),[]);const u=r||s&&globalThis?.document?.body;return u?Mi.createPortal(f.jsx($e.div,{...i,ref:n}),u):null});vl.displayName=iT;var Uc=0,_o=null;function dp(){S.useEffect(()=>{_o||(_o={start:$b(),end:$b()});const{start:e,end:n}=_o;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==n&&document.body.insertAdjacentElement("beforeend",n),Uc++,()=>{Uc===1&&(_o?.start.remove(),_o?.end.remove(),_o=null),Uc=Math.max(0,Uc-1)}},[])}function $b(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Ar=function(){return Ar=Object.assign||function(n){for(var r,i=1,s=arguments.length;i"u")return ST;var n=_T(e),r=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-r+n[2]-n[0])}},ET=qw(),ko="data-scroll-locked",RT=function(e,n,r,i){var s=e.left,l=e.top,u=e.right,d=e.gap;return r===void 0&&(r="margin"),` + .`.concat(sT,` { + overflow: hidden `).concat(i,`; + padding-right: `).concat(d,"px ").concat(i,`; + } + body[`).concat(ko,`] { + overflow: hidden `).concat(i,`; + overscroll-behavior: contain; + `).concat([n&&"position: relative ".concat(i,";"),r==="margin"&&` + padding-left: `.concat(s,`px; + padding-top: `).concat(l,`px; + padding-right: `).concat(u,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(d,"px ").concat(i,`; + `),r==="padding"&&"padding-right: ".concat(d,"px ").concat(i,";")].filter(Boolean).join(""),` + } + + .`).concat(au,` { + right: `).concat(d,"px ").concat(i,`; + } + + .`).concat(iu,` { + margin-right: `).concat(d,"px ").concat(i,`; + } + + .`).concat(au," .").concat(au,` { + right: 0 `).concat(i,`; + } + + .`).concat(iu," .").concat(iu,` { + margin-right: 0 `).concat(i,`; + } + + body[`).concat(ko,`] { + `).concat(lT,": ").concat(d,`px; + } +`)},Pb=function(){var e=parseInt(document.body.getAttribute(ko)||"0",10);return isFinite(e)?e:0},jT=function(){S.useEffect(function(){return document.body.setAttribute(ko,(Pb()+1).toString()),function(){var e=Pb()-1;e<=0?document.body.removeAttribute(ko):document.body.setAttribute(ko,e.toString())}},[])},TT=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,s=i===void 0?"margin":i;jT();var l=S.useMemo(function(){return CT(s)},[s]);return S.createElement(ET,{styles:RT(l,!n,s,r?"":"!important")})},bm=!1;if(typeof window<"u")try{var Hc=Object.defineProperty({},"passive",{get:function(){return bm=!0,!0}});window.addEventListener("test",Hc,Hc),window.removeEventListener("test",Hc,Hc)}catch{bm=!1}var Co=bm?{passive:!1}:!1,OT=function(e){return e.tagName==="TEXTAREA"},Gw=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!OT(e)&&r[n]==="visible")},AT=function(e){return Gw(e,"overflowY")},MT=function(e){return Gw(e,"overflowX")},Fb=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=Zw(e,i);if(s){var l=Kw(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},NT=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},DT=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Zw=function(e,n){return e==="v"?AT(n):MT(n)},Kw=function(e,n){return e==="v"?NT(n):DT(n)},zT=function(e,n){return e==="h"&&n==="rtl"?-1:1},kT=function(e,n,r,i,s){var l=zT(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,p=n.contains(d),m=!1,y=u>0,v=0,b=0;do{if(!d)break;var x=Kw(e,d),w=x[0],_=x[1],E=x[2],R=_-E-l*w;(w||R)&&Zw(e,d)&&(v+=R,b+=w);var T=d.parentNode;d=T&&T.nodeType===Node.DOCUMENT_FRAGMENT_NODE?T.host:T}while(!p&&d!==document.body||p&&(n.contains(d)||n===d));return(y&&Math.abs(v)<1||!y&&Math.abs(b)<1)&&(m=!0),m},Bc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Vb=function(e){return[e.deltaX,e.deltaY]},Ub=function(e){return e&&"current"in e?e.current:e},LT=function(e,n){return e[0]===n[0]&&e[1]===n[1]},$T=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},IT=0,Eo=[];function PT(e){var n=S.useRef([]),r=S.useRef([0,0]),i=S.useRef(),s=S.useState(IT++)[0],l=S.useState(qw)[0],u=S.useRef(e);S.useEffect(function(){u.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var _=oT([e.lockRef.current],(e.shards||[]).map(Ub),!0).filter(Boolean);return _.forEach(function(E){return E.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),_.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var d=S.useCallback(function(_,E){if("touches"in _&&_.touches.length===2||_.type==="wheel"&&_.ctrlKey)return!u.current.allowPinchZoom;var R=Bc(_),T=r.current,O="deltaX"in _?_.deltaX:T[0]-R[0],N="deltaY"in _?_.deltaY:T[1]-R[1],L,P=_.target,F=Math.abs(O)>Math.abs(N)?"h":"v";if("touches"in _&&F==="h"&&P.type==="range")return!1;var V=window.getSelection(),ve=V&&V.anchorNode,ye=ve?ve===P||ve.contains(P):!1;if(ye)return!1;var he=Fb(F,P);if(!he)return!0;if(he?L=F:(L=F==="v"?"h":"v",he=Fb(F,P)),!he)return!1;if(!i.current&&"changedTouches"in _&&(O||N)&&(i.current=L),!L)return!0;var X=i.current||L;return kT(X,E,_,X==="h"?O:N)},[]),p=S.useCallback(function(_){var E=_;if(!(!Eo.length||Eo[Eo.length-1]!==l)){var R="deltaY"in E?Vb(E):Bc(E),T=n.current.filter(function(L){return L.name===E.type&&(L.target===E.target||E.target===L.shadowParent)&<(L.delta,R)})[0];if(T&&T.should){E.cancelable&&E.preventDefault();return}if(!T){var O=(u.current.shards||[]).map(Ub).filter(Boolean).filter(function(L){return L.contains(E.target)}),N=O.length>0?d(E,O[0]):!u.current.noIsolation;N&&E.cancelable&&E.preventDefault()}}},[]),m=S.useCallback(function(_,E,R,T){var O={name:_,delta:E,target:R,should:T,shadowParent:FT(R)};n.current.push(O),setTimeout(function(){n.current=n.current.filter(function(N){return N!==O})},1)},[]),y=S.useCallback(function(_){r.current=Bc(_),i.current=void 0},[]),v=S.useCallback(function(_){m(_.type,Vb(_),_.target,d(_,e.lockRef.current))},[]),b=S.useCallback(function(_){m(_.type,Bc(_),_.target,d(_,e.lockRef.current))},[]);S.useEffect(function(){return Eo.push(l),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:b}),document.addEventListener("wheel",p,Co),document.addEventListener("touchmove",p,Co),document.addEventListener("touchstart",y,Co),function(){Eo=Eo.filter(function(_){return _!==l}),document.removeEventListener("wheel",p,Co),document.removeEventListener("touchmove",p,Co),document.removeEventListener("touchstart",y,Co)}},[]);var x=e.removeScrollBar,w=e.inert;return S.createElement(S.Fragment,null,w?S.createElement(l,{styles:$T(s)}):null,x?S.createElement(TT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function FT(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const VT=pT(Bw,PT);var zu=S.forwardRef(function(e,n){return S.createElement(Du,Ar({},e,{ref:n,sideCar:VT}))});zu.classNames=Du.classNames;var UT=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Ro=new WeakMap,qc=new WeakMap,Gc={},$h=0,Yw=function(e){return e&&(e.host||Yw(e.parentNode))},HT=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Yw(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},BT=function(e,n,r,i){var s=HT(n,Array.isArray(e)?e:[e]);Gc[r]||(Gc[r]=new WeakMap);var l=Gc[r],u=[],d=new Set,p=new Set(s),m=function(v){!v||d.has(v)||(d.add(v),m(v.parentNode))};s.forEach(m);var y=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(b){if(d.has(b))y(b);else try{var x=b.getAttribute(i),w=x!==null&&x!=="false",_=(Ro.get(b)||0)+1,E=(l.get(b)||0)+1;Ro.set(b,_),l.set(b,E),u.push(b),_===1&&w&&qc.set(b,!0),E===1&&b.setAttribute(r,"true"),w||b.setAttribute(i,"true")}catch(R){console.error("aria-hidden: cannot operate on ",b,R)}})};return y(n),d.clear(),$h++,function(){u.forEach(function(v){var b=Ro.get(v)-1,x=l.get(v)-1;Ro.set(v,b),l.set(v,x),b||(qc.has(v)||v.removeAttribute(i),qc.delete(v)),x||v.removeAttribute(r)}),$h--,$h||(Ro=new WeakMap,Ro=new WeakMap,qc=new WeakMap,Gc={})}},fp=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=UT(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),BT(i,s,r,"aria-hidden")):function(){return null}},ku="Dialog",[Qw]=Ga(ku),[qT,yr]=Qw(ku),hp=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:l,modal:u=!0}=e,d=S.useRef(null),p=S.useRef(null),[m,y]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:ku});return f.jsx(qT,{scope:n,triggerRef:d,contentRef:p,contentId:dn(),titleId:dn(),descriptionId:dn(),open:m,onOpenChange:y,onOpenToggle:S.useCallback(()=>y(v=>!v),[y]),modal:u,children:r})};hp.displayName=ku;var Xw="DialogTrigger",GT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=yr(Xw,r),l=nt(n,s.triggerRef);return f.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":yp(s.open),...i,ref:l,onClick:je(e.onClick,s.onOpenToggle)})});GT.displayName=Xw;var mp="DialogPortal",[ZT,Jw]=Qw(mp,{forceMount:void 0}),pp=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,l=yr(mp,n);return f.jsx(ZT,{scope:n,forceMount:r,children:S.Children.map(i,u=>f.jsx(vr,{present:r||l.open,children:f.jsx(vl,{asChild:!0,container:s,children:u})}))})};pp.displayName=mp;var hu="DialogOverlay",gp=S.forwardRef((e,n)=>{const r=Jw(hu,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=yr(hu,e.__scopeDialog);return l.modal?f.jsx(vr,{present:i||l.open,children:f.jsx(YT,{...s,ref:n})}):null});gp.displayName=hu;var KT=_i("DialogOverlay.RemoveScroll"),YT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=yr(hu,r),l=Kj(),u=nt(n,l);return f.jsx(zu,{as:KT,allowPinchZoom:!0,shards:[s.contentRef],children:f.jsx($e.div,{"data-state":yp(s.open),...i,ref:u,style:{pointerEvents:"auto",...i.style}})})}),Uo="DialogContent",vp=S.forwardRef((e,n)=>{const r=Jw(Uo,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,l=yr(Uo,e.__scopeDialog);return f.jsx(vr,{present:i||l.open,children:l.modal?f.jsx(QT,{...s,ref:n}):f.jsx(XT,{...s,ref:n})})});vp.displayName=Uo;var QT=S.forwardRef((e,n)=>{const r=yr(Uo,e.__scopeDialog),i=S.useRef(null),s=nt(n,r.contentRef,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(Ww,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:je(e.onCloseAutoFocus,l=>{l.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:je(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault())})}),XT=S.forwardRef((e,n)=>{const r=yr(Uo,e.__scopeDialog),i=S.useRef(!1),s=S.useRef(!1);return f.jsx(Ww,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(i.current||r.triggerRef.current?.focus(),l.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=l.target;r.triggerRef.current?.contains(u)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),Ww=S.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,...u}=e,d=yr(Uo,r);return dp(),f.jsx(f.Fragment,{children:f.jsx(Nu,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:l,children:f.jsx(gl,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":yp(d.open),...u,ref:n,deferPointerDownOutside:!0,onDismiss:()=>d.onOpenChange(!1)})})})}),eS="DialogTitle",tS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=yr(eS,r);return f.jsx($e.h2,{id:s.titleId,...i,ref:n})});tS.displayName=eS;var nS="DialogDescription",JT=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=yr(nS,r);return f.jsx($e.p,{id:s.descriptionId,...i,ref:n})});JT.displayName=nS;var rS="DialogClose",aS=S.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=yr(rS,r);return f.jsx($e.button,{type:"button",...i,ref:n,onClick:je(e.onClick,()=>s.onOpenChange(!1))})});aS.displayName=rS;function yp(e){return e?"open":"closed"}function WT(e){const n=S.useRef({value:e,previous:e});return S.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function eO(e){const[n,r]=S.useState(void 0);return Kt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let u,d;if("borderBoxSize"in l){const p=l.borderBoxSize,m=Array.isArray(p)?p[0]:p;u=m.inlineSize,d=m.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}const tO=["top","right","bottom","left"],Va=Math.min,ra=Math.max,mu=Math.round,Zc=Math.floor,aa=e=>({x:e,y:e}),nO={left:"right",right:"left",bottom:"top",top:"bottom"};function iS(e,n,r){return ra(e,Va(n,r))}function ia(e,n){return typeof e=="function"?e(n):e}function Ua(e){return e.split("-")[0]}function qo(e){return e.split("-")[1]}function bp(e){return e==="x"?"y":"x"}function xp(e){return e==="y"?"height":"width"}function Mr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function wp(e){return bp(Mr(e))}function rO(e,n,r){r===void 0&&(r=!1);const i=qo(e),s=wp(e),l=xp(s);let u=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=pu(u)),[u,pu(u)]}function aO(e){const n=pu(e);return[xm(e),n,xm(n)]}function xm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Hb=["left","right"],Bb=["right","left"],iO=["top","bottom"],oO=["bottom","top"];function sO(e,n,r){switch(e){case"top":case"bottom":return r?n?Bb:Hb:n?Hb:Bb;case"left":case"right":return n?iO:oO;default:return[]}}function lO(e,n,r,i){const s=qo(e);let l=sO(Ua(e),r==="start",i);return s&&(l=l.map(u=>u+"-"+s),n&&(l=l.concat(l.map(xm)))),l}function pu(e){const n=Ua(e);return nO[n]+e.slice(n.length)}function cO(e){var n,r,i,s;return{top:(n=e.top)!=null?n:0,right:(r=e.right)!=null?r:0,bottom:(i=e.bottom)!=null?i:0,left:(s=e.left)!=null?s:0}}function oS(e){return typeof e!="number"?cO(e):{top:e,right:e,bottom:e,left:e}}function gu(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function qb(e,n,r){let{reference:i,floating:s}=e;const l=Mr(n),u=wp(n),d=xp(u),p=Ua(n),m=l==="y",y=i.x+i.width/2-s.width/2,v=i.y+i.height/2-s.height/2,b=i[d]/2-s[d]/2;let x;switch(p){case"top":x={x:y,y:i.y-s.height};break;case"bottom":x={x:y,y:i.y+i.height};break;case"right":x={x:i.x+i.width,y:v};break;case"left":x={x:i.x-s.width,y:v};break;default:x={x:i.x,y:i.y}}const w=qo(n);return w&&(x[u]+=b*(w==="end"?1:-1)*(r&&m?-1:1)),x}async function uO(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:l,rects:u,elements:d,strategy:p}=e,{boundary:m="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:b=!1,padding:x=0}=ia(n,e),w=oS(x),E=d[b?v==="floating"?"reference":"floating":v],R=gu(await l.getClippingRect({element:(r=await(l.isElement==null?void 0:l.isElement(E)))==null||r?E:E.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(d.floating)),boundary:m,rootBoundary:y,strategy:p})),T=v==="floating"?{x:i,y:s,width:u.floating.width,height:u.floating.height}:u.reference,O=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d.floating)),N=await(l.isElement==null?void 0:l.isElement(O))&&await(l.getScale==null?void 0:l.getScale(O))||{x:1,y:1},L=gu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:T,offsetParent:O,strategy:p}):T);return{top:(R.top-L.top+w.top)/N.y,bottom:(L.bottom-R.bottom+w.bottom)/N.y,left:(R.left-L.left+w.left)/N.x,right:(L.right-R.right+w.right)/N.x}}const dO=50,fO=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:l=[],platform:u}=r,d=u.detectOverflow?u:{...u,detectOverflow:uO},p=await(u.isRTL==null?void 0:u.isRTL(n));let m=await u.getElementRects({reference:e,floating:n,strategy:s}),{x:y,y:v}=qb(m,i,p),b=i,x=0;const w={};for(let _=0;_({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:l,platform:u,elements:d,middlewareData:p}=n,{element:m,padding:y=0}=ia(e,n)||{};if(m==null)return{};const v=oS(y),b={x:r,y:i},x=wp(s),w=xp(x),_=await u.getDimensions(m),E=x==="y",R=E?"top":"left",T=E?"bottom":"right",O=E?"clientHeight":"clientWidth",N=l.reference[w]+l.reference[x]-b[x]-l.floating[w],L=b[x]-l.reference[x],P=await(u.getOffsetParent==null?void 0:u.getOffsetParent(m));let F=P?P[O]:0;(!F||!await(u.isElement==null?void 0:u.isElement(P)))&&(F=d.floating[O]||l.floating[w]);const V=N/2-L/2,ve=F/2-_[w]/2-1,ye=Va(v[R],ve),he=Va(v[T],ve),X=F-_[w]-he,ae=F/2-_[w]/2+V,pe=iS(ye,ae,X),xe=!p.arrow&&qo(s)!=null&&ae!==pe&&l.reference[w]/2-(aepe<=0)){var he,X;const pe=(((he=l.flip)==null?void 0:he.index)||0)+1,xe=F[pe];if(xe&&(!(v==="alignment"?T!==Mr(xe):!1)||ye.every(oe=>Mr(oe.placement)===T?oe.overflows[0]>0:!0)))return{data:{index:pe,overflows:ye},reset:{placement:xe}};let z=(X=ye.filter(Q=>Q.overflows[0]<=0).sort((Q,oe)=>Q.overflows[1]-oe.overflows[1])[0])==null?void 0:X.placement;if(!z)switch(x){case"bestFit":{var ae;const Q=(ae=ye.filter(oe=>{if(P){const W=Mr(oe.placement);return W===T||W==="y"}return!0}).map(oe=>[oe.placement,oe.overflows.filter(W=>W>0).reduce((W,te)=>W+te,0)]).sort((oe,W)=>oe[1]-W[1])[0])==null?void 0:ae[0];Q&&(z=Q);break}case"initialPlacement":z=d;break}if(s!==z)return{reset:{placement:z}}}return{}}}};function Gb(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Zb(e){return tO.some(n=>e[n]>=0)}const pO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r,platform:i}=n,{strategy:s="referenceHidden",...l}=ia(e,n);switch(s){case"referenceHidden":{const u=await i.detectOverflow(n,{...l,elementContext:"reference"}),d=Gb(u,r.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:Zb(d)}}}case"escaped":{const u=await i.detectOverflow(n,{...l,altBoundary:!0}),d=Gb(u,r.floating);return{data:{escapedOffsets:d,escaped:Zb(d)}}}default:return{}}}}},sS=new Set(["left","top"]);async function gO(e,n){const{placement:r,platform:i,elements:s}=e,l=await(i.isRTL==null?void 0:i.isRTL(s.floating)),u=Ua(r),d=qo(r),p=Mr(r)==="y",m=sS.has(u)?-1:1,y=l&&p?-1:1,v=ia(n,e);let{mainAxis:b,crossAxis:x,alignmentAxis:w}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return d&&typeof w=="number"&&(x=d==="end"?w*-1:w),p?{x:x*y,y:b*m}:{x:b*m,y:x*y}}const vO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:l,placement:u,middlewareData:d}=n,p=await gO(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:s+p.x,y:l+p.y,data:{...p,placement:u}}}}},yO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s,platform:l}=n,{mainAxis:u=!0,crossAxis:d=!1,limiter:p={fn:T=>{let{x:O,y:N}=T;return{x:O,y:N}}},...m}=ia(e,n),y={x:r,y:i},v=await l.detectOverflow(n,m),b=Mr(s),x=bp(b);let w=y[x],_=y[b];const E=(T,O)=>iS(O+v[T==="y"?"top":"left"],O,O-v[T==="y"?"bottom":"right"]);u&&(w=E(x,w)),d&&(_=E(b,_));const R=p.fn({...n,[x]:w,[b]:_});return{...R,data:{x:R.x-r,y:R.y-i,enabled:{[x]:u,[b]:d}}}}}},bO=function(e){return e===void 0&&(e={}),{options:e,fn(n){var r,i;const{x:s,y:l,placement:u,rects:d,middlewareData:p}=n,{offset:m=0,mainAxis:y=!0,crossAxis:v=!0}=ia(e,n),b={x:s,y:l},x=Mr(u),w=bp(x);let _=b[w],E=b[x];const R=ia(m,n),T=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:(r=R.mainAxis)!=null?r:0,crossAxis:(i=R.crossAxis)!=null?i:0};if(y){const L=w==="y"?"height":"width",P=d.reference[w]-d.floating[L]+T.mainAxis,F=d.reference[w]+d.reference[L]-T.mainAxis;_F&&(_=F)}if(v){var O,N;const L=w==="y"?"width":"height",P=sS.has(Ua(u)),F=d.reference[x]-d.floating[L]+(P&&((O=p.offset)==null?void 0:O[x])||0)+(P?0:T.crossAxis),V=d.reference[x]+d.reference[L]+(P?0:((N=p.offset)==null?void 0:N[x])||0)-(P?T.crossAxis:0);EV&&(E=V)}return{[w]:_,[x]:E}}}},xO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){const{placement:r,rects:i,platform:s,elements:l}=n,{apply:u=()=>{},...d}=ia(e,n),p=await s.detectOverflow(n,d),m=Ua(r),y=qo(r),v=Mr(r)==="y",{width:b,height:x}=i.floating;let w,_;m==="top"||m==="bottom"?(w=m,_=y===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(_=m,w=y==="end"?"top":"bottom");const E=x-p.top-p.bottom,R=b-p.left-p.right,T=Va(x-p[w],E),O=Va(b-p[_],R),N=n.middlewareData.shift,L=!N;let P=T,F=O;N!=null&&N.enabled.x&&(F=R),N!=null&&N.enabled.y&&(P=E),L&&!y&&(v?F=b-2*ra(p.left,p.right):P=x-2*ra(p.top,p.bottom)),await u({...n,availableWidth:F,availableHeight:P});const V=await s.getDimensions(l.floating);return b!==V.width||x!==V.height?{reset:{rects:!0}}:{}}}};function Lu(){return typeof window<"u"}function Go(e){return lS(e)?(e.nodeName||"").toLowerCase():"#document"}function An(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function oa(e){var n;return(n=(lS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function lS(e){return Lu()?e instanceof Node||e instanceof An(e).Node:!1}function Nr(e){return Lu()?e instanceof Element||e instanceof An(e).Element:!1}function Za(e){return Lu()?e instanceof HTMLElement||e instanceof An(e).HTMLElement:!1}function Kb(e){return!Lu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof An(e).ShadowRoot}function $u(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Dr(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&s!=="inline"&&s!=="contents"}function wO(e){return/^(table|td|th)$/.test(Go(e))}function Iu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const SO=/transform|translate|scale|rotate|perspective|filter/,_O=/paint|layout|strict|content/,vi=e=>!!e&&e!=="none";let Ih;function Sp(e){const n=Nr(e)?Dr(e):e;return vi(n.transform)||vi(n.translate)||vi(n.scale)||vi(n.rotate)||vi(n.perspective)||!_p()&&(vi(n.backdropFilter)||vi(n.filter))||SO.test(n.willChange||"")||_O.test(n.contain||"")}function CO(e){let n=Ci(e);for(;Za(n)&&!rl(n);){if(Sp(n))return n;if(Iu(n))return null;n=Ci(n)}return null}function _p(){return Ih==null&&(Ih=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ih}function rl(e){return/^(html|body|#document)$/.test(Go(e))}function Dr(e){return An(e).getComputedStyle(e)}function Pu(e){return Nr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ci(e){if(Go(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Kb(e)&&e.host||oa(e);return Kb(n)?n.host:n}function cS(e){const n=Ci(e);return rl(n)?(e.ownerDocument||e).body:Za(n)&&$u(n)?n:cS(n)}function al(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=cS(e),l=s===((i=e.ownerDocument)==null?void 0:i.body),u=An(s);if(l){const d=wm(u);return n.concat(u,u.visualViewport||[],$u(s)?s:[],d&&r?al(d):[])}else return n.concat(s,al(s,[],r))}function wm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function uS(e){const n=Dr(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=Za(e),l=s?e.offsetWidth:r,u=s?e.offsetHeight:i,d=mu(r)!==l||mu(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Cp(e){return Nr(e)?e:e.contextElement}function Lo(e){const n=Cp(e);if(!Za(n))return aa(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:l}=uS(n);let u=(l?mu(r.width):r.width)/i,d=(l?mu(r.height):r.height)/s;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const EO=aa(0);function dS(e){const n=An(e);return!_p()||!n.visualViewport?EO:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function RO(e,n,r){return n===void 0&&(n=!1),!!r&&n&&r===An(e)}function Ei(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),l=Cp(e);let u=aa(1);n&&(i?Nr(i)&&(u=Lo(i)):u=Lo(e));const d=RO(l,r,i)?dS(l):aa(0);let p=(s.left+d.x)/u.x,m=(s.top+d.y)/u.y,y=s.width/u.x,v=s.height/u.y;if(l&&i){const b=An(l),x=Nr(i)?An(i):i;let w=b,_=wm(w);for(;_&&x!==w;){const E=Lo(_),R=_.getBoundingClientRect(),T=Dr(_),O=R.left+(_.clientLeft+parseFloat(T.paddingLeft))*E.x,N=R.top+(_.clientTop+parseFloat(T.paddingTop))*E.y;p*=E.x,m*=E.y,y*=E.x,v*=E.y,p+=O,m+=N,w=An(_),_=wm(w)}}return gu({width:y,height:v,x:p,y:m})}function Fu(e,n){const r=Pu(e).scrollLeft;return n?n.left+r:Ei(oa(e)).left+r}function fS(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-Fu(e,r),s=r.top+n.scrollTop;return{x:i,y:s}}function jO(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const l=s==="fixed",u=oa(i),d=n?Iu(n.floating):!1;if(i===u||d&&l)return r;let p={scrollLeft:0,scrollTop:0},m=aa(1);const y=aa(0),v=Za(i);if((v||!l)&&((Go(i)!=="body"||$u(u))&&(p=Pu(i)),v)){const x=Ei(i);m=Lo(i),y.x=x.x+i.clientLeft,y.y=x.y+i.clientTop}const b=u&&!v&&!l?fS(u,p):aa(0);return{width:r.width*m.x,height:r.height*m.y,x:r.x*m.x-p.scrollLeft*m.x+y.x+b.x,y:r.y*m.y-p.scrollTop*m.y+y.y+b.y}}function TO(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function OO(e){const n=Pu(e),r=e.ownerDocument.body,i=ra(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=ra(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Fu(e);const u=-n.scrollTop;return Dr(r).direction==="rtl"&&(l+=ra(e.clientWidth,r.clientWidth)-i),{width:i,height:s,x:l,y:u}}const AO=25;function MO(e,n,r){r===void 0&&(r="viewport");const i=r==="layoutViewport",s=An(e),l=oa(e),u=s.visualViewport;let d=l.clientWidth,p=l.clientHeight,m=0,y=0;if(u){const b=!_p()||n==="fixed";i?b||(m=-u.offsetLeft,y=-u.offsetTop):(d=u.width,p=u.height,b&&(m=u.offsetLeft,y=u.offsetTop))}if(Fu(l)<=0){const b=l.ownerDocument,x=b.body,w=getComputedStyle(x),_=b.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,E=Math.abs(l.clientWidth-x.clientWidth-_),R=getComputedStyle(l).scrollbarGutter==="stable both-edges"?E/2:E;R<=AO&&(d-=R)}return{width:d,height:p,x:m,y}}function NO(e,n){const r=Ei(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,l=Lo(e),u=e.clientWidth*l.x,d=e.clientHeight*l.y,p=s*l.x,m=i*l.y;return{width:u,height:d,x:p,y:m}}function Yb(e,n,r){let i;if(n==="viewport"||n==="layoutViewport")i=MO(e,r,n);else if(n==="document")i=OO(oa(e));else if(Nr(n))i=NO(n,r);else{const s=dS(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return gu(i)}function DO(e,n){const r=n.get(e);if(r)return r;let i=al(e,[],!1).filter(d=>Nr(d)&&Go(d)!=="body"),s=null;const l=Dr(e).position==="fixed";let u=l?Ci(e):e;for(;Nr(u)&&!rl(u);){const d=Dr(u),p=Sp(u),m=s?s.position:l?"fixed":"";!p&&(m==="fixed"||m==="absolute"&&d.position==="static")?i=i.filter(v=>v!==u):s=d,u=Ci(u)}return n.set(e,i),i}function zO(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const u=[...r==="clippingAncestors"?Iu(n)?[]:DO(n,this._c):[].concat(r),i],d=Yb(n,u[0],s);let p=d.top,m=d.right,y=d.bottom,v=d.left;for(let b=1;b{d(!1,1e-7)},1e3)}F=!1}try{i=new IntersectionObserver(V,{...P,root:l.ownerDocument})}catch{i=new IntersectionObserver(V,P)}i.observe(e)}const p=An(e),m=()=>d(r);return p.addEventListener("resize",m),d(!0),()=>{p.removeEventListener("resize",m),u()}}function VO(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:p=!1}=i,m=Cp(e),y=s||l?[...m?al(m):[],...n?al(n):[]]:[];y.forEach(R=>{s&&R.addEventListener("scroll",r),l&&R.addEventListener("resize",r)});const v=m&&d?FO(m,r,l):null;let b=-1,x=null;u&&(x=new ResizeObserver(R=>{let[T]=R;T&&T.target===m&&x&&n&&(x.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(n)})),r()}),m&&!p&&x.observe(m),n&&x.observe(n));let w,_=p?Ei(e):null;p&&E();function E(){const R=Ei(e);_&&!mS(_,R)&&r(),_=R,w=requestAnimationFrame(E)}return r(),()=>{var R;y.forEach(T=>{s&&T.removeEventListener("scroll",r),l&&T.removeEventListener("resize",r)}),v?.(),(R=x)==null||R.disconnect(),x=null,p&&cancelAnimationFrame(w)}}const UO=vO,HO=yO,BO=mO,qO=xO,GO=pO,Xb=hO,ZO=bO,KO=(e,n,r)=>{const i=new Map,s=r??{},l={...PO,...s.platform,_c:i};return fO(e,n,{...s,platform:l})};var YO=typeof document<"u",QO=function(){},ou=YO?S.useLayoutEffect:QO;function vu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!vu(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const l=s[i];if(!(l==="_owner"&&e.$$typeof)&&!vu(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function pS(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jb(e,n){const r=pS(e);return Math.round(n*r)/r}function Fh(e){const n=S.useRef(e);return ou(()=>{n.current=e}),n}function XO(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:p,open:m}=e,[y,v]=S.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,x]=S.useState(i);vu(b,i)||x(i);const[w,_]=S.useState(null),[E,R]=S.useState(null),T=S.useCallback(oe=>{oe!==P.current&&(P.current=oe,_(oe))},[]),O=S.useCallback(oe=>{oe!==F.current&&(F.current=oe,R(oe))},[]),N=l||w,L=u||E,P=S.useRef(null),F=S.useRef(null),V=S.useRef(y),ve=p!=null,ye=Fh(p),he=Fh(s),X=Fh(m),ae=S.useCallback(()=>{if(!P.current||!F.current)return;const oe={placement:n,strategy:r,middleware:b};he.current&&(oe.platform=he.current),KO(P.current,F.current,oe).then(W=>{const te={...W,isPositioned:X.current!==!1};pe.current&&!vu(V.current,te)&&(V.current=te,Mi.flushSync(()=>{v(te)}))})},[b,n,r,he,X]);ou(()=>{m===!1&&V.current.isPositioned&&(V.current.isPositioned=!1,v(oe=>({...oe,isPositioned:!1})))},[m]);const pe=S.useRef(!1);ou(()=>(pe.current=!0,()=>{pe.current=!1}),[]),ou(()=>{if(N&&(P.current=N),L&&(F.current=L),N&&L){if(ye.current)return ye.current(N,L,ae);ae()}},[N,L,ae,ye,ve]);const xe=S.useMemo(()=>({reference:P,floating:F,setReference:T,setFloating:O}),[T,O]),z=S.useMemo(()=>({reference:N,floating:L}),[N,L]),Q=S.useMemo(()=>{const oe={position:r,left:0,top:0};if(!z.floating)return oe;const W=Jb(z.floating,y.x),te=Jb(z.floating,y.y);return d?{...oe,transform:"translate("+W+"px, "+te+"px)",...pS(z.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:W,top:te}},[r,d,z.floating,y.x,y.y]);return S.useMemo(()=>({...y,update:ae,refs:xe,elements:z,floatingStyles:Q}),[y,ae,xe,z,Q])}const JO=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?Xb({element:i.current,padding:s}).fn(r):{}:i?Xb({element:i,padding:s}).fn(r):{}}}},WO=(e,n)=>{const r=UO(e);return{name:r.name,fn:r.fn,options:[e,n]}},eA=(e,n)=>{const r=HO(e);return{name:r.name,fn:r.fn,options:[e,n]}},tA=(e,n)=>({fn:ZO(e).fn,options:[e,n]}),nA=(e,n)=>{const r=BO(e);return{name:r.name,fn:r.fn,options:[e,n]}},rA=(e,n)=>{const r=qO(e);return{name:r.name,fn:r.fn,options:[e,n]}},aA=(e,n)=>{const r=GO(e);return{name:r.name,fn:r.fn,options:[e,n]}},iA=(e,n)=>{const r=JO(e);return{name:r.name,fn:r.fn,options:[e,n]}};var oA="Arrow",gS=S.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...l}=e;return f.jsx($e.svg,{...l,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});gS.displayName=oA;var sA=gS,Ep="Popper",[vS,Zo]=Ga(Ep),[lA,yS]=vS(Ep),bS=e=>{const{__scopePopper:n,children:r}=e,[i,s]=S.useState(null),[l,u]=S.useState(void 0);return f.jsx(lA,{scope:n,anchor:i,onAnchorChange:s,placementState:l,setPlacementState:u,children:r})};bS.displayName=Ep;var xS="PopperAnchor",wS=S.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,l=yS(xS,r),u=S.useRef(null),d=l.onAnchorChange,p=S.useCallback(w=>{u.current=w,w&&d(w)},[d]),m=nt(n,p),y=S.useRef(null);S.useEffect(()=>{if(!i)return;const w=y.current;y.current=i.current,w!==y.current&&d(y.current)});const v=l.placementState&&jp(l.placementState),b=v?.[0],x=v?.[1];return i?null:f.jsx($e.div,{"data-radix-popper-side":b,"data-radix-popper-align":x,...s,ref:m})});wS.displayName=xS;var Rp="PopperContent",[cA,uA]=vS(Rp),SS=S.forwardRef((e,n)=>{const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,arrowPadding:d=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:x="optimized",onPlaced:w,..._}=e,E=yS(Rp,r),[R,T]=S.useState(null),O=nt(n,T),[N,L]=S.useState(null),P=eO(N),F=P?.width??0,V=P?.height??0,ve=i+(l!=="center"?"-"+l:""),ye=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},he=Array.isArray(m)?m:[m],X=he.length>0,ae={padding:ye,boundary:he.filter(fA),altBoundary:X},{refs:pe,floatingStyles:xe,placement:z,isPositioned:Q,middlewareData:oe}=XO({strategy:"fixed",placement:ve,whileElementsMounted:(...ge)=>VO(...ge,{animationFrame:x==="always"}),elements:{reference:E.anchor},middleware:[WO({mainAxis:s+V,alignmentAxis:u}),p&&eA({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?tA():void 0,...ae}),p&&nA({...ae}),rA({...ae,apply:({elements:ge,rects:be,availableWidth:Oe,availableHeight:Ie})=>{const{width:Ve,height:it}=be.reference,Qe=ge.floating.style;Qe.setProperty("--radix-popper-available-width",`${Oe}px`),Qe.setProperty("--radix-popper-available-height",`${Ie}px`),Qe.setProperty("--radix-popper-anchor-width",`${Ve}px`),Qe.setProperty("--radix-popper-anchor-height",`${it}px`)}}),N&&iA({element:N,padding:d}),hA({arrowWidth:F,arrowHeight:V}),b&&aA({strategy:"referenceHidden",...ae,boundary:X?ae.boundary:void 0})]}),W=E.setPlacementState;Kt(()=>(W(z),()=>{W(void 0)}),[z,W]);const[te,D]=jp(z),M=tr(w);Kt(()=>{Q&&M?.()},[Q,M]);const B=oe.arrow?.x,J=oe.arrow?.y,K=oe.arrow?.centerOffset!==0,[ce,re]=S.useState();return Kt(()=>{R&&re(window.getComputedStyle(R).zIndex)},[R]),f.jsx("div",{ref:pe.setFloating,"data-radix-popper-content-wrapper":"",style:{...xe,transform:Q?xe.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ce,"--radix-popper-transform-origin":[oe.transformOrigin?.x,oe.transformOrigin?.y].join(" "),...oe.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(cA,{scope:r,placedSide:te,placedAlign:D,onArrowChange:L,arrowX:B,arrowY:J,shouldHideArrow:K,children:f.jsx($e.div,{"data-side":te,"data-align":D,..._,ref:O,style:{..._.style,animation:Q?void 0:"none"}})})})});SS.displayName=Rp;var _S="PopperArrow",dA={top:"bottom",right:"left",bottom:"top",left:"right"},CS=S.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,l=uA(_S,i),u=dA[l.placedSide];return f.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:f.jsx(sA,{...s,ref:r,style:{...s.style,display:"block"}})})});CS.displayName=_S;function fA(e){return e!==null}var hA=e=>({name:"transformOrigin",options:e,fn(n){const{placement:r,rects:i,middlewareData:s}=n,u=s.arrow?.centerOffset!==0,d=u?0:e.arrowWidth,p=u?0:e.arrowHeight,[m,y]=jp(r),v={start:"0%",center:"50%",end:"100%"}[y],b=(s.arrow?.x??0)+d/2,x=(s.arrow?.y??0)+p/2;let w="",_="";return m==="bottom"?(w=u?v:`${b}px`,_=`${-p}px`):m==="top"?(w=u?v:`${b}px`,_=`${i.floating.height+p}px`):m==="right"?(w=`${-p}px`,_=u?v:`${x}px`):m==="left"&&(w=`${i.floating.width+p}px`,_=u?v:`${x}px`),{data:{x:w,y:_}}}});function jp(e){const[n,r="center"]=e.split("-");return[n,r]}var Tp=bS,Op=wS,Ap=SS,Mp=CS,Vh=!1;function mA(){const[e,n]=S.useState(Vh);return S.useEffect(()=>{Vh||(Vh=!0,n(!0))},[]),e}var ES=Au[" useSyncExternalStore ".trim().toString()];function pA(){return()=>{}}function gA(){return ES(pA,()=>!0,()=>!1)}var vA=typeof ES=="function"?gA:mA,Uh="rovingFocusGroup.onEntryFocus",yA={bubbles:!1,cancelable:!0},yl="RovingFocusGroup",[Sm,RS,bA]=lp(yl),[xA,jS]=Ga(yl,[bA]),[wA,SA]=xA(yl),TS=S.forwardRef((e,n)=>f.jsx(Sm.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Sm.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(_A,{...e,ref:n})})}));TS.displayName=yl;var _A=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:s=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:p,onEntryFocus:m,preventScrollOnEntryFocus:y=!1,...v}=e,b=S.useRef(null),x=nt(n,b),w=cp(l),[_,E]=Vo({prop:u,defaultProp:d??null,onChange:p,caller:yl}),[R,T]=S.useState(!1),O=tr(m),N=RS(r),L=S.useRef(!1),[P,F]=S.useState(0);return S.useEffect(()=>{const V=b.current;if(V)return V.addEventListener(Uh,O),()=>V.removeEventListener(Uh,O)},[O]),f.jsx(wA,{scope:r,orientation:i,dir:w,loop:s,currentTabStopId:_,onItemFocus:S.useCallback(V=>E(V),[E]),onItemShiftTab:S.useCallback(()=>T(!0),[]),onFocusableItemAdd:S.useCallback(()=>F(V=>V+1),[]),onFocusableItemRemove:S.useCallback(()=>F(V=>V-1),[]),children:f.jsx($e.div,{tabIndex:R||P===0?-1:0,"data-orientation":i,...v,ref:x,style:{outline:"none",...e.style},onMouseDown:je(e.onMouseDown,()=>{L.current=!0}),onFocus:je(e.onFocus,V=>{const ve=!L.current;if(V.target===V.currentTarget&&ve&&!R){const ye=new CustomEvent(Uh,yA);if(V.currentTarget.dispatchEvent(ye),!ye.defaultPrevented){const he=N().filter(z=>z.focusable),X=he.find(z=>z.active),ae=he.find(z=>z.id===_),xe=[X,ae,...he].filter(Boolean).map(z=>z.ref.current);MS(xe,y)}}L.current=!1}),onBlur:je(e.onBlur,()=>T(!1))})})}),OS="RovingFocusGroupItem",AS=S.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:s=!1,tabStopId:l,children:u,...d}=e,p=dn(),m=l||p,y=SA(OS,r),v=y.currentTabStopId===m,b=RS(r),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:_}=y,E=vA();return Kt(()=>{if(!(!E||!i))return x(),()=>w()},[E,i,x,w]),S.useEffect(()=>{if(!(E||!i))return x(),()=>w()},[E,i,x,w]),f.jsx(Sm.ItemSlot,{scope:r,id:m,focusable:i,active:s,children:f.jsx($e.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...d,ref:n,onMouseDown:je(e.onMouseDown,R=>{i?y.onItemFocus(m):R.preventDefault()}),onFocus:je(e.onFocus,()=>y.onItemFocus(m)),onKeyDown:je(e.onKeyDown,R=>{if(R.key==="Tab"&&R.shiftKey){y.onItemShiftTab();return}if(R.target!==R.currentTarget)return;const T=RA(R,y.orientation,y.dir);if(T!==void 0){if(R.metaKey||R.ctrlKey||R.altKey||R.shiftKey)return;R.preventDefault();let N=b().filter(L=>L.focusable).map(L=>L.ref.current);if(T==="last")N.reverse();else if(T==="prev"||T==="next"){T==="prev"&&N.reverse();const L=N.indexOf(R.currentTarget);N=y.loop?jA(N,L+1):N.slice(L+1)}setTimeout(()=>MS(N))}}),children:typeof u=="function"?u({isCurrentTabStop:v,hasTabStop:_!=null}):u})})});AS.displayName=OS;var CA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function EA(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function RA(e,n,r){const i=EA(e.key,r);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return CA[i]}function MS(e,n=!1){const r=document.activeElement;for(const i of e)if(i===r||(i.focus({preventScroll:n}),document.activeElement!==r))return}function jA(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var TA=TS,OA=AS,_m=["Enter"," "],AA=["ArrowDown","PageUp","Home"],NS=["ArrowUp","PageDown","End"],MA=[...AA,...NS],NA={ltr:[..._m,"ArrowRight"],rtl:[..._m,"ArrowLeft"]},DA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},bl="Menu",[il,zA,kA]=lp(bl),[Ni,DS]=Ga(bl,[kA,Zo,jS]),Vu=Zo(),zS=jS(),[LA,Di]=Ni(bl),[$A,xl]=Ni(bl),kS=e=>{const{__scopeMenu:n,open:r=!1,children:i,dir:s,onOpenChange:l,modal:u=!0}=e,d=Vu(n),[p,m]=S.useState(null),y=S.useRef(!1),v=tr(l),b=cp(s);return S.useEffect(()=>{const x=()=>{y.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>y.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),S.useEffect(()=>{if(!r)return;const x=()=>v(!1);return window.addEventListener("blur",x),()=>window.removeEventListener("blur",x)},[r,v]),f.jsx(Tp,{...d,children:f.jsx(LA,{scope:n,open:r,onOpenChange:v,content:p,onContentChange:m,children:f.jsx($A,{scope:n,onClose:S.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:b,modal:u,children:i})})})};kS.displayName=bl;var IA="MenuAnchor",Np=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Vu(r);return f.jsx(Op,{...s,...i,ref:n})});Np.displayName=IA;var Dp="MenuPortal",[PA,LS]=Ni(Dp,{forceMount:void 0}),$S=e=>{const{__scopeMenu:n,forceMount:r,children:i,container:s}=e,l=Di(Dp,n);return f.jsx(PA,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(vl,{asChild:!0,container:s,children:i})})})};$S.displayName=Dp;var er="MenuContent",[FA,zp]=Ni(er),IS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,...s}=e,l=Di(er,e.__scopeMenu),u=xl(er,e.__scopeMenu);return f.jsx(il.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||l.open,children:f.jsx(il.Slot,{scope:e.__scopeMenu,children:u.modal?f.jsx(VA,{...s,ref:n}):f.jsx(UA,{...s,ref:n})})})})}),VA=S.forwardRef((e,n)=>{const r=Di(er,e.__scopeMenu),i=S.useRef(null),s=nt(n,i);return S.useEffect(()=>{const l=i.current;if(l)return fp(l)},[]),f.jsx(kp,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:je(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),UA=S.forwardRef((e,n)=>{const r=Di(er,e.__scopeMenu);return f.jsx(kp,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),HA=_i("MenuContent.ScrollLock"),kp=S.forwardRef((e,n)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,disableOutsideScroll:w,..._}=e,E=Di(er,r),R=xl(er,r),T=Vu(r),O=zS(r),N=zA(r),[L,P]=S.useState(null),F=S.useRef(null),V=nt(n,F,E.onContentChange),ve=S.useRef(0),ye=S.useRef(""),he=S.useRef(0),X=S.useRef(null),ae=S.useRef("right"),pe=S.useRef(0),xe=w?zu:S.Fragment,z=w?{as:HA,allowPinchZoom:!0}:void 0,Q=W=>{const te=ye.current+W,D=N().filter(re=>!re.disabled),M=document.activeElement,B=D.find(re=>re.ref.current===M)?.textValue,J=D.map(re=>re.textValue),K=tM(J,te,B),ce=D.find(re=>re.textValue===K)?.ref.current;(function re(ge){ye.current=ge,window.clearTimeout(ve.current),ge!==""&&(ve.current=window.setTimeout(()=>re(""),1e3))})(te),ce&&setTimeout(()=>ce.focus())};S.useEffect(()=>()=>window.clearTimeout(ve.current),[]),dp();const oe=S.useCallback(W=>ae.current===X.current?.side&&rM(W,X.current?.area),[]);return f.jsx(FA,{scope:r,searchRef:ye,onItemEnter:S.useCallback(W=>{oe(W)&&W.preventDefault()},[oe]),onItemLeave:S.useCallback(W=>{oe(W)||(F.current?.focus(),P(null))},[oe]),onTriggerLeave:S.useCallback(W=>{oe(W)&&W.preventDefault()},[oe]),pointerGraceTimerRef:he,onPointerGraceIntentChange:S.useCallback(W=>{X.current=W},[]),children:f.jsx(xe,{...z,children:f.jsx(Nu,{asChild:!0,trapped:s,onMountAutoFocus:je(l,W=>{W.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:f.jsx(gl,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:m,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:b,onDismiss:x,children:f.jsx(TA,{asChild:!0,...O,dir:R.dir,orientation:"vertical",loop:i,currentTabStopId:L,onCurrentTabStopIdChange:P,onEntryFocus:je(p,W=>{R.isUsingKeyboardRef.current||W.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Ap,{role:"menu","aria-orientation":"vertical","data-state":e1(E.open),"data-radix-menu-content":"",dir:R.dir,...T,..._,ref:V,style:{outline:"none",..._.style},onKeyDown:je(_.onKeyDown,W=>{const D=W.target.closest("[data-radix-menu-content]")===W.currentTarget,M=W.ctrlKey||W.altKey||W.metaKey,B=W.key.length===1;D&&(W.key==="Tab"&&W.preventDefault(),!M&&B&&Q(W.key));const J=F.current;if(W.target!==J||!MA.includes(W.key))return;W.preventDefault();const ce=N().filter(re=>!re.disabled).map(re=>re.ref.current);NS.includes(W.key)&&ce.reverse(),WA(ce)}),onBlur:je(e.onBlur,W=>{W.currentTarget.contains(W.target)||(window.clearTimeout(ve.current),ye.current="")}),onPointerMove:je(e.onPointerMove,ol(W=>{const te=W.target,D=pe.current!==W.clientX;if(W.currentTarget.contains(te)&&D){const M=W.clientX>pe.current?"right":"left";ae.current=M,pe.current=W.clientX}}))})})})})})})});IS.displayName=er;var BA="MenuGroup",Lp=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"group",...i,ref:n})});Lp.displayName=BA;var qA="MenuLabel",PS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{...i,ref:n})});PS.displayName=qA;var yu="MenuItem",Wb="menu.itemSelect",Uu=S.forwardRef((e,n)=>{const{disabled:r=!1,onSelect:i,...s}=e,l=S.useRef(null),u=xl(yu,e.__scopeMenu),d=zp(yu,e.__scopeMenu),p=nt(n,l),m=S.useRef(!1),y=()=>{const v=l.current;if(!r&&v){const b=new CustomEvent(Wb,{bubbles:!0,cancelable:!0});v.addEventListener(Wb,x=>i?.(x),{once:!0}),$w(v,b),b.defaultPrevented?m.current=!1:u.onClose()}};return f.jsx(FS,{...s,ref:p,disabled:r,onClick:je(e.onClick,y),onPointerDown:v=>{e.onPointerDown?.(v),m.current=!0},onPointerUp:je(e.onPointerUp,v=>{m.current||v.currentTarget?.click()}),onKeyDown:je(e.onKeyDown,v=>{r||v.target!==v.currentTarget||d.searchRef.current!==""&&v.key===" "||_m.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});Uu.displayName=yu;var FS=S.forwardRef((e,n)=>{const{__scopeMenu:r,disabled:i=!1,textValue:s,...l}=e,u=zp(yu,r),d=zS(r),p=S.useRef(null),m=nt(n,p),[y,v]=S.useState(!1),[b,x]=S.useState("");return S.useEffect(()=>{const w=p.current;w&&x((w.textContent??"").trim())},[l.children]),f.jsx(il.ItemSlot,{scope:r,disabled:i,textValue:s??b,children:f.jsx(OA,{asChild:!0,...d,focusable:!i,children:f.jsx($e.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...l,ref:m,onPointerMove:je(e.onPointerMove,ol(w=>{i?u.onItemLeave(w):(u.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:je(e.onPointerLeave,ol(w=>u.onItemLeave(w))),onFocus:je(e.onFocus,()=>v(!0)),onBlur:je(e.onBlur,()=>v(!1))})})})}),GA="MenuCheckboxItem",VS=S.forwardRef((e,n)=>{const{checked:r=!1,onCheckedChange:i,...s}=e;return f.jsx(GS,{scope:e.__scopeMenu,checked:r,children:f.jsx(Uu,{role:"menuitemcheckbox","aria-checked":bu(r)?"mixed":r,...s,ref:n,"data-state":Ip(r),onSelect:je(s.onSelect,()=>i?.(bu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});VS.displayName=GA;var US="MenuRadioGroup",[ZA,KA]=Ni(US,{value:void 0,onValueChange:()=>{}}),HS=S.forwardRef((e,n)=>{const{value:r,onValueChange:i,...s}=e,l=tr(i);return f.jsx(ZA,{scope:e.__scopeMenu,value:r,onValueChange:l,children:f.jsx(Lp,{...s,ref:n})})});HS.displayName=US;var BS="MenuRadioItem",qS=S.forwardRef((e,n)=>{const{value:r,...i}=e,s=KA(BS,e.__scopeMenu),l=r===s.value;return f.jsx(GS,{scope:e.__scopeMenu,checked:l,children:f.jsx(Uu,{role:"menuitemradio","aria-checked":l,...i,ref:n,"data-state":Ip(l),onSelect:je(i.onSelect,()=>s.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});qS.displayName=BS;var $p="MenuItemIndicator",[GS,YA]=Ni($p,{checked:!1}),ZS=S.forwardRef((e,n)=>{const{__scopeMenu:r,forceMount:i,...s}=e,l=YA($p,r);return f.jsx(vr,{present:i||bu(l.checked)||l.checked===!0,children:f.jsx($e.span,{...s,ref:n,"data-state":Ip(l.checked)})})});ZS.displayName=$p;var QA="MenuSeparator",KS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e;return f.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})});KS.displayName=QA;var XA="MenuArrow",YS=S.forwardRef((e,n)=>{const{__scopeMenu:r,...i}=e,s=Vu(r);return f.jsx(Mp,{...s,...i,ref:n})});YS.displayName=XA;var JA="MenuSub",[sF,QS]=Ni(JA),Gs="MenuSubTrigger",XS=S.forwardRef((e,n)=>{const r=Di(Gs,e.__scopeMenu),i=xl(Gs,e.__scopeMenu),s=QS(Gs,e.__scopeMenu),l=zp(Gs,e.__scopeMenu),u=S.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:p}=l,m={__scopeMenu:e.__scopeMenu},y=S.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);S.useEffect(()=>y,[y]),S.useEffect(()=>{const b=d.current;return()=>{window.clearTimeout(b),p(null)}},[d,p]);const v=nt(n,s.onTriggerChange);return f.jsx(Np,{asChild:!0,...m,children:f.jsx(FS,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?s.contentId:void 0,"data-state":e1(r.open),...e,ref:v,onClick:b=>{e.onClick?.(b),!(e.disabled||b.defaultPrevented)&&(b.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:je(e.onPointerMove,ol(b=>{l.onItemEnter(b),!b.defaultPrevented&&!e.disabled&&!r.open&&!u.current&&(l.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:je(e.onPointerLeave,ol(b=>{y();const x=r.content?.getBoundingClientRect();if(x){const w=r.content?.dataset.side,_=w==="right",E=_?-5:5,R=x[_?"left":"right"],T=x[_?"right":"left"];l.onPointerGraceIntentChange({area:[{x:b.clientX+E,y:b.clientY},{x:R,y:x.top},{x:T,y:x.top},{x:T,y:x.bottom},{x:R,y:x.bottom}],side:w}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(b),b.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:je(e.onKeyDown,b=>{e.disabled||b.target!==b.currentTarget||l.searchRef.current!==""&&b.key===" "||NA[i.dir].includes(b.key)&&(r.onOpenChange(!0),r.content?.focus(),b.preventDefault())})})})});XS.displayName=Gs;var JS="MenuSubContent",WS=S.forwardRef((e,n)=>{const r=LS(er,e.__scopeMenu),{forceMount:i=r.forceMount,align:s="start",...l}=e,u=Di(er,e.__scopeMenu),d=xl(er,e.__scopeMenu),p=QS(JS,e.__scopeMenu),m=S.useRef(null),y=nt(n,m);return f.jsx(il.Provider,{scope:e.__scopeMenu,children:f.jsx(vr,{present:i||u.open,children:f.jsx(il.Slot,{scope:e.__scopeMenu,children:f.jsx(kp,{id:p.contentId,"aria-labelledby":p.triggerId,...l,ref:y,align:s,side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:v=>{d.isUsingKeyboardRef.current&&m.current?.focus(),v.preventDefault()},onCloseAutoFocus:v=>v.preventDefault(),onFocusOutside:je(e.onFocusOutside,v=>{v.target!==p.trigger&&u.onOpenChange(!1)}),onEscapeKeyDown:je(e.onEscapeKeyDown,v=>{d.onClose(),v.preventDefault()}),onKeyDown:je(e.onKeyDown,v=>{const b=v.currentTarget.contains(v.target),x=DA[d.dir].includes(v.key);b&&x&&(u.onOpenChange(!1),p.trigger?.focus(),v.preventDefault())})})})})})});WS.displayName=JS;function e1(e){return e?"open":"closed"}function bu(e){return e==="indeterminate"}function Ip(e){return bu(e)?"indeterminate":e?"checked":"unchecked"}function WA(e){const n=document.activeElement;for(const r of e)if(r===n||(r.focus(),document.activeElement!==n))return}function eM(e,n){return e.map((r,i)=>e[(n+i)%e.length])}function tM(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=eM(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function nM(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function rM(e,n){if(!n)return!1;const r={x:e.clientX,y:e.clientY};return nM(r,n)}function ol(e){return n=>n.pointerType==="mouse"?e(n):void 0}var aM=kS,iM=Np,oM=$S,sM=IS,lM=Lp,cM=PS,uM=Uu,dM=VS,fM=HS,hM=qS,mM=ZS,pM=KS,gM=YS,vM=XS,yM=WS,Hu="DropdownMenu",[bM]=Ga(Hu,[DS]),vn=DS(),[xM,t1]=bM(Hu),n1=e=>{const{__scopeDropdownMenu:n,children:r,dir:i,open:s,defaultOpen:l,onOpenChange:u,modal:d=!0}=e,p=vn(n),m=S.useRef(null),[y,v]=Vo({prop:s,defaultProp:l??!1,onChange:u,caller:Hu});return f.jsx(xM,{scope:n,triggerId:dn(),triggerRef:m,contentId:dn(),open:y,onOpenChange:v,onOpenToggle:S.useCallback(()=>v(b=>!b),[v]),modal:d,children:f.jsx(aM,{...p,open:y,onOpenChange:v,dir:i,modal:d,children:r})})};n1.displayName=Hu;var r1="DropdownMenuTrigger",a1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...s}=e,l=t1(r1,r),u=vn(r),d=nt(n,l.triggerRef);return f.jsx(iM,{asChild:!0,...u,children:f.jsx($e.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...s,ref:d,onPointerDown:je(e.onPointerDown,p=>{!i&&p.button===0&&p.ctrlKey===!1&&(l.onOpenToggle(),l.open||p.preventDefault())}),onKeyDown:je(e.onKeyDown,p=>{i||(["Enter"," "].includes(p.key)&&l.onOpenToggle(),p.key==="ArrowDown"&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(p.key)&&p.preventDefault())})})})});a1.displayName=r1;var wM="DropdownMenuPortal",i1=e=>{const{__scopeDropdownMenu:n,...r}=e,i=vn(n);return f.jsx(oM,{...i,...r})};i1.displayName=wM;var o1="DropdownMenuContent",s1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=t1(o1,r),l=vn(r),u=S.useRef(!1);return f.jsx(sM,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...i,ref:n,onCloseAutoFocus:je(e.onCloseAutoFocus,d=>{u.current||s.triggerRef.current?.focus(),u.current=!1,d.preventDefault()}),onInteractOutside:je(e.onInteractOutside,d=>{const p=d.detail.originalEvent,m=p.button===0&&p.ctrlKey===!0,y=p.button===2||m;(!s.modal||y)&&(u.current=!0)}),style:{...e.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)"}})});s1.displayName=o1;var SM="DropdownMenuGroup",_M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(lM,{...s,...i,ref:n})});_M.displayName=SM;var CM="DropdownMenuLabel",l1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(cM,{...s,...i,ref:n})});l1.displayName=CM;var EM="DropdownMenuItem",c1=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(uM,{...s,...i,ref:n})});c1.displayName=EM;var RM="DropdownMenuCheckboxItem",jM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(dM,{...s,...i,ref:n})});jM.displayName=RM;var TM="DropdownMenuRadioGroup",OM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(fM,{...s,...i,ref:n})});OM.displayName=TM;var AM="DropdownMenuRadioItem",MM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(hM,{...s,...i,ref:n})});MM.displayName=AM;var NM="DropdownMenuItemIndicator",DM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(mM,{...s,...i,ref:n})});DM.displayName=NM;var zM="DropdownMenuSeparator",kM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(pM,{...s,...i,ref:n})});kM.displayName=zM;var LM="DropdownMenuArrow",$M=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(gM,{...s,...i,ref:n})});$M.displayName=LM;var IM="DropdownMenuSubTrigger",PM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(vM,{...s,...i,ref:n})});PM.displayName=IM;var FM="DropdownMenuSubContent",VM=S.forwardRef((e,n)=>{const{__scopeDropdownMenu:r,...i}=e,s=vn(r);return f.jsx(yM,{...s,...i,ref:n,style:{...e.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)"}})});VM.displayName=FM;var UM=n1,HM=a1,BM=i1,qM=s1,GM=l1,ZM=c1,KM="Label",u1=S.forwardRef((e,n)=>f.jsx($e.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));u1.displayName=KM;var YM=u1;function ex(e,[n,r]){return Math.min(r,Math.max(n,e))}var QM=[" ","Enter","ArrowUp","ArrowDown"],XM=[" ","Enter"],Ri="Select",[Bu,qu,JM]=lp(Ri),[zi]=Ga(Ri,[JM,Zo]),Gu=Zo(),[WM,Ka]=zi(Ri),[eN,tN]=zi(Ri),nN="SelectProvider";function d1(e){const{__scopeSelect:n,children:r,open:i,defaultOpen:s,onOpenChange:l,value:u,defaultValue:d,onValueChange:p,dir:m,name:y,autoComplete:v,disabled:b,required:x,form:w,internal_do_not_use_render:_}=e,E=Gu(n),[R,T]=S.useState(null),[O,N]=S.useState(null),[L,P]=S.useState(!1),F=cp(m),[V,ve]=Vo({prop:i,defaultProp:s??!1,onChange:l,caller:Ri}),[ye,he]=Vo({prop:u,defaultProp:d,onChange:p,caller:Ri}),X=S.useRef(null),ae=S.useRef(ye);S.useEffect(()=>{const M=w?R?.ownerDocument.getElementById(w):R?.form;if(M instanceof HTMLFormElement){const B=()=>he(ae.current);return M.addEventListener("reset",B),()=>M.removeEventListener("reset",B)}},[w,R,he]);const pe=R?!!w||!!R.closest("form"):!0,[xe,z]=S.useState(new Set),Q=dn(),oe=Array.from(xe).map(M=>M.props.value).join(";"),W=S.useCallback(M=>{z(B=>new Set(B).add(M))},[]),te=S.useCallback(M=>{z(B=>{const J=new Set(B);return J.delete(M),J})},[]),D={required:x,trigger:R,onTriggerChange:T,valueNode:O,onValueNodeChange:N,valueNodeHasChildren:L,onValueNodeHasChildrenChange:P,contentId:Q,value:ye,onValueChange:he,open:V,onOpenChange:ve,dir:F,triggerPointerDownPosRef:X,disabled:b,name:y,autoComplete:v,form:w,nativeOptions:xe,nativeSelectKey:oe,isFormControl:pe};return f.jsx(Tp,{...E,children:f.jsx(WM,{scope:n,...D,children:f.jsx(Bu.Provider,{scope:n,children:f.jsx(eN,{scope:n,onNativeOptionAdd:W,onNativeOptionRemove:te,children:bN(_)?_(D):r})})})})}d1.displayName=nN;var f1=e=>{const{__scopeSelect:n,children:r,...i}=e;return f.jsx(d1,{__scopeSelect:n,...i,internal_do_not_use_render:({isFormControl:s})=>f.jsxs(f.Fragment,{children:[r,s?f.jsx(I1,{__scopeSelect:n}):null]})})};f1.displayName=Ri;var h1="SelectTrigger",m1=S.forwardRef((e,n)=>{const{__scopeSelect:r,disabled:i=!1,...s}=e,l=Gu(r),u=Ka(h1,r),d=u.disabled||i,p=nt(n,u.onTriggerChange),m=qu(r),y=S.useRef("touch"),[v,b,x]=P1(_=>{const E=m().filter(O=>!O.disabled),R=E.find(O=>O.value===u.value),T=F1(E,_,R);T!==void 0&&u.onValueChange(T.value)}),w=_=>{d||(u.onOpenChange(!0),x()),_&&(u.triggerPointerDownPosRef.current={x:Math.round(_.pageX),y:Math.round(_.pageY)})};return f.jsx(Op,{asChild:!0,...l,children:f.jsx($e.button,{type:"button",role:"combobox","aria-controls":u.open?u.contentId:void 0,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":Zu(u.value)?"":void 0,...s,ref:p,onClick:je(s.onClick,_=>{_.currentTarget.focus(),y.current!=="mouse"&&w(_)}),onPointerDown:je(s.onPointerDown,_=>{y.current=_.pointerType;const E=_.target;E.hasPointerCapture(_.pointerId)&&E.releasePointerCapture(_.pointerId),_.button===0&&_.ctrlKey===!1&&_.pointerType==="mouse"&&(w(_),_.preventDefault())}),onKeyDown:je(s.onKeyDown,_=>{const E=v.current!=="";!(_.ctrlKey||_.altKey||_.metaKey)&&_.key.length===1&&b(_.key),!(E&&_.key===" ")&&QM.includes(_.key)&&(w(),_.preventDefault())})})})});m1.displayName=h1;var p1="SelectValue",g1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,children:l,placeholder:u="",...d}=e,p=Ka(p1,r),{onValueNodeHasChildrenChange:m}=p,y=l!==void 0,v=nt(n,p.onValueNodeChange);Kt(()=>{m(y)},[m,y]);const b=Zu(p.value);return f.jsx($e.span,{...d,asChild:b?!1:d.asChild,ref:v,style:{pointerEvents:"none"},children:f.jsx(S.Fragment,{children:b?u:l},b?"placeholder":"value")})});g1.displayName=p1;var rN="SelectIcon",v1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,...s}=e;return f.jsx($e.span,{"aria-hidden":!0,...s,ref:n,children:i||"▼"})});v1.displayName=rN;var y1="SelectPortal",[aN,iN]=zi(y1,{forceMount:void 0}),b1=e=>{const{__scopeSelect:n,forceMount:r,...i}=e;return f.jsx(aN,{scope:e.__scopeSelect,forceMount:r,children:f.jsx(vl,{asChild:!0,...i})})};b1.displayName=y1;var Ha="SelectContent",x1=S.forwardRef((e,n)=>{const r=iN(Ha,e.__scopeSelect),{forceMount:i=r.forceMount,...s}=e,l=Ka(Ha,e.__scopeSelect),[u,d]=S.useState();return Kt(()=>{d(new DocumentFragment)},[]),f.jsx(vr,{present:i||l.open,children:({present:p})=>p?f.jsx(_1,{...s,ref:n}):f.jsx(w1,{...s,fragment:u})})});x1.displayName=Ha;var w1=S.forwardRef((e,n)=>{const{__scopeSelect:r,children:i,fragment:s}=e;return s?Mi.createPortal(f.jsx(S1,{scope:r,children:f.jsx(Bu.Slot,{scope:r,children:f.jsx("div",{ref:n,children:i})})}),s):null});w1.displayName="SelectContentFragment";var fr=10,[S1,Ya]=zi(Ha),oN="SelectContentImpl",sN=_i("SelectContent.RemoveScroll"),_1=S.forwardRef((e,n)=>{const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E,...R}=e,T=Ka(Ha,r),[O,N]=S.useState(null),[L,P]=S.useState(null),F=nt(n,N),[V,ve]=S.useState(null),[ye,he]=S.useState(null),X=qu(r),[ae,pe]=S.useState(!1),xe=S.useRef(!1);S.useEffect(()=>{if(O)return fp(O)},[O]),dp();const z=S.useCallback(re=>{const[ge,...be]=X().map(Ve=>Ve.ref.current),[Oe]=be.slice(-1),Ie=document.activeElement;for(const Ve of re)if(Ve===Ie||(Ve?.scrollIntoView({block:"nearest"}),Ve===ge&&L&&(L.scrollTop=0),Ve===Oe&&L&&(L.scrollTop=L.scrollHeight),Ve?.focus(),document.activeElement!==Ie))return},[X,L]),Q=S.useCallback(()=>z([V,O]),[z,V,O]);S.useEffect(()=>{ae&&Q()},[ae,Q]);const{onOpenChange:oe,triggerPointerDownPosRef:W}=T;S.useEffect(()=>{if(O){let re={x:0,y:0};const ge=Oe=>{re={x:Math.abs(Math.round(Oe.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(Oe.pageY)-(W.current?.y??0))}},be=Oe=>{re.x<=10&&re.y<=10?Oe.preventDefault():Oe.composedPath().includes(O)||oe(!1),document.removeEventListener("pointermove",ge),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",ge),document.addEventListener("pointerup",be,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ge),document.removeEventListener("pointerup",be,{capture:!0})}}},[O,oe,W]),S.useEffect(()=>{const re=()=>oe(!1);return window.addEventListener("blur",re),window.addEventListener("resize",re),()=>{window.removeEventListener("blur",re),window.removeEventListener("resize",re)}},[oe]);const[te,D]=P1(re=>{const ge=X().filter(Ie=>!Ie.disabled),be=ge.find(Ie=>Ie.ref.current===document.activeElement),Oe=F1(ge,re,be);Oe&&setTimeout(()=>Oe.ref.current?.focus())}),M=S.useCallback((re,ge,be)=>{const Oe=!xe.current&&!be;(T.value!==void 0&&T.value===ge||Oe)&&(ve(re),Oe&&(xe.current=!0))},[T.value]),B=S.useCallback(()=>O?.focus(),[O]),J=S.useCallback((re,ge,be)=>{const Oe=!xe.current&&!be;(T.value!==void 0&&T.value===ge||Oe)&&he(re)},[T.value]),K=i==="popper"?Cm:C1,ce=K===Cm?{side:d,sideOffset:p,align:m,alignOffset:y,arrowPadding:v,collisionBoundary:b,collisionPadding:x,sticky:w,hideWhenDetached:_,avoidCollisions:E}:{};return f.jsx(S1,{scope:r,content:O,viewport:L,onViewportChange:P,itemRefCallback:M,selectedItem:V,onItemLeave:B,itemTextRefCallback:J,focusSelectedItem:Q,selectedItemText:ye,position:i,isPositioned:ae,searchRef:te,children:f.jsx(zu,{as:sN,allowPinchZoom:!0,children:f.jsx(Nu,{asChild:!0,trapped:T.open,onMountAutoFocus:re=>{re.preventDefault()},onUnmountAutoFocus:je(s,re=>{T.trigger?.focus({preventScroll:!0}),re.preventDefault()}),children:f.jsx(gl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:re=>re.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:f.jsx(K,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:re=>re.preventDefault(),...R,...ce,onPlaced:()=>pe(!0),ref:F,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:je(R.onKeyDown,re=>{const ge=re.ctrlKey||re.altKey||re.metaKey;if(re.key==="Tab"&&re.preventDefault(),!ge&&re.key.length===1&&D(re.key),["ArrowUp","ArrowDown","Home","End"].includes(re.key)){let Oe=X().filter(Ie=>!Ie.disabled).map(Ie=>Ie.ref.current);if(["ArrowUp","End"].includes(re.key)&&(Oe=Oe.slice().reverse()),["ArrowUp","ArrowDown"].includes(re.key)){const Ie=re.target,Ve=Oe.indexOf(Ie);Oe=Oe.slice(Ve+1)}setTimeout(()=>z(Oe)),re.preventDefault()}})})})})})})});_1.displayName=oN;var lN="SelectItemAlignedPosition",C1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onPlaced:i,...s}=e,l=Ka(Ha,r),u=Ya(Ha,r),[d,p]=S.useState(null),[m,y]=S.useState(null),v=nt(n,y),b=qu(r),x=S.useRef(!1),w=S.useRef(!0),{viewport:_,selectedItem:E,selectedItemText:R,focusSelectedItem:T}=u,O=S.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&m&&_&&E&&R){const F=l.trigger.getBoundingClientRect(),V=m.getBoundingClientRect(),ve=l.valueNode.getBoundingClientRect(),ye=R.getBoundingClientRect();if(l.dir!=="rtl"){const Ie=ye.left-V.left,Ve=ve.left-Ie,it=F.left-Ve,Qe=F.width+it,fn=Math.max(Qe,V.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.left=Qt+"px"}else{const Ie=V.right-ye.right,Ve=window.innerWidth-ve.right-Ie,it=window.innerWidth-F.right-Ve,Qe=F.width+it,fn=Math.max(Qe,V.width),hn=window.innerWidth-fr,Qt=ex(Ve,[fr,Math.max(fr,hn-fn)]);d.style.minWidth=Qe+"px",d.style.right=Qt+"px"}const he=b(),X=window.innerHeight-fr*2,ae=_.scrollHeight,pe=window.getComputedStyle(m),xe=parseInt(pe.borderTopWidth,10),z=parseInt(pe.paddingTop,10),Q=parseInt(pe.borderBottomWidth,10),oe=parseInt(pe.paddingBottom,10),W=xe+z+ae+oe+Q,te=Math.min(E.offsetHeight*5,W),D=window.getComputedStyle(_),M=parseInt(D.paddingTop,10),B=parseInt(D.paddingBottom,10),J=F.top+F.height/2-fr,K=X-J,ce=E.offsetHeight/2,re=E.offsetTop+ce,ge=xe+z+re,be=W-ge;if(ge<=J){const Ie=he.length>0&&E===he[he.length-1].ref.current;d.style.bottom="0px";const Ve=m.clientHeight-_.offsetTop-_.offsetHeight,it=Math.max(K,ce+(Ie?B:0)+Ve+Q),Qe=ge+it;d.style.height=Qe+"px"}else{const Ie=he.length>0&&E===he[0].ref.current;d.style.top="0px";const it=Math.max(J,xe+_.offsetTop+(Ie?M:0)+ce)+be;d.style.height=it+"px",_.scrollTop=ge-J+_.offsetTop}d.style.margin=`${fr}px 0`,d.style.minHeight=te+"px",d.style.maxHeight=X+"px",i?.(),requestAnimationFrame(()=>x.current=!0)}},[b,l.trigger,l.valueNode,d,m,_,E,R,l.dir,i]);Kt(()=>O(),[O]);const[N,L]=S.useState();Kt(()=>{m&&L(window.getComputedStyle(m).zIndex)},[m]);const P=S.useCallback(F=>{F&&w.current===!0&&(O(),T?.(),w.current=!1)},[O,T]);return f.jsx(uN,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:P,children:f.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:f.jsx($e.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});C1.displayName=lN;var cN="SelectPopperPosition",Cm=S.forwardRef((e,n)=>{const{__scopeSelect:r,align:i="start",collisionPadding:s=fr,...l}=e,u=Gu(r);return f.jsx(Ap,{...u,...l,ref:n,align:i,collisionPadding:s,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Cm.displayName=cN;var[uN,Pp]=zi(Ha,{}),Em="SelectViewport",E1=S.forwardRef((e,n)=>{const{__scopeSelect:r,nonce:i,...s}=e,l=Ya(Em,r),u=Pp(Em,r),d=nt(n,l.onViewportChange),p=S.useRef(0);return f.jsxs(f.Fragment,{children:[f.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),f.jsx(Bu.Slot,{scope:r,children:f.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:je(s.onScroll,m=>{const y=m.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:b}=u;if(b?.current&&v){const x=Math.abs(p.current-y.scrollTop);if(x>0){const w=window.innerHeight-fr*2,_=parseFloat(v.style.minHeight),E=parseFloat(v.style.height),R=Math.max(_,E);if(R0?N:0,v.style.justifyContent="flex-end")}}}p.current=y.scrollTop})})})]})});E1.displayName=Em;var R1="SelectGroup",[dN,fN]=zi(R1),hN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=dn();return f.jsx(dN,{scope:r,id:s,children:f.jsx($e.div,{role:"group","aria-labelledby":s,...i,ref:n})})});hN.displayName=R1;var j1="SelectLabel",mN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=fN(j1,r);return f.jsx($e.div,{id:s.id,...i,ref:n})});mN.displayName=j1;var xu="SelectItem",[pN,T1]=zi(xu),O1=S.forwardRef((e,n)=>{const{__scopeSelect:r,value:i,disabled:s=!1,textValue:l,...u}=e,d=Ka(xu,r),p=Ya(xu,r),m=d.value===i,[y,v]=S.useState(l??""),[b,x]=S.useState(!1),w=tr(O=>p.itemRefCallback?.(O,i,s)),_=nt(n,w),E=dn(),R=S.useRef("touch"),T=()=>{s||(d.onValueChange(i),d.onOpenChange(!1))};return f.jsx(pN,{scope:r,value:i,disabled:s,textId:E,isSelected:m,onItemTextChange:S.useCallback(O=>{v(N=>N||(O?.textContent??"").trim())},[]),children:f.jsx(Bu.ItemSlot,{scope:r,value:i,disabled:s,textValue:y,children:f.jsx($e.div,{role:"option","aria-labelledby":E,"data-highlighted":b?"":void 0,"aria-selected":m&&b,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...u,ref:_,onFocus:je(u.onFocus,()=>x(!0)),onBlur:je(u.onBlur,()=>x(!1)),onClick:je(u.onClick,()=>{R.current!=="mouse"&&T()}),onPointerUp:je(u.onPointerUp,()=>{R.current==="mouse"&&T()}),onPointerDown:je(u.onPointerDown,O=>{R.current=O.pointerType}),onPointerMove:je(u.onPointerMove,O=>{R.current=O.pointerType,s?p.onItemLeave?.():R.current==="mouse"&&O.currentTarget.focus({preventScroll:!0})}),onPointerLeave:je(u.onPointerLeave,O=>{O.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:je(u.onKeyDown,O=>{s||O.target!==O.currentTarget||p.searchRef?.current!==""&&O.key===" "||(XM.includes(O.key)&&T(),O.key===" "&&O.preventDefault())})})})})});O1.displayName=xu;var Zs="SelectItemText",A1=S.forwardRef((e,n)=>{const{__scopeSelect:r,className:i,style:s,...l}=e,u=Ka(Zs,r),d=Ya(Zs,r),p=T1(Zs,r),m=tN(Zs,r),[y,v]=S.useState(null),b=tr(T=>d.itemTextRefCallback?.(T,p.value,p.disabled)),x=nt(n,v,p.onItemTextChange,b),w=y?.textContent,_=S.useMemo(()=>f.jsx("option",{value:p.value,disabled:p.disabled,children:w},p.value),[p.disabled,p.value,w]),{onNativeOptionAdd:E,onNativeOptionRemove:R}=m;return Kt(()=>(E(_),()=>R(_)),[E,R,_]),f.jsxs(f.Fragment,{children:[f.jsx($e.span,{id:p.textId,...l,ref:x}),p.isSelected&&u.valueNode&&!u.valueNodeHasChildren&&!Zu(u.value)?Mi.createPortal(l.children,u.valueNode):null]})});A1.displayName=Zs;var M1="SelectItemIndicator",N1=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return T1(M1,r).isSelected?f.jsx($e.span,{"aria-hidden":!0,...i,ref:n}):null});N1.displayName=M1;var Rm="SelectScrollUpButton",D1=S.forwardRef((e,n)=>{const r=Ya(Rm,e.__scopeSelect),i=Pp(Rm,e.__scopeSelect),[s,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Kt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollTop>0;l(m)};const p=r.viewport;return d(),p.addEventListener("scroll",d),()=>p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop-p.offsetHeight)}}):null});D1.displayName=Rm;var jm="SelectScrollDownButton",z1=S.forwardRef((e,n)=>{const r=Ya(jm,e.__scopeSelect),i=Pp(jm,e.__scopeSelect),[s,l]=S.useState(!1),u=nt(n,i.onScrollButtonChange);return Kt(()=>{if(r.viewport&&r.isPositioned){let d=function(){const m=p.scrollHeight-p.clientHeight,y=Math.ceil(p.scrollTop)p.removeEventListener("scroll",d)}},[r.viewport,r.isPositioned]),s?f.jsx(k1,{...e,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:p}=r;d&&p&&(d.scrollTop=d.scrollTop+p.offsetHeight)}}):null});z1.displayName=jm;var k1=S.forwardRef((e,n)=>{const{__scopeSelect:r,onAutoScroll:i,...s}=e,l=Ya("SelectScrollButton",r),u=S.useRef(null),d=qu(r),p=S.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return S.useEffect(()=>()=>p(),[p]),Kt(()=>{d().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[d]),f.jsx($e.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:je(s.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:je(s.onPointerMove,()=>{l.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:je(s.onPointerLeave,()=>{p()})})}),gN="SelectSeparator",vN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e;return f.jsx($e.div,{"aria-hidden":!0,...i,ref:n})});vN.displayName=gN;var L1="SelectArrow",yN=S.forwardRef((e,n)=>{const{__scopeSelect:r,...i}=e,s=Gu(r);return Ya(L1,r).position==="popper"?f.jsx(Mp,{...s,...i,ref:n}):null});yN.displayName=L1;var $1="SelectBubbleInput",I1=S.forwardRef(({__scopeSelect:e,...n},r)=>{const i=Ka($1,e),{value:s,onValueChange:l,required:u,disabled:d,name:p,autoComplete:m,form:y}=i,{nativeOptions:v,nativeSelectKey:b}=i,x=S.useRef(null),w=nt(r,x),_=s??"",E=WT(_),R=Array.from(v).some(T=>(T.props.value??"")==="");return S.useEffect(()=>{const T=x.current;if(!T)return;const O=window.HTMLSelectElement.prototype,L=Object.getOwnPropertyDescriptor(O,"value").set;if(E!==_&&L){const P=new Event("change",{bubbles:!0});L.call(T,_),T.dispatchEvent(P)}},[E,_]),f.jsxs($e.select,{"aria-hidden":!0,required:u,tabIndex:-1,name:p,autoComplete:m,disabled:d,form:y,onChange:T=>l(T.target.value),...n,style:{...Iw,...n.style},ref:w,defaultValue:_,children:[Zu(s)&&!R?f.jsx("option",{value:""}):null,Array.from(v)]},b)});I1.displayName=$1;function bN(e){return typeof e=="function"}function Zu(e){return e===""||e===void 0}function P1(e){const n=tr(e),r=S.useRef(""),i=S.useRef(0),s=S.useCallback(u=>{const d=r.current+u;n(d),(function p(m){r.current=m,window.clearTimeout(i.current),m!==""&&(i.current=window.setTimeout(()=>p(""),1e3))})(d)},[n]),l=S.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,s,l]}function F1(e,n,r){const s=n.length>1&&Array.from(n).every(m=>m===n[0])?n[0]:n,l=r?e.indexOf(r):-1;let u=xN(e,Math.max(l,0));s.length===1&&(u=u.filter(m=>m!==r));const p=u.find(m=>m.textValue.toLowerCase().startsWith(s.toLowerCase()));return p!==r?p:void 0}function xN(e,n){return e.map((r,i)=>e[(n+i)%e.length])}var wN="Separator",tx="horizontal",SN=["horizontal","vertical"],V1=S.forwardRef((e,n)=>{const{decorative:r,orientation:i=tx,...s}=e,l=_N(i)?i:tx,d=r?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return f.jsx($e.div,{"data-orientation":l,...d,...s,ref:n})});V1.displayName=wN;function _N(e){return SN.includes(e)}var CN=V1,[Ku]=Ga("Tooltip",[Zo]),Yu=Zo(),U1="TooltipProvider",EN=700,Tm="tooltip.open",[RN,Fp]=Ku(U1),H1=e=>{const{__scopeTooltip:n,delayDuration:r=EN,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:l}=e,u=S.useRef(!0),d=S.useRef(!1),p=S.useRef(0);return S.useEffect(()=>{const m=p.current;return()=>window.clearTimeout(m)},[]),f.jsx(RN,{scope:n,isOpenDelayedRef:u,delayDuration:r,onOpen:S.useCallback(()=>{i<=0||(window.clearTimeout(p.current),u.current=!1)},[i]),onClose:S.useCallback(()=>{i<=0||(window.clearTimeout(p.current),p.current=window.setTimeout(()=>u.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:S.useCallback(m=>{d.current=m},[]),disableHoverableContent:s,children:l})};H1.displayName=U1;var sl="Tooltip",[jN,wl]=Ku(sl),B1=e=>{const{__scopeTooltip:n,children:r,open:i,defaultOpen:s,onOpenChange:l,disableHoverableContent:u,delayDuration:d}=e,p=Fp(sl,e.__scopeTooltip),m=Yu(n),[y,v]=S.useState(null),b=dn(),x=S.useRef(0),w=u??p.disableHoverableContent,_=d??p.delayDuration,E=S.useRef(!1),[R,T]=Vo({prop:i,defaultProp:s??!1,onChange:F=>{F?(p.onOpen(),document.dispatchEvent(new CustomEvent(Tm))):p.onClose(),l?.(F)},caller:sl}),O=S.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),N=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E.current=!1,T(!0)},[T]),L=S.useCallback(()=>{window.clearTimeout(x.current),x.current=0,T(!1)},[T]),P=S.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{E.current=!0,T(!0),x.current=0},_)},[_,T]);return S.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),f.jsx(Tp,{...m,children:f.jsx(jN,{scope:n,contentId:b,open:R,stateAttribute:O,trigger:y,onTriggerChange:v,onTriggerEnter:S.useCallback(()=>{p.isOpenDelayedRef.current?P():N()},[p.isOpenDelayedRef,P,N]),onTriggerLeave:S.useCallback(()=>{w?L():(window.clearTimeout(x.current),x.current=0)},[L,w]),onOpen:N,onClose:L,disableHoverableContent:w,children:r})})};B1.displayName=sl;var Om="TooltipTrigger",q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=wl(Om,r),l=Fp(Om,r),u=Yu(r),d=S.useRef(null),p=nt(n,d,s.onTriggerChange),m=S.useRef(!1),y=S.useRef(!1),v=S.useCallback(()=>m.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),f.jsx(Op,{asChild:!0,...u,children:f.jsx($e.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:p,onPointerMove:je(e.onPointerMove,b=>{b.pointerType!=="touch"&&!y.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),y.current=!0)}),onPointerLeave:je(e.onPointerLeave,()=>{s.onTriggerLeave(),y.current=!1}),onPointerDown:je(e.onPointerDown,()=>{s.open&&s.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:je(e.onFocus,()=>{m.current||s.onOpen()}),onBlur:je(e.onBlur,s.onClose),onClick:je(e.onClick,s.onClose)})})});q1.displayName=Om;var Vp="TooltipPortal",[TN,ON]=Ku(Vp,{forceMount:void 0}),G1=e=>{const{__scopeTooltip:n,forceMount:r,children:i,container:s}=e,l=wl(Vp,n);return f.jsx(TN,{scope:n,forceMount:r,children:f.jsx(vr,{present:r||l.open,children:f.jsx(vl,{asChild:!0,container:s,children:i})})})};G1.displayName=Vp;var Ho="TooltipContent",Z1=S.forwardRef((e,n)=>{const r=ON(Ho,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...l}=e,u=wl(Ho,e.__scopeTooltip);return f.jsx(vr,{present:i||u.open,children:u.disableHoverableContent?f.jsx(K1,{side:s,...l,ref:n}):f.jsx(AN,{side:s,...l,ref:n})})}),AN=S.forwardRef((e,n)=>{const r=wl(Ho,e.__scopeTooltip),i=Fp(Ho,e.__scopeTooltip),s=S.useRef(null),l=nt(n,s),[u,d]=S.useState(null),{trigger:p,onClose:m}=r,y=s.current,{onPointerInTransitChange:v}=i,b=S.useCallback(()=>{d(null),v(!1)},[v]),x=S.useCallback((w,_)=>{const E=w.currentTarget,R={x:w.clientX,y:w.clientY},T=zN(R,E.getBoundingClientRect()),O=kN(R,T),N=LN(_.getBoundingClientRect()),L=IN([...O,...N]);d(L),v(!0)},[v]);return S.useEffect(()=>()=>b(),[b]),S.useEffect(()=>{if(p&&y){const w=E=>x(E,y),_=E=>x(E,p);return p.addEventListener("pointerleave",w),y.addEventListener("pointerleave",_),()=>{p.removeEventListener("pointerleave",w),y.removeEventListener("pointerleave",_)}}},[p,y,x,b]),S.useEffect(()=>{if(u){const w=_=>{const E=_.target,R={x:_.clientX,y:_.clientY},T=p?.contains(E)||y?.contains(E),O=!$N(R,u);T?b():O&&(b(),m())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[p,y,u,m,b]),f.jsx(K1,{...e,ref:l})}),[MN,NN]=Ku(sl,{isInside:!1}),DN=xj("TooltipContent"),K1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:u,...d}=e,p=wl(Ho,r),m=Yu(r),{onClose:y}=p;return S.useEffect(()=>(document.addEventListener(Tm,y),()=>document.removeEventListener(Tm,y)),[y]),S.useEffect(()=>{if(p.trigger){const v=b=>{b.target instanceof Node&&b.target.contains(p.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[p.trigger,y]),f.jsx(gl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:f.jsxs(Ap,{"data-state":p.stateAttribute,...m,...d,ref:n,style:{...d.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:[f.jsx(DN,{children:i}),f.jsx(MN,{scope:r,isInside:!0,children:f.jsx(Mj,{id:p.contentId,role:"tooltip",children:s||i})})]})})});Z1.displayName=Ho;var Y1="TooltipArrow",Q1=S.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Yu(r);return NN(Y1,r).isInside?null:f.jsx(Mp,{...s,...i,ref:n})});Q1.displayName=Y1;function zN(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),l=Math.abs(n.left-e.x);switch(Math.min(r,i,s,l)){case l:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function kN(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function LN(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function $N(e,n){const{x:r,y:i}=e;let s=!1;for(let l=0,u=n.length-1;li!=b>i&&r<(v-m)*(i-y)/(b-y)+m&&(s=!s)}return s}function IN(e){const n=e.slice();return n.sort((r,i)=>r.xi.x?1:r.yi.y?1:0),PN(n)}function PN(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i=2;){const l=n[n.length-1],u=n[n.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const l=r[r.length-1],u=r[r.length-2];if((l.x-u.x)*(s.y-u.y)>=(l.y-u.y)*(s.x-u.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var FN=H1,VN=B1,UN=q1,HN=G1,BN=Z1,qN=Q1;function X1(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n{const r=new Array(e.length+n.length);for(let i=0;i({classGroupId:e,validator:n}),W1=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),wu="-",nx=[],KN="arbitrary..",YN=e=>{const n=XN(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return QN(u);const d=u.split(wu),p=d[0]===""&&d.length>1?1:0;return e_(d,p,n)},getConflictingClassGroupIds:(u,d)=>{if(d){const p=i[u],m=r[u];return p?m?GN(m,p):p:m||nx}return r[u]||nx}}},e_=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],l=r.nextPart.get(s);if(l){const m=e_(e,n+1,l);if(m)return m}const u=r.validators;if(u===null)return;const d=n===0?e.join(wu):e.slice(n).join(wu),p=u.length;for(let m=0;me.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),i=n.slice(0,r);return i?KN+i:void 0})(),XN=e=>{const{theme:n,classGroups:r}=e;return JN(r,n)},JN=(e,n)=>{const r=W1();for(const i in e){const s=e[i];Up(s,r,i,n)}return r},Up=(e,n,r,i)=>{const s=e.length;for(let l=0;l{if(typeof e=="string"){eD(e,n,r);return}if(typeof e=="function"){tD(e,n,r,i);return}nD(e,n,r,i)},eD=(e,n,r)=>{const i=e===""?n:t_(n,e);i.classGroupId=r},tD=(e,n,r,i)=>{if(rD(e)){Up(e(i),n,r,i);return}n.validators===null&&(n.validators=[]),n.validators.push(ZN(r,e))},nD=(e,n,r,i)=>{const s=Object.entries(e),l=s.length;for(let u=0;u{let r=e;const i=n.split(wu),s=i.length;for(let l=0;l"isThemeGetter"in e&&e.isThemeGetter===!0,aD=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),i=Object.create(null);const s=(l,u)=>{r[l]=u,n++,n>e&&(n=0,i=r,r=Object.create(null))};return{get(l){let u=r[l];if(u!==void 0)return u;if((u=i[l])!==void 0)return s(l,u),u},set(l,u){l in r?r[l]=u:s(l,u)}}},Am="!",rx=":",iD=[],ax=(e,n,r,i,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:i,isExternal:s}),oD=e=>{const{prefix:n,experimentalParseClassName:r}=e;let i=s=>{const l=[];let u=0,d=0,p=0,m;const y=s.length;for(let _=0;_p?m-p:void 0;return ax(l,x,b,w)};if(n){const s=n+rx,l=i;i=u=>u.startsWith(s)?l(u.slice(s.length)):ax(iD,!1,u,void 0,!0)}if(r){const s=i;i=l=>r({className:l,parseClassName:s})}return i},sD=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,i)=>{n.set(r,1e6+i)}),r=>{const i=[];let s=[];for(let l=0;l0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},lD=e=>({cache:aD(e.cacheSize),parseClassName:oD(e),sortModifiers:sD(e),postfixLookupClassGroupIds:cD(e),...YN(e)}),cD=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let i=0;i{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:u}=n,d=[],p=e.trim().split(uD);let m="";for(let y=p.length-1;y>=0;y-=1){const v=p[y],{isExternal:b,modifiers:x,hasImportantModifier:w,baseClassName:_,maybePostfixModifierPosition:E}=r(v);if(b){m=v+(m.length>0?" "+m:m);continue}let R=!!E,T;if(R){const F=_.substring(0,E);T=i(F);const V=T&&u[T]?i(_):void 0;V&&V!==T&&(T=V,R=!1)}else T=i(_);if(!T){if(!R){m=v+(m.length>0?" "+m:m);continue}if(T=i(_),!T){m=v+(m.length>0?" "+m:m);continue}R=!1}const O=x.length===0?"":x.length===1?x[0]:l(x).join(":"),N=w?O+Am:O,L=N+T;if(d.indexOf(L)>-1)continue;d.push(L);const P=s(T,R);for(let F=0;F0?" "+m:m)}return m},fD=(...e)=>{let n=0,r,i,s="";for(;n{if(typeof e=="string")return e;let n,r="";for(let i=0;i{let r,i,s,l;const u=p=>{const m=n.reduce((y,v)=>v(y),e());return r=lD(m),i=r.cache.get,s=r.cache.set,l=d,d(p)},d=p=>{const m=i(p);if(m)return m;const y=dD(p,r);return s(p,y),y};return l=u,(...p)=>l(fD(...p))},mD=[],Ut=e=>{const n=r=>r[e]||mD;return n.isThemeGetter=!0,n},r_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,a_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pD=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,gD=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vD=/\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$/,yD=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bD=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xD=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ma=e=>pD.test(e),He=e=>!!e&&!Number.isNaN(Number(e)),Rr=e=>!!e&&Number.isInteger(Number(e)),Hh=e=>e.endsWith("%")&&He(e.slice(0,-1)),ea=e=>gD.test(e),i_=()=>!0,wD=e=>vD.test(e)&&!yD.test(e),Hp=()=>!1,SD=e=>bD.test(e),_D=e=>xD.test(e),CD=e=>!_e(e)&&!Ce(e),ED=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),RD=e=>Qa(e,l_,Hp),_e=e=>r_.test(e),yi=e=>Qa(e,c_,wD),ix=e=>Qa(e,zD,He),jD=e=>Qa(e,d_,i_),TD=e=>Qa(e,u_,Hp),ox=e=>Qa(e,o_,Hp),OD=e=>Qa(e,s_,_D),Kc=e=>Qa(e,f_,SD),Ce=e=>a_.test(e),Vs=e=>ki(e,c_),AD=e=>ki(e,u_),sx=e=>ki(e,o_),MD=e=>ki(e,l_),ND=e=>ki(e,s_),Yc=e=>ki(e,f_,!0),DD=e=>ki(e,d_,!0),Qa=(e,n,r)=>{const i=r_.exec(e);return i?i[1]?n(i[1]):r(i[2]):!1},ki=(e,n,r=!1)=>{const i=a_.exec(e);return i?i[1]?n(i[1]):r:!1},o_=e=>e==="position"||e==="percentage",s_=e=>e==="image"||e==="url",l_=e=>e==="length"||e==="size"||e==="bg-size",c_=e=>e==="length",zD=e=>e==="number",u_=e=>e==="family-name",d_=e=>e==="number"||e==="weight",f_=e=>e==="shadow",kD=()=>{const e=Ut("color"),n=Ut("font"),r=Ut("text"),i=Ut("font-weight"),s=Ut("tracking"),l=Ut("leading"),u=Ut("breakpoint"),d=Ut("container"),p=Ut("spacing"),m=Ut("radius"),y=Ut("shadow"),v=Ut("inset-shadow"),b=Ut("text-shadow"),x=Ut("drop-shadow"),w=Ut("blur"),_=Ut("perspective"),E=Ut("aspect"),R=Ut("ease"),T=Ut("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...N(),Ce,_e],P=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],V=()=>[Ce,_e,p],ve=()=>[Ma,"full","auto",...V()],ye=()=>[Rr,"none","subgrid",Ce,_e],he=()=>["auto",{span:["full",Rr,Ce,_e]},Rr,Ce,_e],X=()=>[Rr,"auto",Ce,_e],ae=()=>["auto","min","max","fr",Ce,_e],pe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],xe=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...V()],Q=()=>[Ma,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...V()],oe=()=>[Ma,"screen","full","dvw","lvw","svw","min","max","fit",...V()],W=()=>[Ma,"screen","full","lh","dvh","lvh","svh","min","max","fit",...V()],te=()=>[e,Ce,_e],D=()=>[...N(),sx,ox,{position:[Ce,_e]}],M=()=>["no-repeat",{repeat:["","x","y","space","round"]}],B=()=>["auto","cover","contain",MD,RD,{size:[Ce,_e]}],J=()=>[Hh,Vs,yi],K=()=>["","none","full",m,Ce,_e],ce=()=>["",He,Vs,yi],re=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],be=()=>[He,Hh,sx,ox],Oe=()=>["","none",w,Ce,_e],Ie=()=>["none",He,Ce,_e],Ve=()=>["none",He,Ce,_e],it=()=>[He,Ce,_e],Qe=()=>[Ma,"full",...V()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ea],breakpoint:[ea],color:[i_],container:[ea],"drop-shadow":[ea],ease:["in","out","in-out"],font:[CD],"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",He],text:[ea],"text-shadow":[ea],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ma,_e,Ce,E]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,_e]}],"container-named":[ED],columns:[{columns:[He,_e,Ce,d]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"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:L()}],overflow:[{overflow:P()}],"overflow-x":[{"overflow-x":P()}],"overflow-y":[{"overflow-y":P()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ve()}],"inset-x":[{"inset-x":ve()}],"inset-y":[{"inset-y":ve()}],start:[{"inset-s":ve(),start:ve()}],end:[{"inset-e":ve(),end:ve()}],"inset-bs":[{"inset-bs":ve()}],"inset-be":[{"inset-be":ve()}],top:[{top:ve()}],right:[{right:ve()}],bottom:[{bottom:ve()}],left:[{left:ve()}],visibility:["visible","invisible","collapse"],z:[{z:[Rr,"auto",Ce,_e]}],basis:[{basis:[Ma,"full","auto",d,...V()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[He,Ma,"auto","initial","none",_e]}],grow:[{grow:["",He,Ce,_e]}],shrink:[{shrink:["",He,Ce,_e]}],order:[{order:[Rr,"first","last","none",Ce,_e]}],"grid-cols":[{"grid-cols":ye()}],"col-start-end":[{col:he()}],"col-start":[{"col-start":X()}],"col-end":[{"col-end":X()}],"grid-rows":[{"grid-rows":ye()}],"row-start-end":[{row:he()}],"row-start":[{"row-start":X()}],"row-end":[{"row-end":X()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ae()}],"auto-rows":[{"auto-rows":ae()}],gap:[{gap:V()}],"gap-x":[{"gap-x":V()}],"gap-y":[{"gap-y":V()}],"justify-content":[{justify:[...pe(),"normal"]}],"justify-items":[{"justify-items":[...xe(),"normal"]}],"justify-self":[{"justify-self":["auto",...xe()]}],"align-content":[{content:["normal",...pe()]}],"align-items":[{items:[...xe(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...xe(),{baseline:["","last"]}]}],"place-content":[{"place-content":pe()}],"place-items":[{"place-items":[...xe(),"baseline"]}],"place-self":[{"place-self":["auto",...xe()]}],p:[{p:V()}],px:[{px:V()}],py:[{py:V()}],ps:[{ps:V()}],pe:[{pe:V()}],pbs:[{pbs:V()}],pbe:[{pbe:V()}],pt:[{pt:V()}],pr:[{pr:V()}],pb:[{pb:V()}],pl:[{pl:V()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mbs:[{mbs:z()}],mbe:[{mbe:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":V()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":V()}],"space-y-reverse":["space-y-reverse"],size:[{size:Q()}],"inline-size":[{inline:["auto",...oe()]}],"min-inline-size":[{"min-inline":["auto",...oe()]}],"max-inline-size":[{"max-inline":["none",...oe()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[d,"screen",...Q()]}],"min-w":[{"min-w":[d,"screen","none",...Q()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[u]},...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",r,Vs,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,DD,jD]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hh,_e]}],"font-family":[{font:[AD,TD,n]}],"font-features":[{"font-features":[_e]}],"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:[s,Ce,_e]}],"line-clamp":[{"line-clamp":[He,"none",Ce,ix]}],leading:[{leading:[l,...V()]}],"list-image":[{"list-image":["none",Ce,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...re(),"wavy"]}],"text-decoration-thickness":[{decoration:[He,"from-font","auto",Ce,yi]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[He,"auto",Ce,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"tab-size":[{tab:[Rr,Ce,_e]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,_e]}],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",Ce,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:B()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rr,Ce,_e],radial:["",Ce,_e],conic:[Rr,Ce,_e]},ND,OD]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:J()}],"gradient-via-pos":[{via:J()}],"gradient-to-pos":[{to:J()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-bs":[{"border-bs":ce()}],"border-w-be":[{"border-be":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...re(),"hidden","none"]}],"divide-style":[{divide:[...re(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...re(),"none","hidden"]}],"outline-offset":[{"outline-offset":[He,Ce,_e]}],"outline-w":[{outline:["",He,Vs,yi]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",y,Yc,Kc]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",v,Yc,Kc]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:ce()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[He,yi]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",b,Yc,Kc]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[He,Ce,_e]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"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":[He]}],"mask-image-linear-from-pos":[{"mask-linear-from":be()}],"mask-image-linear-to-pos":[{"mask-linear-to":be()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":be()}],"mask-image-t-to-pos":[{"mask-t-to":be()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":be()}],"mask-image-r-to-pos":[{"mask-r-to":be()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":be()}],"mask-image-b-to-pos":[{"mask-b-to":be()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":be()}],"mask-image-l-to-pos":[{"mask-l-to":be()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":be()}],"mask-image-x-to-pos":[{"mask-x-to":be()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":be()}],"mask-image-y-to-pos":[{"mask-y-to":be()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[Ce,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":be()}],"mask-image-radial-to-pos":[{"mask-radial-to":be()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"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":N()}],"mask-image-conic-pos":[{"mask-conic":[He]}],"mask-image-conic-from-pos":[{"mask-conic-from":be()}],"mask-image-conic-to-pos":[{"mask-conic-to":be()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:B()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,_e]}],filter:[{filter:["","none",Ce,_e]}],blur:[{blur:Oe()}],brightness:[{brightness:[He,Ce,_e]}],contrast:[{contrast:[He,Ce,_e]}],"drop-shadow":[{"drop-shadow":["","none",x,Yc,Kc]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",He,Ce,_e]}],"hue-rotate":[{"hue-rotate":[He,Ce,_e]}],invert:[{invert:["",He,Ce,_e]}],saturate:[{saturate:[He,Ce,_e]}],sepia:[{sepia:["",He,Ce,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,_e]}],"backdrop-blur":[{"backdrop-blur":Oe()}],"backdrop-brightness":[{"backdrop-brightness":[He,Ce,_e]}],"backdrop-contrast":[{"backdrop-contrast":[He,Ce,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",He,Ce,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[He,Ce,_e]}],"backdrop-invert":[{"backdrop-invert":["",He,Ce,_e]}],"backdrop-opacity":[{"backdrop-opacity":[He,Ce,_e]}],"backdrop-saturate":[{"backdrop-saturate":[He,Ce,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",He,Ce,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":V()}],"border-spacing-x":[{"border-spacing-x":V()}],"border-spacing-y":[{"border-spacing-y":V()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[He,"initial",Ce,_e]}],ease:[{ease:["linear","initial",R,Ce,_e]}],delay:[{delay:[He,Ce,_e]}],animate:[{animate:["none",T,Ce,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[_,Ce,_e]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Ve()}],"scale-x":[{"scale-x":Ve()}],"scale-y":[{"scale-y":Ve()}],"scale-z":[{"scale-z":Ve()}],"scale-3d":["scale-3d"],skew:[{skew:it()}],"skew-x":[{"skew-x":it()}],"skew-y":[{"skew-y":it()}],transform:[{transform:[Ce,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Qe()}],"translate-x":[{"translate-x":Qe()}],"translate-y":[{"translate-y":Qe()}],"translate-z":[{"translate-z":Qe()}],"translate-none":["translate-none"],zoom:[{zoom:[Rr,Ce,_e]}],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"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",Ce,_e]}],"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":te()}],"scrollbar-track-color":[{"scrollbar-track":te()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mbs":[{"scroll-mbs":V()}],"scroll-mbe":[{"scroll-mbe":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pbs":[{"scroll-pbs":V()}],"scroll-pbe":[{"scroll-pbe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"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",Ce,_e]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[He,Vs,yi,ix]}],stroke:[{stroke:["none",...te()]}],"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"]}},LD=hD(kD);function Je(...e){return LD(J1(e))}function $D({delayDuration:e=0,...n}){return f.jsx(FN,{"data-slot":"tooltip-provider",delayDuration:e,...n})}function ID({...e}){return f.jsx(VN,{"data-slot":"tooltip",...e})}function PD({...e}){return f.jsx(UN,{"data-slot":"tooltip-trigger",...e})}function FD({className:e,sideOffset:n=0,children:r,...i}){return f.jsx(HN,{children:f.jsxs(BN,{"data-slot":"tooltip-content",sideOffset:n,className:Je("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",e),...i,children:[r,f.jsx(qN,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const Mm=new Set;function VD(e){return Mm.add(e),()=>Mm.delete(e)}function UD(){for(const e of Mm)e()}const h_=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();const HD=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const BD=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,i)=>i?i.toUpperCase():r.toLowerCase());const lx=e=>{const n=BD(e);return n.charAt(0).toUpperCase()+n.slice(1)};var Bh={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 qD=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},GD=S.createContext({}),ZD=()=>S.useContext(GD),KD=S.forwardRef(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},p)=>{const{size:m=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:b="currentColor",className:x=""}=ZD()??{},w=i??v?Number(r??y)*24/Number(n??m):r??y;return S.createElement("svg",{ref:p,...Bh,width:n??m??Bh.width,height:n??m??Bh.height,stroke:e??b,strokeWidth:w,className:h_("lucide",x,s),...!l&&!qD(d)&&{"aria-hidden":"true"},...d},[...u.map(([_,E])=>S.createElement(_,E)),...Array.isArray(l)?l:[l]])});const Me=(e,n)=>{const r=S.forwardRef(({className:i,...s},l)=>S.createElement(KD,{ref:l,iconNode:n,className:h_(`lucide-${HD(lx(e))}`,`lucide-${e}`,i),...s}));return r.displayName=lx(e),r};const YD=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],QD=Me("beaker",YD);const XD=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],JD=Me("book-open",XD);const WD=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],ez=Me("briefcase",WD);const tz=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],nz=Me("bug",tz);const rz=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],az=Me("calendar",rz);const iz=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],m_=Me("check",iz);const oz=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Bp=Me("chevron-down",oz);const sz=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],lz=Me("chevron-right",sz);const cz=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],uz=Me("chevron-up",cz);const dz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],fz=Me("circle-check",dz);const hz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],p_=Me("clock",hz);const mz=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],pz=Me("code",mz);const gz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],vz=Me("compass",gz);const yz=[["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"}]],bz=Me("copy",yz);const xz=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],wz=Me("credit-card",xz);const Sz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],_z=Me("database",Sz);const Cz=[["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"}]],Ez=Me("download",Cz);const Rz=[["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"}]],jz=Me("ellipsis",Rz);const Tz=[["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"}]],g_=Me("file-text",Tz);const Oz=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Az=Me("flag",Oz);const Mz=[["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"}]],qp=Me("folder",Mz);const Nz=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],Dz=Me("gauge",Nz);const zz=[["path",{d:"m14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381",key:"pgg06f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m21.5 10.5-8-8",key:"a17d9x"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m8.5 7.5 8 8",key:"1oyaui"}]],kz=Me("gavel",zz);const Lz=[["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"}]],v_=Me("globe",Lz);const $z=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Iz=Me("graduation-cap",$z);const Pz=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Fz=Me("heart",Pz);const Vz=[["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"}]],Uz=Me("history",Vz);const Hz=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Bz=Me("image",Hz);const qz=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Gz=Me("info",qz);const Zz=[["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"}]],Kz=Me("layout-dashboard",Zz);const Yz=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Qz=Me("lightbulb",Yz);const Xz=[["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"}]],Jz=Me("link",Xz);const Wz=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],ek=Me("loader-circle",Wz);const tk=[["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"}]],y_=Me("lock",tk);const nk=[["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"}]],rk=Me("log-out",nk);const ak=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],ik=Me("megaphone",ak);const ok=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],sk=Me("menu",ok);const lk=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],ck=Me("music",lk);const uk=[["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"}]],dk=Me("octagon-x",uk);const fk=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],hk=Me("package",fk);const mk=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],pk=Me("pen-line",mk);const gk=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],vk=Me("plus",gk);const yk=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],bk=Me("rocket",yk);const xk=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],b_=Me("search",xk);const wk=[["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"}]],Sk=Me("settings",wk);const _k=[["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"}]],Ck=Me("share-2",_k);const Ek=[["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"}]],x_=Me("shield",Ek);const Rk=[["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"}]],w_=Me("square-terminal",Rk);const jk=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Tk=Me("star",jk);const Ok=[["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"}]],Ak=Me("trash-2",Ok);const Mk=[["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"}]],S_=Me("triangle-alert",Mk);const Nk=[["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"}]],Dk=Me("upload",Nk);const zk=[["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"}]],__=Me("users",zk);const kk=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Lk=Me("wrench",kk);const $k=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],C_=Me("x",$k);function Ik(){const e=!document.body.classList.contains("sb-open");document.body.classList.toggle("sb-open"),Qu(),e?document.getElementById("sidebar")?.querySelector(Pk)?.focus():document.getElementById("menu-btn")?.focus()}const Pk='a[href], button:not(:disabled), select, input, [tabindex]:not([tabindex="-1"])';function mr(){const e=document.body.classList.contains("sb-open");document.body.classList.remove("sb-open"),Qu(),e&&window.innerWidth<=su&&document.getElementById("menu-btn")?.focus()}const su=900;function Qu(){const e=document.getElementById("sidebar");if(!e)return;const n=document.body.classList.contains("sb-open");window.innerWidth<=su&&!n?e.setAttribute("inert",""):e.removeAttribute("inert");const i=document.getElementById("main");i&&(n&&window.innerWidth<=su?i.setAttribute("inert",""):i.removeAttribute("inert")),e.setAttribute("aria-modal",String(n&&window.innerWidth<=su)),document.getElementById("menu-btn")?.setAttribute("aria-expanded",String(n))}typeof window<"u"&&(window.addEventListener("resize",Qu),window.addEventListener("keydown",e=>{e.key==="Escape"&&document.body.classList.contains("sb-open")&&mr()}));const Fk={alert:S_,card:wz,check:m_,chev:lz,chevd:Bp,clock:p_,copy:bz,doc:g_,dots:jz,download:Ez,folder:qp,dashboard:Kz,gear:Sk,globe:v_,hist:Uz,link:Jz,lock:y_,menu:sk,plus:vk,power:rk,search:b_,share:Ck,shield:x_,terminal:w_,trash:Ak,upload:Dk,users:__,x:C_};function ut({name:e}){const n=Fk[e];return n?f.jsx(n,{className:"ico","aria-hidden":"true"}):null}const Nm={folder:qp,"book-open":JD,"file-text":g_,"pen-line":pk,users:__,briefcase:ez,megaphone:ik,rocket:bk,lightbulb:Qz,flag:Az,star:Tk,heart:Fz,code:pz,"square-terminal":w_,bug:nz,wrench:Lk,database:_z,package:hk,beaker:QD,gauge:Dz,shield:x_,lock:y_,gavel:kz,globe:v_,compass:vz,calendar:az,clock:p_,"graduation-cap":Iz,image:Bz,music:ck};function $o({name:e,className:n}){const r=e??"",i=Object.hasOwn(Nm,r)?Nm[r]:qp;return f.jsx(i,{className:n,"aria-hidden":"true"})}function Vk({size:e=22}){return f.jsxs("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"currentColor",role:"img","aria-label":"BearDrive",children:[f.jsx("rect",{x:"4",y:"4",width:"5.6",height:"24"}),f.jsx("rect",{x:"11.2",y:"4",width:"14.4",height:"11.2"}),f.jsx("rect",{x:"11.2",y:"16.8",width:"16.8",height:"11.2"})]})}function Su(e){const n=["page",e.width??"app",e.className].filter(Boolean).join(" ");return f.jsx("div",{className:n,children:e.children})}function Uk(e){e&&Qu()}function ll(e){return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:"sb-backdrop",onClick:mr}),f.jsxs("aside",{id:"sidebar",ref:Uk,children:[e.vault,e.projectsNav,e.tree??f.jsx("nav",{id:"tree","aria-label":"Files"}),e.orgBar]}),f.jsxs("main",{id:"main",children:[e.topbar,f.jsx("article",{id:"content",ref:e.contentRef,onScroll:e.onContentScroll,children:e.children})]})]})}function Xu(e){const{name:n,onHome:r,showSignout:i,search:s}=e;return f.jsxs("header",{id:"vault",children:[f.jsx("span",{id:"vault-badge",children:f.jsx(Vk,{size:22})}),f.jsx("span",{id:"vault-name",className:r?"vault-link":void 0,onClick:r,role:r?"button":void 0,tabIndex:r?0:void 0,onKeyDown:l=>{r&&(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),r())},children:n}),f.jsxs("div",{className:"vault-actions",children:[s&&f.jsxs(ID,{delayDuration:150,children:[f.jsx(PD,{asChild:!0,children:f.jsx("button",{id:"search-btn",className:"icon-btn2","aria-label":"Search",onClick:()=>{UD(),mr()},children:f.jsx(ut,{name:"search"})})}),f.jsxs(FD,{className:"tipcard",sideOffset:6,children:["Search ",f.jsx("kbd",{children:"⌘K"})]})]}),i&&f.jsx("a",{id:"signout",href:"/auth/logout",title:"Sign out","aria-label":"Sign out",children:f.jsx(ut,{name:"power"})})]})]})}function cl(e){return f.jsxs("header",{id:"topbar",children:[f.jsx("button",{id:"menu-btn",className:"icon-btn",title:"Menu","aria-label":"Menu","aria-controls":"sidebar","aria-expanded":"false",onClick:Ik,children:f.jsx(ut,{name:"menu"})}),f.jsx("span",{id:"crumb",children:e.crumb}),f.jsx("span",{id:"meta",children:e.meta}),e.actions]})}function Hk(e){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const Bk=e=>{switch(e){case"success":return Zk;case"info":return Yk;case"warning":return Kk;case"error":return Qk;default:return null}},qk=Array(12).fill(0),Gk=({visible:e,className:n})=>me.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},me.createElement("div",{className:"sonner-spinner"},qk.map((r,i)=>me.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),Zk=me.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},me.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"})),Kk=me.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},me.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"})),Yk=me.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},me.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"})),Qk=me.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},me.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"})),Xk=me.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"},me.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),me.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Jk=()=>{const[e,n]=me.useState(document.hidden);return me.useEffect(()=>{const r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Dm=1;class Wk{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;const{message:i,...s}=n,l=typeof n?.id=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:Dm++,u=this.toasts.find(p=>p.id===l),d=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),u?this.toasts=this.toasts.map(p=>p.id===l?(this.publish({...p,...n,id:l,title:i}),{...p,...n,id:l,dismissible:d,title:i}):p):this.addToast({title:i,...s,dismissible:d,id:l}),l},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:n,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const s=Promise.resolve(n instanceof Function?n():n);let l=i!==void 0,u;const d=s.then(async m=>{if(u=["resolve",m],me.isValidElement(m))l=!1,this.create({id:i,type:"default",message:m});else if(t3(m)&&!m.ok){l=!1;const v=typeof r.error=="function"?await r.error(`HTTP error! status: ${m.status}`):r.error,b=typeof r.description=="function"?await r.description(`HTTP error! status: ${m.status}`):r.description,w=typeof v=="object"&&!me.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(m instanceof Error){l=!1;const v=typeof r.error=="function"?await r.error(m):r.error,b=typeof r.description=="function"?await r.description(m):r.description,w=typeof v=="object"&&!me.isValidElement(v)?v:{message:v};this.create({id:i,type:"error",description:b,...w})}else if(r.success!==void 0){l=!1;const v=typeof r.success=="function"?await r.success(m):r.success,b=typeof r.description=="function"?await r.description(m):r.description,w=typeof v=="object"&&!me.isValidElement(v)?v:{message:v};this.create({id:i,type:"success",description:b,...w})}}).catch(async m=>{if(u=["reject",m],r.error!==void 0){l=!1;const y=typeof r.error=="function"?await r.error(m):r.error,v=typeof r.description=="function"?await r.description(m):r.description,x=typeof y=="object"&&!me.isValidElement(y)?y:{message:y};this.create({id:i,type:"error",description:v,...x})}}).finally(()=>{l&&(this.dismiss(i),i=void 0),r.finally==null||r.finally.call(r)}),p=()=>new Promise((m,y)=>d.then(()=>u[0]==="reject"?y(u[1]):m(u[1])).catch(y));return typeof i!="string"&&typeof i!="number"?{unwrap:p}:Object.assign(i,{unwrap:p})},this.custom=(n,r)=>{const i=r?.id||Dm++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Tn=new Wk,e3=(e,n)=>{const r=n?.id||Dm++;return Tn.addToast({title:e,...n,id:r}),r},t3=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",n3=e3,r3=()=>Tn.toasts,a3=()=>Tn.getActiveToasts(),cx=Object.assign(n3,{success:Tn.success,info:Tn.info,warning:Tn.warning,error:Tn.error,custom:Tn.custom,message:Tn.message,promise:Tn.promise,dismiss:Tn.dismiss,loading:Tn.loading},{getHistory:r3,getToasts:a3});Hk("[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 Qc(e){return e.label!==void 0}const i3=3,o3="24px",s3="16px",ux=4e3,l3=356,c3=14,u3=45,d3=200;function jr(...e){return e.filter(Boolean).join(" ")}function f3(e){const[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}const h3=e=>{var n,r,i,s,l,u,d,p,m;const{invert:y,toast:v,unstyled:b,interacting:x,setHeights:w,visibleToasts:_,heights:E,index:R,toasts:T,expanded:O,removeToast:N,defaultRichColors:L,closeButton:P,style:F,cancelButtonStyle:V,actionButtonStyle:ve,className:ye="",descriptionClassName:he="",duration:X,position:ae,gap:pe,expandByDefault:xe,classNames:z,icons:Q,closeButtonAriaLabel:oe="Close toast"}=e,[W,te]=me.useState(null),[D,M]=me.useState(null),[B,J]=me.useState(!1),[K,ce]=me.useState(!1),[re,ge]=me.useState(!1),[be,Oe]=me.useState(!1),[Ie,Ve]=me.useState(!1),[it,Qe]=me.useState(0),[fn,hn]=me.useState(0),Qt=me.useRef(v.duration||X||ux),br=me.useRef(null),jt=me.useRef(null),rr=R===0,xr=R+1<=_,Tt=v.type,Vn=v.dismissible!==!1,Dt=v.className||"",kr=v.descriptionClassName||"",ar=me.useMemo(()=>E.findIndex(Ne=>Ne.toastId===v.id)||0,[E,v.id]),ir=me.useMemo(()=>{var Ne;return(Ne=v.closeButton)!=null?Ne:P},[v.closeButton,P]),wr=me.useMemo(()=>v.duration||X||ux,[v.duration,X]),or=me.useRef(0),mn=me.useRef(0),A=me.useRef(0),I=me.useRef(null),[U,ue]=ae.split("-"),Z=me.useMemo(()=>E.reduce((Ne,ht,yt)=>yt>=ar?Ne:Ne+ht.height,0),[E,ar]),ne=Jk(),de=v.invert||y,we=Tt==="loading";mn.current=me.useMemo(()=>ar*pe+Z,[ar,Z]),me.useEffect(()=>{Qt.current=wr},[wr]),me.useEffect(()=>{J(!0)},[]),me.useEffect(()=>{const Ne=jt.current;if(Ne){const ht=Ne.getBoundingClientRect().height;return hn(ht),w(yt=>[{toastId:v.id,height:ht,position:v.position},...yt]),()=>w(yt=>yt.filter(Bt=>Bt.toastId!==v.id))}},[w,v.id]),me.useLayoutEffect(()=>{if(!B)return;const Ne=jt.current,ht=Ne.style.height;Ne.style.height="auto";const yt=Ne.getBoundingClientRect().height;Ne.style.height=ht,hn(yt),w(Bt=>Bt.find(St=>St.toastId===v.id)?Bt.map(St=>St.toastId===v.id?{...St,height:yt}:St):[{toastId:v.id,height:yt,position:v.position},...Bt])},[B,v.title,v.description,w,v.id,v.jsx,v.action,v.cancel]);const Ee=me.useCallback(()=>{ce(!0),Qe(mn.current),w(Ne=>Ne.filter(ht=>ht.toastId!==v.id)),setTimeout(()=>{N(v)},d3)},[v,N,w,mn]);me.useEffect(()=>{if(v.promise&&Tt==="loading"||v.duration===1/0||v.type==="loading")return;let Ne;return O||x||ne?(()=>{if(A.current{v.onAutoClose==null||v.onAutoClose.call(v,v),Ee()},Qt.current)),()=>clearTimeout(Ne)},[O,x,v,Tt,ne,Ee]),me.useEffect(()=>{v.delete&&(Ee(),v.onDismiss==null||v.onDismiss.call(v,v))},[Ee,v.delete]);function Xe(){var Ne;if(Q?.loading){var ht;return me.createElement("div",{className:jr(z?.loader,v==null||(ht=v.classNames)==null?void 0:ht.loader,"sonner-loader"),"data-visible":Tt==="loading"},Q.loading)}return me.createElement(Gk,{className:jr(z?.loader,v==null||(Ne=v.classNames)==null?void 0:Ne.loader),visible:Tt==="loading"})}const wt=v.icon||Q?.[Tt]||Bk(Tt);var Xt,zt;return me.createElement("li",{tabIndex:0,ref:jt,className:jr(ye,Dt,z?.toast,v==null||(n=v.classNames)==null?void 0:n.toast,z?.default,z?.[Tt],v==null||(r=v.classNames)==null?void 0:r[Tt]),"data-sonner-toast":"","data-rich-colors":(Xt=v.richColors)!=null?Xt:L,"data-styled":!(v.jsx||v.unstyled||b),"data-mounted":B,"data-promise":!!v.promise,"data-swiped":Ie,"data-removed":K,"data-visible":xr,"data-y-position":U,"data-x-position":ue,"data-index":R,"data-front":rr,"data-swiping":re,"data-dismissible":Vn,"data-type":Tt,"data-invert":de,"data-swipe-out":be,"data-swipe-direction":D,"data-expanded":!!(O||xe&&B),"data-testid":v.testId,style:{"--index":R,"--toasts-before":R,"--z-index":T.length-R,"--offset":`${K?it:mn.current}px`,"--initial-height":xe?"auto":`${fn}px`,...F,...v.style},onDragEnd:()=>{ge(!1),te(null),I.current=null},onPointerDown:Ne=>{Ne.button!==2&&(we||!Vn||(br.current=new Date,Qe(mn.current),Ne.target.setPointerCapture(Ne.pointerId),Ne.target.tagName!=="BUTTON"&&(ge(!0),I.current={x:Ne.clientX,y:Ne.clientY})))},onPointerUp:()=>{var Ne,ht,yt;if(be||!Vn)return;I.current=null;const Bt=Number(((Ne=jt.current)==null?void 0:Ne.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),sr=Number(((ht=jt.current)==null?void 0:ht.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),St=new Date().getTime()-((yt=br.current)==null?void 0:yt.getTime()),yn=W==="x"?Bt:sr,Wa=Math.abs(yn)/St;if(Math.abs(yn)>=u3||Wa>.11){Qe(mn.current),v.onDismiss==null||v.onDismiss.call(v,v),M(W==="x"?Bt>0?"right":"left":sr>0?"down":"up"),Ee(),Oe(!0);return}else{var bn,xn;(bn=jt.current)==null||bn.style.setProperty("--swipe-amount-x","0px"),(xn=jt.current)==null||xn.style.setProperty("--swipe-amount-y","0px")}Ve(!1),ge(!1),te(null)},onPointerMove:Ne=>{var ht,yt,Bt;if(!I.current||!Vn||((ht=window.getSelection())==null?void 0:ht.toString().length)>0)return;const St=Ne.clientY-I.current.y,yn=Ne.clientX-I.current.x;var Wa;const bn=(Wa=e.swipeDirections)!=null?Wa:f3(ae);!W&&(Math.abs(yn)>1||Math.abs(St)>1)&&te(Math.abs(yn)>Math.abs(St)?"x":"y");let xn={x:0,y:0};const $i=lr=>1/(1.5+Math.abs(lr)/20);if(W==="y"){if(bn.includes("top")||bn.includes("bottom"))if(bn.includes("top")&&St<0||bn.includes("bottom")&&St>0)xn.y=St;else{const lr=St*$i(St);xn.y=Math.abs(lr)0)xn.x=yn;else{const lr=yn*$i(yn);xn.x=Math.abs(lr)0||Math.abs(xn.y)>0)&&Ve(!0),(yt=jt.current)==null||yt.style.setProperty("--swipe-amount-x",`${xn.x}px`),(Bt=jt.current)==null||Bt.style.setProperty("--swipe-amount-y",`${xn.y}px`)}},ir&&!v.jsx&&Tt!=="loading"?me.createElement("button",{"aria-label":oe,"data-disabled":we,"data-close-button":!0,onClick:we||!Vn?()=>{}:()=>{Ee(),v.onDismiss==null||v.onDismiss.call(v,v)},className:jr(z?.closeButton,v==null||(i=v.classNames)==null?void 0:i.closeButton)},(zt=Q?.close)!=null?zt:Xk):null,(Tt||v.icon||v.promise)&&v.icon!==null&&(Q?.[Tt]!==null||v.icon)?me.createElement("div",{"data-icon":"",className:jr(z?.icon,v==null||(s=v.classNames)==null?void 0:s.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||Xe():null,v.type!=="loading"?wt:null):null,me.createElement("div",{"data-content":"",className:jr(z?.content,v==null||(l=v.classNames)==null?void 0:l.content)},me.createElement("div",{"data-title":"",className:jr(z?.title,v==null||(u=v.classNames)==null?void 0:u.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?me.createElement("div",{"data-description":"",className:jr(he,kr,z?.description,v==null||(d=v.classNames)==null?void 0:d.description)},typeof v.description=="function"?v.description():v.description):null),me.isValidElement(v.cancel)?v.cancel:v.cancel&&Qc(v.cancel)?me.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||V,onClick:Ne=>{Qc(v.cancel)&&Vn&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Ne),Ee())},className:jr(z?.cancelButton,v==null||(p=v.classNames)==null?void 0:p.cancelButton)},v.cancel.label):null,me.isValidElement(v.action)?v.action:v.action&&Qc(v.action)?me.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||ve,onClick:Ne=>{Qc(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Ne),!Ne.defaultPrevented&&Ee())},className:jr(z?.actionButton,v==null||(m=v.classNames)==null?void 0:m.actionButton)},v.action.label):null)};function dx(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function m3(e,n){const r={};return[e,n].forEach((i,s)=>{const l=s===1,u=l?"--mobile-offset":"--offset",d=l?s3:o3;function p(m){["top","right","bottom","left"].forEach(y=>{r[`${u}-${y}`]=typeof m=="number"?`${m}px`:m})}typeof i=="number"||typeof i=="string"?p(i):typeof i=="object"?["top","right","bottom","left"].forEach(m=>{i[m]===void 0?r[`${u}-${m}`]=d:r[`${u}-${m}`]=typeof i[m]=="number"?`${i[m]}px`:i[m]}):p(d)}),r}const p3=me.forwardRef(function(n,r){const{id:i,invert:s,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:d,closeButton:p,className:m,offset:y,mobileOffset:v,theme:b="light",richColors:x,duration:w,style:_,visibleToasts:E=i3,toastOptions:R,dir:T=dx(),gap:O=c3,icons:N,containerAriaLabel:L="Notifications"}=n,[P,F]=me.useState([]),V=me.useMemo(()=>i?P.filter(B=>B.toasterId===i):P.filter(B=>!B.toasterId),[P,i]),ve=me.useMemo(()=>Array.from(new Set([l].concat(V.filter(B=>B.position).map(B=>B.position)))),[V,l]),[ye,he]=me.useState([]),[X,ae]=me.useState(!1),[pe,xe]=me.useState(!1),[z,Q]=me.useState(b!=="system"?b:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),oe=me.useRef(null),W=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),te=me.useRef(null),D=me.useRef(!1),M=me.useCallback(B=>{F(J=>{var K;return(K=J.find(ce=>ce.id===B.id))!=null&&K.delete||Tn.dismiss(B.id),J.filter(({id:ce})=>ce!==B.id)})},[]);return me.useEffect(()=>Tn.subscribe(B=>{if(B.dismiss){requestAnimationFrame(()=>{F(J=>J.map(K=>K.id===B.id?{...K,delete:!0}:K))});return}setTimeout(()=>{yj.flushSync(()=>{F(J=>{const K=J.findIndex(ce=>ce.id===B.id);return K!==-1?[...J.slice(0,K),{...J[K],...B},...J.slice(K+1)]:[B,...J]})})})}),[P]),me.useEffect(()=>{if(b!=="system"){Q(b);return}if(b==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Q("dark"):Q("light")),typeof window>"u")return;const B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:J})=>{Q(J?"dark":"light")})}catch{B.addListener(({matches:K})=>{try{Q(K?"dark":"light")}catch(ce){console.error(ce)}})}},[b]),me.useEffect(()=>{P.length<=1&&ae(!1)},[P]),me.useEffect(()=>{const B=J=>{var K;if(u.every(ge=>J[ge]||J.code===ge)){var re;ae(!0),(re=oe.current)==null||re.focus()}J.code==="Escape"&&(document.activeElement===oe.current||(K=oe.current)!=null&&K.contains(document.activeElement))&&ae(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[u]),me.useEffect(()=>{if(oe.current)return()=>{te.current&&(te.current.focus({preventScroll:!0}),te.current=null,D.current=!1)}},[oe.current]),me.createElement("section",{ref:r,"aria-label":`${L} ${W}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ve.map((B,J)=>{var K;const[ce,re]=B.split("-");return V.length?me.createElement("ol",{key:B,dir:T==="auto"?dx():T,tabIndex:-1,ref:oe,className:m,"data-sonner-toaster":!0,"data-sonner-theme":z,"data-y-position":ce,"data-x-position":re,style:{"--front-toast-height":`${((K=ye[0])==null?void 0:K.height)||0}px`,"--width":`${l3}px`,"--gap":`${O}px`,..._,...m3(y,v)},onBlur:ge=>{D.current&&!ge.currentTarget.contains(ge.relatedTarget)&&(D.current=!1,te.current&&(te.current.focus({preventScroll:!0}),te.current=null))},onFocus:ge=>{ge.target instanceof HTMLElement&&ge.target.dataset.dismissible==="false"||D.current||(D.current=!0,te.current=ge.relatedTarget)},onMouseEnter:()=>ae(!0),onMouseMove:()=>ae(!0),onMouseLeave:()=>{pe||ae(!1)},onDragEnd:()=>ae(!1),onPointerDown:ge=>{ge.target instanceof HTMLElement&&ge.target.dataset.dismissible==="false"||xe(!0)},onPointerUp:()=>xe(!1)},V.filter(ge=>!ge.position&&J===0||ge.position===B).map((ge,be)=>{var Oe,Ie;return me.createElement(h3,{key:ge.id,icons:N,index:be,toast:ge,defaultRichColors:x,duration:(Oe=R?.duration)!=null?Oe:w,className:R?.className,descriptionClassName:R?.descriptionClassName,invert:s,visibleToasts:E,closeButton:(Ie=R?.closeButton)!=null?Ie:p,interacting:pe,position:B,style:R?.style,unstyled:R?.unstyled,classNames:R?.classNames,cancelButtonStyle:R?.cancelButtonStyle,actionButtonStyle:R?.actionButtonStyle,closeButtonAriaLabel:R?.closeButtonAriaLabel,removeToast:M,toasts:V.filter(Ve=>Ve.position==ge.position),heights:ye.filter(Ve=>Ve.position==ge.position),setHeights:he,expandByDefault:d,gap:O,expanded:X,swipeDirections:n.swipeDirections})})):null}))}),g3=({...e})=>f.jsx(p3,{theme:"dark",className:"toaster group",icons:{success:f.jsx(fz,{className:"size-4"}),info:f.jsx(Gz,{className:"size-4"}),warning:f.jsx(S_,{className:"size-4"}),error:f.jsx(dk,{className:"size-4"}),loading:f.jsx(ek,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius-ctl)"},...e});function Ke(e,n=!1){n?cx.error(e,{duration:1/0,closeButton:!0}):cx(e)}function v3(){return f.jsx(g3,{position:"bottom-center"})}const fx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hx=J1,y3=(e,n)=>r=>{var i;if(n?.variants==null)return hx(e,r?.class,r?.className);const{variants:s,defaultVariants:l}=n,u=Object.keys(s).map(m=>{const y=r?.[m],v=l?.[m];if(y===null)return null;const b=fx(y)||fx(v);return s[m][b]}),d=r&&Object.entries(r).reduce((m,y)=>{let[v,b]=y;return b===void 0||(m[v]=b),m},{}),p=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((m,y)=>{let{class:v,className:b,...x}=y;return Object.entries(x).every(w=>{let[_,E]=w;return Array.isArray(E)?E.includes({...l,...d}[_]):{...l,...d}[_]===E})?[...m,v,b]:m},[]);return hx(e,u,p,r?.class,r?.className)},b3=y3("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color] disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",primary:"pbtn",danger:"danger-btn",subtle:"ai-btn",toolbar:"btn",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function vt({className:e,variant:n="default",size:r="default",asChild:i=!1,...s}){const l=i?bj:"button";return f.jsx(l,{"data-slot":"button","data-variant":n,"data-size":r,className:Je(b3({variant:n,size:r,className:e})),...s})}function Ju({...e}){return f.jsx(hp,{"data-slot":"dialog",...e})}function x3({...e}){return f.jsx(pp,{"data-slot":"dialog-portal",...e})}function w3({className:e,...n}){return f.jsx(gp,{"data-slot":"dialog-overlay",className:Je("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Wu({className:e,children:n,showCloseButton:r=!0,...i}){return f.jsxs(x3,{"data-slot":"dialog-portal",children:[f.jsx(w3,{}),f.jsxs(vp,{"data-slot":"dialog-content",className:Je("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none 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 sm:max-w-lg",e),...i,children:[n,r&&f.jsxs(aS,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[f.jsx(C_,{}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Sl({className:e,...n}){return f.jsx(tS,{"data-slot":"dialog-title",className:Je("text-lg leading-none font-semibold",e),...n})}let E_=null,lu=[];function _l(e){E_=e,lu.forEach(n=>n())}function R_(e,n,r="",i="OK",s={}){return new Promise(l=>_l({kind:"prompt",title:e,label:n,value:r,okLabel:i,...s,resolve:l}))}function Cl(e,n,r="Confirm",i=!1){return new Promise(s=>_l({kind:"confirm",title:e,message:n,confirmLabel:r,danger:i,resolve:s}))}function S3(){const e=S.useSyncExternalStore(r=>(lu.push(r),()=>{lu=lu.filter(i=>i!==r)}),()=>E_);if(!e)return null;const n=()=>{_l(null),e.kind==="prompt"?e.resolve(null):e.resolve(!1)};return f.jsx(Ju,{open:!0,onOpenChange:r=>!r&&n(),children:f.jsx(Wu,{className:"modal",showCloseButton:!1,children:e.kind==="prompt"?f.jsx(_3,{m:e}):f.jsx(C3,{m:e})})})}function _3({m:e}){const n=S.useRef(null),r=m=>{_l(null),e.resolve(m)},[i,s]=S.useState(""),[l,u]=S.useState(e.value),d=e.match===void 0||l.trim()===e.match,p=()=>{const m=l;if(d){if(!m.trim()){s("Give it a name."),n.current.focus();return}r(m)}};return f.jsxs(f.Fragment,{children:[f.jsx(Sl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:e.label}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",value:l,ref:n,id:"modal-input",autoFocus:!0,onFocus:m=>m.currentTarget.select(),"aria-invalid":!!i,"aria-describedby":i?"modal-input-err":void 0,onChange:m=>{u(m.currentTarget.value),i&&s("")},onKeyDown:m=>m.key==="Enter"&&p()}),i&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:i}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>r(null),children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:p,disabled:!d,children:e.okLabel})]})]})}function C3({m:e}){const n=r=>{_l(null),e.resolve(r)};return f.jsxs(f.Fragment,{children:[f.jsx(Sl,{asChild:!0,children:f.jsx("h3",{children:e.title})}),f.jsx("p",{className:"modal-msg",children:e.message}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>n(!1),autoFocus:e.danger,children:"Cancel"}),f.jsx(vt,{variant:e.danger?"danger":"primary",onClick:()=>n(!0),autoFocus:!e.danger,children:e.confirmLabel})]})]})}function E3(e){return Ht({queryKey:["projects"],queryFn:()=>Yt("/api/projects"),enabled:e,refetchInterval:3e4,select:n=>n.projects||[]})}function R3(e){return Ht({queryKey:["orgs"],queryFn:()=>Yt("/api/orgs"),enabled:e,select:n=>n.orgs||[]})}function j3(e){return Ht({queryKey:["permissions",e],queryFn:()=>Yt(`/api/p/${e}/permissions`),enabled:!!e})}function j_(e,n=!0){return Ht({queryKey:["shares",e],queryFn:()=>Yt(`/api/p/${e}/shares`),enabled:!!e&&n,select:r=>r.shares||[]})}function T_(e){return Ht({queryKey:["admin","pending"],queryFn:()=>Yt("/api/admin/pending"),enabled:e,select:n=>n.pending||[]})}function O_(){const e=Ai();return()=>Promise.all([e.invalidateQueries({queryKey:["projects"]}),e.invalidateQueries({queryKey:["orgs"]})]).then(()=>{})}function A_(e){return e.split("/").map(encodeURIComponent).join("/")}function T3(e){try{return decodeURIComponent(e)}catch{return e}}function M_(e){return e.split("/").map(T3).join("/")}const O3=new Set(["dashboard","history","install","settings"]),mx={insights:"dashboard"};function A3(e){return Object.hasOwn(mx,e)?mx[e]:void 0}const Gp=["q","user","since","until"];function Zp(e){return!!e&&Gp.some(n=>!!e[n])}function N_(e){const n=new URLSearchParams;for(const i of Gp)e?.[i]&&n.set(i,e[i]);const r=n.toString();return r?"?"+r:""}function D_(e,n){const r=e.indexOf("?"),i=r===-1?null:new URLSearchParams(e.slice(r)),s=i?.get("v")||"",l=i?.get("connect")||"",u=M3(r===-1?e:e.slice(0,r),n);s&&(u.version=s),l&&(u.connect=l);const d={};for(const p of Gp){const m=i?.get(p);m&&(d[p]=m)}if(Zp(d)&&(u.filters=d),u.view==="history"&&!u.viewTarget){const p=(i?.get("path")||i?.get("prefix")||"").replace(/^\/+|\/+$/g,"");p&&(u.viewTarget=M_(p),u.queryTarget=!0)}return u}function px(e,n){const r=n.replace(/\/+$/,"");return r!==n&&(e.trailingSlash=!0),e.path=r?M_(r):"",e}function M3(e,n){const r=e.replace(/^\/+/,"");if(n!=="hub")return px({path:""},r);if(r==="orgs"||r.startsWith("orgs/"))return{org:r.slice(5).replace(/\/+$/,""),path:""};if(r==="billing"||r.startsWith("billing/"))return{billing:!0,path:""};const i=r.indexOf("/");if(i===-1)return{project:r,path:""};const s=px({project:r.slice(0,i),path:""},r.slice(i+1)),l=s.path.indexOf("/"),u=l===-1?s.path:s.path.slice(0,l),d=A3(u);return(O3.has(u)||d)&&(s.view=d||u,d&&(s.legacyView=!0),s.viewTarget=l===-1?"":s.path.slice(l+1).replace(/\/+$/,""),s.path=""),s}function ul(e,n,r){const i=A_(e),s=r?"?v="+r:"";return n?"/"+n+(i?"/"+i:"")+s:"/"+i+s}function Pn(e,n,r,i){let s=(n?"/"+n:"")+"/"+e;return r&&(s+="/"+A_(r.replace(/\/+$/,""))),s+(e==="history"?N_(i):"")}let Kp="POP";const zm=new Set;function z_(){for(const e of zm)e()}window.addEventListener("popstate",()=>{Kp="POP",z_()});function Zt(e,n){const r=location.pathname+location.search;!n?.replace&&r===e||(history[n?.replace?"replaceState":"pushState"](null,"",e),Kp=n?.replace?"REPLACE":"PUSH",z_())}function Yp(){return S.useSyncExternalStore(e=>(zm.add(e),()=>{zm.delete(e)}),()=>location.pathname+location.search)}function N3(){return Kp}function dl(e){return e.startsWith("/")&&!e.startsWith("//")?{href:e,onClick:r=>{r.defaultPrevented||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.button!==0||(r.preventDefault(),Zt(e),document.body.classList.remove("sb-open"))}}:{href:e,target:"_blank",rel:"noopener noreferrer"}}function Ks({to:e}){return S.useEffect(()=>{Zt(e,{replace:!0})},[e]),null}function k_(){return{accessor:(e,n)=>typeof e=="function"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Da(e,n){return typeof e=="function"?e(n):e}function Fn(e,n){return r=>{n.setState(i=>({...i,[e]:Da(r,i[e])}))}}function ed(e){return e instanceof Function}function D3(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function z3(e,n){const r=[],i=s=>{s.forEach(l=>{r.push(l);const u=n(l);u!=null&&u.length&&i(u)})};return i(e),r}function ze(e,n,r){let i=[],s;return l=>{let u;r.key&&r.debug&&(u=Date.now());const d=e(l);if(!(d.length!==i.length||d.some((y,v)=>i[v]!==y)))return s;i=d;let m;if(r.key&&r.debug&&(m=Date.now()),s=n(...d),r==null||r.onChange==null||r.onChange(s),r.key&&r.debug&&r!=null&&r.debug()){const y=Math.round((Date.now()-u)*100)/100,v=Math.round((Date.now()-m)*100)/100,b=v/16,x=(w,_)=>{for(w=String(w);w.length<_;)w=" "+w;return w};console.info(`%c⏱ ${x(v,5)} /${x(y,5)} ms`,` + font-size: .6rem; + font-weight: bold; + color: hsl(${Math.max(0,Math.min(120-120*b,120))}deg 100% 31%);`,r?.key)}return s}}function ke(e,n,r,i){return{debug:()=>{var s;return(s=e?.debugAll)!=null?s:e[n]},key:!1,onChange:i}}function k3(e,n,r,i){const s=()=>{var u;return(u=l.getValue())!=null?u:e.options.renderFallbackValue},l={id:`${n.id}_${r.id}`,row:n,column:r,getValue:()=>n.getValue(i),renderValue:s,getContext:ze(()=>[e,r,n,l],(u,d,p,m)=>({table:u,column:d,row:p,cell:m,getValue:m.getValue,renderValue:m.renderValue}),ke(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(l,r,n,e)},{}),l}function L3(e,n,r,i){var s,l;const d={...e._getDefaultColumnDef(),...n},p=d.accessorKey;let m=(s=(l=d.id)!=null?l:p?typeof String.prototype.replaceAll=="function"?p.replaceAll(".","_"):p.replace(/\./g,"_"):void 0)!=null?s:typeof d.header=="string"?d.header:void 0,y;if(d.accessorFn?y=d.accessorFn:p&&(p.includes(".")?y=b=>{let x=b;for(const _ of p.split(".")){var w;x=(w=x)==null?void 0:w[_]}return x}:y=b=>b[d.accessorKey]),!m)throw new Error;let v={id:`${String(m)}`,accessorFn:y,parent:i,depth:r,columnDef:d,columns:[],getFlatColumns:ze(()=>[!0],()=>{var b;return[v,...(b=v.columns)==null?void 0:b.flatMap(x=>x.getFlatColumns())]},ke(e.options,"debugColumns")),getLeafColumns:ze(()=>[e._getOrderColumnsFn()],b=>{var x;if((x=v.columns)!=null&&x.length){let w=v.columns.flatMap(_=>_.getLeafColumns());return b(w)}return[v]},ke(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(v,e);return v}const un="debugHeaders";function gx(e,n,r){var i;let l={id:(i=r.id)!=null?i:n.id,column:n,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],d=p=>{p.subHeaders&&p.subHeaders.length&&p.subHeaders.map(d),u.push(p)};return d(l),u},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(l,e)}),l}const $3={createTable:e=>{e.getHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>{var l,u;const d=(l=i?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?l:[],p=(u=s?.map(v=>r.find(b=>b.id===v)).filter(Boolean))!=null?u:[],m=r.filter(v=>!(i!=null&&i.includes(v.id))&&!(s!=null&&s.includes(v.id)));return Xc(n,[...d,...m,...p],e)},ke(e.options,un)),e.getCenterHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i,s)=>(r=r.filter(l=>!(i!=null&&i.includes(l.id))&&!(s!=null&&s.includes(l.id))),Xc(n,r,e,"center")),ke(e.options,un)),e.getLeftHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Xc(n,l,e,"left")},ke(e.options,un)),e.getRightHeaderGroups=ze(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,r,i)=>{var s;const l=(s=i?.map(u=>r.find(d=>d.id===u)).filter(Boolean))!=null?s:[];return Xc(n,l,e,"right")},ke(e.options,un)),e.getFooterGroups=ze(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getLeftFooterGroups=ze(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getCenterFooterGroups=ze(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getRightFooterGroups=ze(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ke(e.options,un)),e.getFlatHeaders=ze(()=>[e.getHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getLeftFlatHeaders=ze(()=>[e.getLeftHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getCenterFlatHeaders=ze(()=>[e.getCenterHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getRightFlatHeaders=ze(()=>[e.getRightHeaderGroups()],n=>n.map(r=>r.headers).flat(),ke(e.options,un)),e.getCenterLeafHeaders=ze(()=>[e.getCenterFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getLeftLeafHeaders=ze(()=>[e.getLeftFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getRightLeafHeaders=ze(()=>[e.getRightFlatHeaders()],n=>n.filter(r=>{var i;return!((i=r.subHeaders)!=null&&i.length)}),ke(e.options,un)),e.getLeafHeaders=ze(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,r,i)=>{var s,l,u,d,p,m;return[...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[],...(p=(m=i[0])==null?void 0:m.headers)!=null?p:[]].map(y=>y.getLeafHeaders()).flat()},ke(e.options,un))}};function Xc(e,n,r,i){var s,l;let u=0;const d=function(b,x){x===void 0&&(x=1),u=Math.max(u,x),b.filter(w=>w.getIsVisible()).forEach(w=>{var _;(_=w.columns)!=null&&_.length&&d(w.columns,x+1)},0)};d(e);let p=[];const m=(b,x)=>{const w={depth:x,id:[i,`${x}`].filter(Boolean).join("_"),headers:[]},_=[];b.forEach(E=>{const R=[..._].reverse()[0],T=E.column.depth===w.depth;let O,N=!1;if(T&&E.column.parent?O=E.column.parent:(O=E.column,N=!0),R&&R?.column===O)R.subHeaders.push(E);else{const L=gx(r,O,{id:[i,x,O.id,E?.id].filter(Boolean).join("_"),isPlaceholder:N,placeholderId:N?`${_.filter(P=>P.column===O).length}`:void 0,depth:x,index:_.length});L.subHeaders.push(E),_.push(L)}w.headers.push(E),E.headerGroup=w}),p.push(w),x>0&&m(_,x-1)},y=n.map((b,x)=>gx(r,b,{depth:u,index:x}));m(y,u-1),p.reverse();const v=b=>b.filter(w=>w.column.getIsVisible()).map(w=>{let _=0,E=0,R=[0];w.subHeaders&&w.subHeaders.length?(R=[],v(w.subHeaders).forEach(O=>{let{colSpan:N,rowSpan:L}=O;_+=N,R.push(L)})):_=1;const T=Math.min(...R);return E=E+T,w.colSpan=_,w.rowSpan=E,{colSpan:_,rowSpan:E}});return v((s=(l=p[0])==null?void 0:l.headers)!=null?s:[]),p}const I3=(e,n,r,i,s,l,u)=>{let d={id:n,index:i,original:r,depth:s,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:p=>{if(d._valuesCache.hasOwnProperty(p))return d._valuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return d._valuesCache[p]=m.accessorFn(d.original,i),d._valuesCache[p]},getUniqueValues:p=>{if(d._uniqueValuesCache.hasOwnProperty(p))return d._uniqueValuesCache[p];const m=e.getColumn(p);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(d._uniqueValuesCache[p]=m.columnDef.getUniqueValues(d.original,i),d._uniqueValuesCache[p]):(d._uniqueValuesCache[p]=[d.getValue(p)],d._uniqueValuesCache[p])},renderValue:p=>{var m;return(m=d.getValue(p))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>z3(d.subRows,p=>p.subRows),getParentRow:()=>d.parentId?e.getRow(d.parentId,!0):void 0,getParentRows:()=>{let p=[],m=d;for(;;){const y=m.getParentRow();if(!y)break;p.push(y),m=y}return p.reverse()},getAllCells:ze(()=>[e.getAllLeafColumns()],p=>p.map(m=>k3(e,d,m,m.id)),ke(e.options,"debugRows")),_getAllCellsByColumnId:ze(()=>[d.getAllCells()],p=>p.reduce((m,y)=>(m[y.column.id]=y,m),{}),ke(e.options,"debugRows"))};for(let p=0;p{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},L_=(e,n,r)=>{var i,s;const l=r==null||(i=r.toString())==null?void 0:i.toLowerCase();return!!(!((s=e.getValue(n))==null||(s=s.toString())==null||(s=s.toLowerCase())==null)&&s.includes(l))};L_.autoRemove=e=>gr(e);const $_=(e,n,r)=>{var i;return!!(!((i=e.getValue(n))==null||(i=i.toString())==null)&&i.includes(r))};$_.autoRemove=e=>gr(e);const I_=(e,n,r)=>{var i;return((i=e.getValue(n))==null||(i=i.toString())==null?void 0:i.toLowerCase())===r?.toLowerCase()};I_.autoRemove=e=>gr(e);const P_=(e,n,r)=>{var i;return(i=e.getValue(n))==null?void 0:i.includes(r)};P_.autoRemove=e=>gr(e);const F_=(e,n,r)=>!r.some(i=>{var s;return!((s=e.getValue(n))!=null&&s.includes(i))});F_.autoRemove=e=>gr(e)||!(e!=null&&e.length);const V_=(e,n,r)=>r.some(i=>{var s;return(s=e.getValue(n))==null?void 0:s.includes(i)});V_.autoRemove=e=>gr(e)||!(e!=null&&e.length);const U_=(e,n,r)=>e.getValue(n)===r;U_.autoRemove=e=>gr(e);const H_=(e,n,r)=>e.getValue(n)==r;H_.autoRemove=e=>gr(e);const Qp=(e,n,r)=>{let[i,s]=r;const l=e.getValue(n);return l>=i&&l<=s};Qp.resolveFilterValue=e=>{let[n,r]=e,i=typeof n!="number"?parseFloat(n):n,s=typeof r!="number"?parseFloat(r):r,l=n===null||Number.isNaN(i)?-1/0:i,u=r===null||Number.isNaN(s)?1/0:s;if(l>u){const d=l;l=u,u=d}return[l,u]};Qp.autoRemove=e=>gr(e)||gr(e[0])&&gr(e[1]);const ta={includesString:L_,includesStringSensitive:$_,equalsString:I_,arrIncludes:P_,arrIncludesAll:F_,arrIncludesSome:V_,equals:U_,weakEquals:H_,inNumberRange:Qp};function gr(e){return e==null||e===""}const F3={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Fn("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);return typeof i=="string"?ta.includesString:typeof i=="number"?ta.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?ta.equals:Array.isArray(i)?ta.arrIncludes:ta.weakEquals},e.getFilterFn=()=>{var r,i;return ed(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(r=(i=n.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?r:ta[e.columnDef.filterFn]},e.getCanFilter=()=>{var r,i,s;return((r=e.columnDef.enableColumnFilter)!=null?r:!0)&&((i=n.options.enableColumnFilters)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var r;return(r=n.getState().columnFilters)==null||(r=r.find(i=>i.id===e.id))==null?void 0:r.value},e.getFilterIndex=()=>{var r,i;return(r=(i=n.getState().columnFilters)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.setFilterValue=r=>{n.setColumnFilters(i=>{const s=e.getFilterFn(),l=i?.find(y=>y.id===e.id),u=Da(r,l?l.value:void 0);if(vx(s,u,e)){var d;return(d=i?.filter(y=>y.id!==e.id))!=null?d:[]}const p={id:e.id,value:u};if(l){var m;return(m=i?.map(y=>y.id===e.id?p:y))!=null?m:[]}return i!=null&&i.length?[...i,p]:[p]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const r=e.getAllLeafColumns(),i=s=>{var l;return(l=Da(n,s))==null?void 0:l.filter(u=>{const d=r.find(p=>p.id===u.id);if(d){const p=d.getFilterFn();if(vx(p,u.value,d))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=n=>{var r,i;e.setColumnFilters(n?[]:(r=(i=e.initialState)==null?void 0:i.columnFilters)!=null?r:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function vx(e,n,r){return(e&&e.autoRemove?e.autoRemove(n,r):!1)||typeof n>"u"||typeof n=="string"&&!n}const V3=(e,n,r)=>r.reduce((i,s)=>{const l=s.getValue(e);return i+(typeof l=="number"?l:0)},0),U3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i>l||i===void 0&&l>=l)&&(i=l)}),i},H3=(e,n,r)=>{let i;return r.forEach(s=>{const l=s.getValue(e);l!=null&&(i=l)&&(i=l)}),i},B3=(e,n,r)=>{let i,s;return r.forEach(l=>{const u=l.getValue(e);u!=null&&(i===void 0?u>=u&&(i=s=u):(i>u&&(i=u),s{let r=0,i=0;if(n.forEach(s=>{let l=s.getValue(e);l!=null&&(l=+l)>=l&&(++r,i+=l)}),r)return i/r},G3=(e,n)=>{if(!n.length)return;const r=n.map(l=>l.getValue(e));if(!D3(r))return;if(r.length===1)return r[0];const i=Math.floor(r.length/2),s=r.sort((l,u)=>l-u);return r.length%2!==0?s[i]:(s[i-1]+s[i])/2},Z3=(e,n)=>Array.from(new Set(n.map(r=>r.getValue(e))).values()),K3=(e,n)=>new Set(n.map(r=>r.getValue(e))).size,Y3=(e,n)=>n.length,qh={sum:V3,min:U3,max:H3,extent:B3,mean:q3,median:G3,unique:Z3,uniqueCount:K3,count:Y3},Q3={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,r;return(n=(r=e.getValue())==null||r.toString==null?void 0:r.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Fn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(r=>r!=null&&r.includes(e.id)?r.filter(i=>i!==e.id):[...r??[],e.id])},e.getCanGroup=()=>{var r,i;return((r=e.columnDef.enableGrouping)!=null?r:!0)&&((i=n.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.includes(e.id)},e.getGroupedIndex=()=>{var r;return(r=n.getState().grouping)==null?void 0:r.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const r=e.getCanGroup();return()=>{r&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const r=n.getCoreRowModel().flatRows[0],i=r?.getValue(e.id);if(typeof i=="number")return qh.sum;if(Object.prototype.toString.call(i)==="[object Date]")return qh.extent},e.getAggregationFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(r=(i=n.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?r:qh[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var r,i;e.setGrouping(n?[]:(r=(i=e.initialState)==null?void 0:i.grouping)!=null?r:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=r=>{if(e._groupingValuesCache.hasOwnProperty(r))return e._groupingValuesCache[r];const i=n.getColumn(r);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[r]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[r]):e.getValue(r)},e._groupingValuesCache={}},createCell:(e,n,r,i)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===r.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var s;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((s=r.subRows)!=null&&s.length)}}};function X3(e,n,r){if(!(n!=null&&n.length)||!r)return e;const i=e.filter(l=>!n.includes(l.id));return r==="remove"?i:[...n.map(l=>e.find(u=>u.id===l)).filter(Boolean),...i]}const J3={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Fn("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=ze(r=>[Js(n,r)],r=>r.findIndex(i=>i.id===e.id),ke(n.options,"debugColumns")),e.getIsFirstColumn=r=>{var i;return((i=Js(n,r)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=r=>{var i;const s=Js(n,r);return((i=s[s.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var r;e.setColumnOrder(n?[]:(r=e.initialState.columnOrder)!=null?r:[])},e._getOrderColumnsFn=ze(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,r,i)=>s=>{let l=[];if(!(n!=null&&n.length))l=s;else{const u=[...n],d=[...s];for(;d.length&&u.length;){const p=u.shift(),m=d.findIndex(y=>y.id===p);m>-1&&l.push(d.splice(m,1)[0])}l=[...l,...d]}return X3(l,r,i)},ke(e.options,"debugTable"))}},Gh=()=>({left:[],right:[]}),W3={getInitialState:e=>({columnPinning:Gh(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Fn("columnPinning",e)}),createColumn:(e,n)=>{e.pin=r=>{const i=e.getLeafColumns().map(s=>s.id).filter(Boolean);n.setColumnPinning(s=>{var l,u;if(r==="right"){var d,p;return{left:((d=s?.left)!=null?d:[]).filter(v=>!(i!=null&&i.includes(v))),right:[...((p=s?.right)!=null?p:[]).filter(v=>!(i!=null&&i.includes(v))),...i]}}if(r==="left"){var m,y;return{left:[...((m=s?.left)!=null?m:[]).filter(v=>!(i!=null&&i.includes(v))),...i],right:((y=s?.right)!=null?y:[]).filter(v=>!(i!=null&&i.includes(v)))}}return{left:((l=s?.left)!=null?l:[]).filter(v=>!(i!=null&&i.includes(v))),right:((u=s?.right)!=null?u:[]).filter(v=>!(i!=null&&i.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var s,l,u;return((s=i.columnDef.enablePinning)!=null?s:!0)&&((l=(u=n.options.enableColumnPinning)!=null?u:n.options.enablePinning)!=null?l:!0)}),e.getIsPinned=()=>{const r=e.getLeafColumns().map(d=>d.id),{left:i,right:s}=n.getState().columnPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"left":u?"right":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();return s?(r=(i=n.getState().columnPinning)==null||(i=i[s])==null?void 0:i.indexOf(e.id))!=null?r:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(r,i,s)=>{const l=[...i??[],...s??[]];return r.filter(u=>!l.includes(u.column.id))},ke(n.options,"debugRows")),e.getLeftVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"left"})),ke(n.options,"debugRows")),e.getRightVisibleCells=ze(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(r,i)=>(i??[]).map(l=>r.find(u=>u.column.id===l)).filter(Boolean).map(l=>({...l,position:"right"})),ke(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var r,i;return e.setColumnPinning(n?Gh():(r=(i=e.initialState)==null?void 0:i.columnPinning)!=null?r:Gh())},e.getIsSomeColumnsPinned=n=>{var r;const i=e.getState().columnPinning;if(!n){var s,l;return!!((s=i.left)!=null&&s.length||(l=i.right)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e.getLeftLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getRightLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,r)=>(r??[]).map(i=>n.find(s=>s.id===i)).filter(Boolean),ke(e.options,"debugColumns")),e.getCenterLeafColumns=ze(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,r,i)=>{const s=[...r??[],...i??[]];return n.filter(l=>!s.includes(l.id))},ke(e.options,"debugColumns"))}};function e4(e){return e||(typeof document<"u"?document:null)}const Jc={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zh=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),t4={getDefaultColumnDef:()=>Jc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zh(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Fn("columnSizing",e),onColumnSizingInfoChange:Fn("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var r,i,s;const l=n.getState().columnSizing[e.id];return Math.min(Math.max((r=e.columnDef.minSize)!=null?r:Jc.minSize,(i=l??e.columnDef.size)!=null?i:Jc.size),(s=e.columnDef.maxSize)!=null?s:Jc.maxSize)},e.getStart=ze(r=>[r,Js(n,r),n.getState().columnSizing],(r,i)=>i.slice(0,e.getIndex(r)).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.getAfter=ze(r=>[r,Js(n,r),n.getState().columnSizing],(r,i)=>i.slice(e.getIndex(r)+1).reduce((s,l)=>s+l.getSize(),0),ke(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(r=>{let{[e.id]:i,...s}=r;return s})},e.getCanResize=()=>{var r,i;return((r=e.columnDef.enableResizing)!=null?r:!0)&&((i=n.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let r=0;const i=s=>{if(s.subHeaders.length)s.subHeaders.forEach(i);else{var l;r+=(l=s.column.getSize())!=null?l:0}};return i(e),r},e.getStart=()=>{if(e.index>0){const r=e.headerGroup.headers[e.index-1];return r.getStart()+r.getSize()}return 0},e.getResizeHandler=r=>{const i=n.getColumn(e.column.id),s=i?.getCanResize();return l=>{if(!i||!s||(l.persist==null||l.persist(),Kh(l)&&l.touches&&l.touches.length>1))return;const u=e.getSize(),d=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[i.id,i.getSize()]],p=Kh(l)?Math.round(l.touches[0].clientX):l.clientX,m={},y=(R,T)=>{typeof T=="number"&&(n.setColumnSizingInfo(O=>{var N,L;const P=n.options.columnResizeDirection==="rtl"?-1:1,F=(T-((N=O?.startOffset)!=null?N:0))*P,V=Math.max(F/((L=O?.startSize)!=null?L:0),-.999999);return O.columnSizingStart.forEach(ve=>{let[ye,he]=ve;m[ye]=Math.round(Math.max(he+he*V,0)*100)/100}),{...O,deltaOffset:F,deltaPercentage:V}}),(n.options.columnResizeMode==="onChange"||R==="end")&&n.setColumnSizing(O=>({...O,...m})))},v=R=>y("move",R),b=R=>{y("end",R),n.setColumnSizingInfo(T=>({...T,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},x=e4(r),w={moveHandler:R=>v(R.clientX),upHandler:R=>{x?.removeEventListener("mousemove",w.moveHandler),x?.removeEventListener("mouseup",w.upHandler),b(R.clientX)}},_={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),v(R.touches[0].clientX),!1),upHandler:R=>{var T;x?.removeEventListener("touchmove",_.moveHandler),x?.removeEventListener("touchend",_.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),b((T=R.touches[0])==null?void 0:T.clientX)}},E=n4()?{passive:!1}:!1;Kh(l)?(x?.addEventListener("touchmove",_.moveHandler,E),x?.addEventListener("touchend",_.upHandler,E)):(x?.addEventListener("mousemove",w.moveHandler,E),x?.addEventListener("mouseup",w.upHandler,E)),n.setColumnSizingInfo(R=>({...R,startOffset:p,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:d,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var r;e.setColumnSizing(n?{}:(r=e.initialState.columnSizing)!=null?r:{})},e.resetHeaderSizeInfo=n=>{var r;e.setColumnSizingInfo(n?Zh():(r=e.initialState.columnSizingInfo)!=null?r:Zh())},e.getTotalSize=()=>{var n,r;return(n=(r=e.getHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,r;return(n=(r=e.getLeftHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,r;return(n=(r=e.getCenterHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,r;return(n=(r=e.getRightHeaderGroups()[0])==null?void 0:r.headers.reduce((i,s)=>i+s.getSize(),0))!=null?n:0}}};let Wc=null;function n4(){if(typeof Wc=="boolean")return Wc;let e=!1;try{const n={get passive(){return e=!0,!1}},r=()=>{};window.addEventListener("test",r,n),window.removeEventListener("test",r)}catch{e=!1}return Wc=e,Wc}function Kh(e){return e.type==="touchstart"}const r4={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Fn("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=r=>{e.getCanHide()&&n.setColumnVisibility(i=>({...i,[e.id]:r??!e.getIsVisible()}))},e.getIsVisible=()=>{var r,i;const s=e.columns;return(r=s.length?s.some(l=>l.getIsVisible()):(i=n.getState().columnVisibility)==null?void 0:i[e.id])!=null?r:!0},e.getCanHide=()=>{var r,i;return((r=e.columnDef.enableHiding)!=null?r:!0)&&((i=n.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>r=>{e.toggleVisibility==null||e.toggleVisibility(r.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=ze(()=>[e.getAllCells(),n.getState().columnVisibility],r=>r.filter(i=>i.column.getIsVisible()),ke(n.options,"debugRows")),e.getVisibleCells=ze(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(r,i,s)=>[...r,...i,...s],ke(n.options,"debugRows"))},createTable:e=>{const n=(r,i)=>ze(()=>[i(),i().filter(s=>s.getIsVisible()).map(s=>s.id).join("_")],s=>s.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),ke(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=r=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(r),e.resetColumnVisibility=r=>{var i;e.setColumnVisibility(r?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=r=>{var i;r=(i=r)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((s,l)=>({...s,[l.id]:r||!(l.getCanHide!=null&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(r=>!(r.getIsVisible!=null&&r.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(r=>r.getIsVisible==null?void 0:r.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>r=>{var i;e.toggleAllColumnsVisible((i=r.target)==null?void 0:i.checked)}}};function Js(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const a4={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},i4={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Fn("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var r;const i=(r=e.getCoreRowModel().flatRows[0])==null||(r=r._getAllCellsByColumnId()[n.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var r,i,s,l;return((r=e.columnDef.enableGlobalFilter)!=null?r:!0)&&((i=n.options.enableGlobalFilter)!=null?i:!0)&&((s=n.options.enableFilters)!=null?s:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ta.includesString,e.getGlobalFilterFn=()=>{var n,r;const{globalFilterFn:i}=e.options;return ed(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(n=(r=e.options.filterFns)==null?void 0:r[i])!=null?n:ta[i]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},o4={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Fn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,r=!1;e._autoResetExpanded=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(r)return;r=!0,e._queue(()=>{e.resetExpanded(),r=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var s,l;e.setExpanded(i?{}:(s=(l=e.initialState)==null?void 0:l.expanded)!=null?s:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(s=>!s.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{const u=l.split(".");i=Math.max(i,u.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=r=>{n.setExpanded(i=>{var s;const l=i===!0?!0:!!(i!=null&&i[e.id]);let u={};if(i===!0?Object.keys(n.getRowModel().rowsById).forEach(d=>{u[d]=!0}):u=i,r=(s=r)!=null?s:!l,!l&&r)return{...u,[e.id]:!0};if(l&&!r){const{[e.id]:d,...p}=u;return p}return i})},e.getIsExpanded=()=>{var r;const i=n.getState().expanded;return!!((r=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?r:i===!0||i?.[e.id])},e.getCanExpand=()=>{var r,i,s;return(r=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?r:((i=n.options.enableExpanding)!=null?i:!0)&&!!((s=e.subRows)!=null&&s.length)},e.getIsAllParentsExpanded=()=>{let r=!0,i=e;for(;r&&i.parentId;)i=n.getRow(i.parentId,!0),r=i.getIsExpanded();return r},e.getToggleExpandedHandler=()=>{const r=e.getCanExpand();return()=>{r&&e.toggleExpanded()}}}},km=0,Lm=10,Yh=()=>({pageIndex:km,pageSize:Lm}),s4={getInitialState:e=>({...e,pagination:{...Yh(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Fn("pagination",e)}),createTable:e=>{let n=!1,r=!1;e._autoResetPageIndex=()=>{var i,s;if(!n){e._queue(()=>{n=!0});return}if((i=(s=e.options.autoResetAll)!=null?s:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(r)return;r=!0,e._queue(()=>{e.resetPageIndex(),r=!1})}},e.setPagination=i=>{const s=l=>Da(i,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(s)},e.resetPagination=i=>{var s;e.setPagination(i?Yh():(s=e.initialState.pagination)!=null?s:Yh())},e.setPageIndex=i=>{e.setPagination(s=>{let l=Da(i,s.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,u)),{...s,pageIndex:l}})},e.resetPageIndex=i=>{var s,l;e.setPageIndex(i?km:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageIndex)!=null?s:km)},e.resetPageSize=i=>{var s,l;e.setPageSize(i?Lm:(s=(l=e.initialState)==null||(l=l.pagination)==null?void 0:l.pageSize)!=null?s:Lm)},e.setPageSize=i=>{e.setPagination(s=>{const l=Math.max(1,Da(i,s.pageSize)),u=s.pageSize*s.pageIndex,d=Math.floor(u/l);return{...s,pageIndex:d,pageSize:l}})},e.setPageCount=i=>e.setPagination(s=>{var l;let u=Da(i,(l=e.options.pageCount)!=null?l:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...s,pageCount:u}}),e.getPageOptions=ze(()=>[e.getPageCount()],i=>{let s=[];return i&&i>0&&(s=[...new Array(i)].fill(null).map((l,u)=>u)),s},ke(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,s=e.getPageCount();return s===-1?!0:s===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},Qh=()=>({top:[],bottom:[]}),l4={getInitialState:e=>({rowPinning:Qh(),...e}),getDefaultOptions:e=>({onRowPinningChange:Fn("rowPinning",e)}),createRow:(e,n)=>{e.pin=(r,i,s)=>{const l=i?e.getLeafRows().map(p=>{let{id:m}=p;return m}):[],u=s?e.getParentRows().map(p=>{let{id:m}=p;return m}):[],d=new Set([...u,e.id,...l]);n.setRowPinning(p=>{var m,y;if(r==="bottom"){var v,b;return{top:((v=p?.top)!=null?v:[]).filter(_=>!(d!=null&&d.has(_))),bottom:[...((b=p?.bottom)!=null?b:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)]}}if(r==="top"){var x,w;return{top:[...((x=p?.top)!=null?x:[]).filter(_=>!(d!=null&&d.has(_))),...Array.from(d)],bottom:((w=p?.bottom)!=null?w:[]).filter(_=>!(d!=null&&d.has(_)))}}return{top:((m=p?.top)!=null?m:[]).filter(_=>!(d!=null&&d.has(_))),bottom:((y=p?.bottom)!=null?y:[]).filter(_=>!(d!=null&&d.has(_)))}})},e.getCanPin=()=>{var r;const{enableRowPinning:i,enablePinning:s}=n.options;return typeof i=="function"?i(e):(r=i??s)!=null?r:!0},e.getIsPinned=()=>{const r=[e.id],{top:i,bottom:s}=n.getState().rowPinning,l=r.some(d=>i?.includes(d)),u=r.some(d=>s?.includes(d));return l?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var r,i;const s=e.getIsPinned();if(!s)return-1;const l=(r=s==="top"?n.getTopRows():n.getBottomRows())==null?void 0:r.map(u=>{let{id:d}=u;return d});return(i=l?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var r,i;return e.setRowPinning(n?Qh():(r=(i=e.initialState)==null?void 0:i.rowPinning)!=null?r:Qh())},e.getIsSomeRowsPinned=n=>{var r;const i=e.getState().rowPinning;if(!n){var s,l;return!!((s=i.top)!=null&&s.length||(l=i.bottom)!=null&&l.length)}return!!((r=i[n])!=null&&r.length)},e._getPinnedRows=(n,r,i)=>{var s;return((s=e.options.keepPinnedRows)==null||s?(r??[]).map(u=>{const d=e.getRow(u,!0);return d.getIsAllParentsExpanded()?d:null}):(r??[]).map(u=>n.find(d=>d.id===u))).filter(Boolean).map(u=>({...u,position:i}))},e.getTopRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,r)=>e._getPinnedRows(n,r,"top"),ke(e.options,"debugRows")),e.getBottomRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,r)=>e._getPinnedRows(n,r,"bottom"),ke(e.options,"debugRows")),e.getCenterRows=ze(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,r,i)=>{const s=new Set([...r??[],...i??[]]);return n.filter(l=>!s.has(l.id))},ke(e.options,"debugRows"))}},c4={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Fn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var r;return e.setRowSelection(n?{}:(r=e.initialState.rowSelection)!=null?r:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(r=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const i={...r},s=e.getPreGroupedRowModel().flatRows;return n?s.forEach(l=>{l.getCanSelect()&&(i[l.id]=!0)}):s.forEach(l=>{delete i[l.id]}),i})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(r=>{const i=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),s={...r};return e.getRowModel().rows.forEach(l=>{$m(s,l.id,i,!0,e)}),s}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getFilteredSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getGroupedSelectedRowModel=ze(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,r)=>Object.keys(n).length?Xh(e,r):{rows:[],flatRows:[],rowsById:{}},ke(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:r}=e.getState();let i=!!(n.length&&Object.keys(r).length);return i&&n.some(s=>s.getCanSelect()&&!r[s.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(s=>s.getCanSelect()),{rowSelection:r}=e.getState();let i=!!n.length;return i&&n.some(s=>!r[s.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var n;const r=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return r>0&&r{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(r=>r.getCanSelect()).some(r=>r.getIsSelected()||r.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(r,i)=>{const s=e.getIsSelected();n.setRowSelection(l=>{var u;if(r=typeof r<"u"?r:!s,e.getCanSelect()&&s===r)return l;const d={...l};return $m(d,e.id,r,(u=i?.selectChildren)!=null?u:!0,n),d})},e.getIsSelected=()=>{const{rowSelection:r}=n.getState();return Xp(e,r)},e.getIsSomeSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=n.getState();return Im(e,r)==="all"},e.getCanSelect=()=>{var r;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(r=n.options.enableRowSelection)!=null?r:!0},e.getCanSelectSubRows=()=>{var r;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(r=n.options.enableSubRowSelection)!=null?r:!0},e.getCanMultiSelect=()=>{var r;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(r=n.options.enableMultiRowSelection)!=null?r:!0},e.getToggleSelectedHandler=()=>{const r=e.getCanSelect();return i=>{var s;r&&e.toggleSelected((s=i.target)==null?void 0:s.checked)}}}},$m=(e,n,r,i,s)=>{var l;const u=s.getRow(n,!0);r?(u.getCanMultiSelect()||Object.keys(e).forEach(d=>delete e[d]),u.getCanSelect()&&(e[n]=!0)):delete e[n],i&&(l=u.subRows)!=null&&l.length&&u.getCanSelectSubRows()&&u.subRows.forEach(d=>$m(e,d.id,r,i,s))};function Xh(e,n){const r=e.getState().rowSelection,i=[],s={},l=function(u,d){return u.map(p=>{var m;const y=Xp(p,r);if(y&&(i.push(p),s[p.id]=p),(m=p.subRows)!=null&&m.length&&(p={...p,subRows:l(p.subRows)}),y)return p}).filter(Boolean)};return{rows:l(n.rows),flatRows:i,rowsById:s}}function Xp(e,n){var r;return(r=n[e.id])!=null?r:!1}function Im(e,n,r){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let s=!0,l=!1;return e.subRows.forEach(u=>{if(!(l&&!s)&&(u.getCanSelect()&&(Xp(u,n)?l=!0:s=!1),u.subRows&&u.subRows.length)){const d=Im(u,n);d==="all"?l=!0:(d==="some"&&(l=!0),s=!1)}}),s?"all":l?"some":!1}const Pm=/([0-9]+)/gm,u4=(e,n,r)=>B_(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),d4=(e,n,r)=>B_(Ba(e.getValue(r)),Ba(n.getValue(r))),f4=(e,n,r)=>Jp(Ba(e.getValue(r)).toLowerCase(),Ba(n.getValue(r)).toLowerCase()),h4=(e,n,r)=>Jp(Ba(e.getValue(r)),Ba(n.getValue(r))),m4=(e,n,r)=>{const i=e.getValue(r),s=n.getValue(r);return i>s?1:iJp(e.getValue(r),n.getValue(r));function Jp(e,n){return e===n?0:e>n?1:-1}function Ba(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function B_(e,n){const r=e.split(Pm).filter(Boolean),i=n.split(Pm).filter(Boolean);for(;r.length&&i.length;){const s=r.shift(),l=i.shift(),u=parseInt(s,10),d=parseInt(l,10),p=[u,d].sort();if(isNaN(p[0])){if(s>l)return 1;if(l>s)return-1;continue}if(isNaN(p[1]))return isNaN(u)?-1:1;if(u>d)return 1;if(d>u)return-1}return r.length-i.length}const Us={alphanumeric:u4,alphanumericCaseSensitive:d4,text:f4,textCaseSensitive:h4,datetime:m4,basic:p4},g4={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Fn("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const r=n.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const s of r){const l=s?.getValue(e.id);if(Object.prototype.toString.call(l)==="[object Date]")return Us.datetime;if(typeof l=="string"&&(i=!0,l.split(Pm).length>1))return Us.alphanumeric}return i?Us.text:Us.basic},e.getAutoSortDir=()=>{const r=n.getFilteredRowModel().flatRows[0];return typeof r?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var r,i;if(!e)throw new Error;return ed(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(r=(i=n.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?r:Us[e.columnDef.sortingFn]},e.toggleSorting=(r,i)=>{const s=e.getNextSortingOrder(),l=typeof r<"u"&&r!==null;n.setSorting(u=>{const d=u?.find(x=>x.id===e.id),p=u?.findIndex(x=>x.id===e.id);let m=[],y,v=l?r:s==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&i?d?y="toggle":y="add":u!=null&&u.length&&p!==u.length-1?y="replace":d?y="toggle":y="replace",y==="toggle"&&(l||s||(y="remove")),y==="add"){var b;m=[...u,{id:e.id,desc:v}],m.splice(0,m.length-((b=n.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else y==="toggle"?m=u.map(x=>x.id===e.id?{...x,desc:v}:x):y==="remove"?m=u.filter(x=>x.id!==e.id):m=[{id:e.id,desc:v}];return m})},e.getFirstSortDir=()=>{var r,i;return((r=(i=e.columnDef.sortDescFirst)!=null?i:n.options.sortDescFirst)!=null?r:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=r=>{var i,s;const l=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==l&&((i=n.options.enableSortingRemoval)==null||i)&&(!(r&&(s=n.options.enableMultiRemove)!=null)||s)?!1:u==="desc"?"asc":"desc":l},e.getCanSort=()=>{var r,i;return((r=e.columnDef.enableSorting)!=null?r:!0)&&((i=n.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var r,i;return(r=(i=e.columnDef.enableMultiSort)!=null?i:n.options.enableMultiSort)!=null?r:!!e.accessorFn},e.getIsSorted=()=>{var r;const i=(r=n.getState().sorting)==null?void 0:r.find(s=>s.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var r,i;return(r=(i=n.getState().sorting)==null?void 0:i.findIndex(s=>s.id===e.id))!=null?r:-1},e.clearSorting=()=>{n.setSorting(r=>r!=null&&r.length?r.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const r=e.getCanSort();return i=>{r&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var r,i;e.setSorting(n?[]:(r=(i=e.initialState)==null?void 0:i.sorting)!=null?r:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},v4=[$3,r4,J3,W3,P3,F3,a4,i4,g4,Q3,o4,s4,l4,c4,t4];function y4(e){var n,r;const i=[...v4,...(n=e._features)!=null?n:[]];let s={_features:i};const l=s._features.reduce((b,x)=>Object.assign(b,x.getDefaultOptions==null?void 0:x.getDefaultOptions(s)),{}),u=b=>s.options.mergeOptions?s.options.mergeOptions(l,b):{...l,...b};let p={...{},...(r=e.initialState)!=null?r:{}};s._features.forEach(b=>{var x;p=(x=b.getInitialState==null?void 0:b.getInitialState(p))!=null?x:p});const m=[];let y=!1;const v={_features:i,options:{...l,...e},initialState:p,_queue:b=>{m.push(b),y||(y=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();y=!1}).catch(x=>setTimeout(()=>{throw x})))},reset:()=>{s.setState(s.initialState)},setOptions:b=>{const x=Da(b,s.options);s.options=u(x)},getState:()=>s.options.state,setState:b=>{s.options.onStateChange==null||s.options.onStateChange(b)},_getRowId:(b,x,w)=>{var _;return(_=s.options.getRowId==null?void 0:s.options.getRowId(b,x,w))!=null?_:`${w?[w.id,x].join("."):x}`},getCoreRowModel:()=>(s._getCoreRowModel||(s._getCoreRowModel=s.options.getCoreRowModel(s)),s._getCoreRowModel()),getRowModel:()=>s.getPaginationRowModel(),getRow:(b,x)=>{let w=(x?s.getPrePaginationRowModel():s.getRowModel()).rowsById[b];if(!w&&(w=s.getCoreRowModel().rowsById[b],!w))throw new Error;return w},_getDefaultColumnDef:ze(()=>[s.options.defaultColumn],b=>{var x;return b=(x=b)!=null?x:{},{header:w=>{const _=w.header.column.columnDef;return _.accessorKey?_.accessorKey:_.accessorFn?_.id:null},cell:w=>{var _,E;return(_=(E=w.renderValue())==null||E.toString==null?void 0:E.toString())!=null?_:null},...s._features.reduce((w,_)=>Object.assign(w,_.getDefaultColumnDef==null?void 0:_.getDefaultColumnDef()),{}),...b}},ke(e,"debugColumns")),_getColumnDefs:()=>s.options.columns,getAllColumns:ze(()=>[s._getColumnDefs()],b=>{const x=function(w,_,E){return E===void 0&&(E=0),w.map(R=>{const T=L3(s,R,E,_),O=R;return T.columns=O.columns?x(O.columns,T,E+1):[],T})};return x(b)},ke(e,"debugColumns")),getAllFlatColumns:ze(()=>[s.getAllColumns()],b=>b.flatMap(x=>x.getFlatColumns()),ke(e,"debugColumns")),_getAllFlatColumnsById:ze(()=>[s.getAllFlatColumns()],b=>b.reduce((x,w)=>(x[w.id]=w,x),{}),ke(e,"debugColumns")),getAllLeafColumns:ze(()=>[s.getAllColumns(),s._getOrderColumnsFn()],(b,x)=>{let w=b.flatMap(_=>_.getLeafColumns());return x(w)},ke(e,"debugColumns")),getColumn:b=>s._getAllFlatColumnsById()[b]};Object.assign(s,v);for(let b=0;bze(()=>[e.options.data],n=>{const r={rows:[],flatRows:[],rowsById:{}},i=function(s,l,u){l===void 0&&(l=0);const d=[];for(let m=0;me._autoResetPageIndex()))}function G_(){return e=>ze(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,r)=>{if(!r.rows.length||!(n!=null&&n.length))return r;const i=e.getState().sorting,s=[],l=i.filter(p=>{var m;return(m=e.getColumn(p.id))==null?void 0:m.getCanSort()}),u={};l.forEach(p=>{const m=e.getColumn(p.id);m&&(u[p.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const d=p=>{const m=p.map(y=>({...y}));return m.sort((y,v)=>{for(let x=0;x{var v;s.push(y),(v=y.subRows)!=null&&v.length&&(y.subRows=d(y.subRows))}),m};return{rows:d(r.rows),flatRows:s,rowsById:r.rowsById}},ke(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function Fm(e,n){return e?b4(e)?S.createElement(e,n):e:null}function b4(e){return x4(e)||typeof e=="function"||w4(e)}function x4(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function w4(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Z_(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=S.useState(()=>({current:y4(n)})),[i,s]=S.useState(()=>r.current.initialState);return r.current.setOptions(l=>({...l,...e,state:{...i,...e.state},onStateChange:u=>{s(u),e.onStateChange==null||e.onStateChange(u)}})),r.current}var El=e=>e.type==="checkbox",za=e=>e instanceof Date,an=e=>e==null;const Wp=e=>typeof e=="object";var Rt=e=>!an(e)&&!Array.isArray(e)&&Wp(e)&&!za(e),S4=e=>Rt(e)&&e.target?El(e.target)?e.target.checked:e.target.value:e,_4=(e,n)=>n.split(".").some((r,i,s)=>!isNaN(Number(r))&&e.has(s.slice(0,i).join("."))),K_=e=>{const n=e.constructor&&e.constructor.prototype;return Rt(n)&&n.hasOwnProperty("isPrototypeOf")},td=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Mt(e){if(e instanceof Date)return new Date(e);const n=typeof FileList<"u"&&e instanceof FileList;if(td&&(e instanceof Blob||n))return e;const r=Array.isArray(e);if(!r&&!(Rt(e)&&K_(e)))return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=Mt(e[s]));return i}const jo={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},pr={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},hr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Y_="root",eg=["__proto__","constructor","prototype"],C4=/^\w*$/;var Rl=e=>C4.test(e),gt=e=>e===void 0;const E4=/[.[\]'"]/;var nd=e=>e.split(E4).filter(Boolean),Se=(e,n,r)=>{if(!n||!Rt(e))return r;const i=Rl(n)?[n]:nd(n);if(i.some(l=>eg.includes(l)))return r;const s=i.reduce((l,u)=>an(l)?void 0:l[u],e);return gt(s)||s===e?gt(e[n])?r:e[n]:s},Tr=e=>typeof e=="boolean",Jn=e=>typeof e=="function",ct=(e,n,r)=>{let i=-1;const s=Rl(n)?[n]:nd(n),l=s.length,u=l-1;for(;++i{const s={};for(const l in e)Object.defineProperty(s,l,{get:()=>{const u=l;return n._proxyFormState[u]!==pr.all&&(n._proxyFormState[u]=!i||pr.all),e[u]}});return s};const T4=td?me.useLayoutEffect:me.useEffect;var sn=e=>typeof e=="string",O4=(e,n,r,i,s)=>sn(e)?(i&&n.watch.add(e),Se(r,e,s)):Array.isArray(e)?e.map(l=>(i&&n.watch.add(l),Se(r,l))):(i&&(n.watchAll=!0),r),Vm=e=>an(e)||!Wp(e);const yx=(e,n)=>n.length===0&&!Array.isArray(e)&&!K_(e);function Or(e,n,r=new WeakMap){if(e===n)return!0;if(Vm(e)||Vm(n))return Object.is(e,n);if(za(e)&&za(n))return Object.is(e.getTime(),n.getTime());const i=Object.keys(e),s=Object.keys(n);if(i.length!==s.length)return!1;if(yx(e,i)||yx(n,s))return Object.is(e,n);if(!i.length&&Array.isArray(e)!==Array.isArray(n))return!1;const l=r.get(e);if(l&&l.has(n))return!0;if(l)l.add(n);else{const u=new WeakSet;u.add(n),r.set(e,u)}for(const u of i){const d=e[u];if(!(u in n))return!1;if(u!=="ref"){const p=n[u];if(za(d)&&za(p)||(Rt(d)||Array.isArray(d))&&(Rt(p)||Array.isArray(p))?!Or(d,p,r):!Object.is(d,p))return!1}}return!0}var eu=e=>({isOnSubmit:!e||e===pr.onSubmit,isOnBlur:e===pr.onBlur,isOnChange:e===pr.onChange,isOnAll:e===pr.all,isOnTouch:e===pr.onTouched}),Jh=(e,n,r)=>{if(r)return!1;if(n.watchAll||n.watch.has(e))return!0;for(const i of n.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Ws=(e,n,r,i)=>{for(const s of r||Object.keys(e)){const l=Se(e,s);if(l){const{_f:u,...d}=l;if(u){if(u.refs&&u.refs[0]&&n(u.refs[0],s)&&!i)return!0;if(u.ref&&n(u.ref,u.name)&&!i)return!0;if(Ws(d,n))break}else if(Rt(d)&&Ws(d,n))break}}};var bx=(e,n,r)=>{const i=Se(e,r),s=Array.isArray(i)?i:[];return ct(s,Y_,n[r]),ct(e,r,s),e},rn=e=>Rt(e)&&!Object.keys(e).length,tg=e=>e.type==="file",_u=e=>{if(!td)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},ng=e=>e.type==="radio",Cu=e=>e instanceof RegExp,rg=(e,n,r,i,s)=>n?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:s||!0}}:{};const xx={value:!1,isValid:!1},wx={value:!0,isValid:!0};var Q_=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gt(e[0].attributes.value)?gt(e[0].value)||e[0].value===""?wx:{value:e[0].value,isValid:!0}:wx:xx}return xx};const Sx={isValid:!1,value:null};var X_=e=>Array.isArray(e)?e.reduce((n,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:n,Sx):Sx;function _x(e,n,r="validate"){if(sn(e)||Array.isArray(e)&&e.every(sn)||Tr(e)&&!e)return{type:r,message:sn(e)?e:"",ref:n}}var To=e=>Rt(e)&&!Cu(e)?e:{value:e,message:""},Cx=async(e,n,r,i,s,l)=>{const{ref:u,refs:d,required:p,maxLength:m,minLength:y,min:v,max:b,pattern:x,validate:w,name:_,valueAsNumber:E,mount:R}=e._f,T=Se(r,_);if(!R||n.has(_))return{};const O=d?d[0]:u,N=X=>{if(s&&O.reportValidity){const ae=Tr(X)?"":X||"";d?d.forEach(pe=>pe.setCustomValidity(ae)):O.setCustomValidity(ae),O.reportValidity()}},L={},P=ng(u),F=El(u),V=P||F,ve=(E||tg(u))&>(u.value)&>(T)||_u(u)&&u.value===""||T===""||Array.isArray(T)&&!T.length,ye=rg.bind(null,_,i,L),he=(X,ae,pe,xe=hr.maxLength,z=hr.minLength)=>{const Q=X?ae:pe;L[_]={type:X?xe:z,message:Q,ref:u,...ye(X?xe:z,Q)}};if(l?!Array.isArray(T)||!T.length:p&&(!V&&(ve||an(T))||Tr(T)&&!T||F&&!Q_(d).isValid||P&&!X_(d).isValid)){const{value:X,message:ae}=sn(p)?{value:!!p,message:p}:To(p);if(X&&(L[_]={type:hr.required,message:ae,ref:O,...ye(hr.required,ae)},!i))return N(ae),L}if(!ve&&(!an(v)||!an(b))){let X,ae;const pe=To(b),xe=To(v);if(!an(T)&&!isNaN(T)){const z=u.valueAsNumber||T&&+T;an(pe.value)||(X=z>pe.value),an(xe.value)||(ae=znew Date(new Date().toDateString()+" "+te),oe=u.type=="time",W=u.type=="week";sn(pe.value)&&T&&(X=oe?Q(T)>Q(pe.value):W?T>pe.value:z>new Date(pe.value)),sn(xe.value)&&T&&(ae=oe?Q(T)+X.value,xe=!an(ae.value)&&T.length<+ae.value;if((pe||xe)&&(he(pe,X.message,ae.message),!i))return N(L[_].message),L}if(x&&!ve&&sn(T)){const{value:X,message:ae}=To(x);if(Cu(X)&&!T.match(X)&&(L[_]={type:hr.pattern,message:ae,ref:u,...ye(hr.pattern,ae)},!i))return N(ae),L}if(w){if(Jn(w)){const X=await w(T,r),ae=_x(X,O);if(ae&&(L[_]={...ae,...ye(hr.validate,ae.message)},!i))return N(ae.message),L}else if(Rt(w)){let X={};for(const ae in w){if(!rn(X)&&!i)break;const pe=_x(await w[ae](T,r),O,ae);pe&&(X={...pe,...ye(ae,pe.message)},N(pe.message),i&&(L[_]=X))}if(!rn(X)&&(L[_]={ref:O,...X},!i))return L}}return N(!0),L},cu=e=>Array.isArray(e)?e:[e],J_=e=>Array.isArray(e)?e.filter(Boolean):[];function A4(e,n){const r=n.slice(0,-1).length;let i=0;for(;ieg.includes(String(u))))return e;const i=r.length===1?e:A4(e,r),s=r.length-1,l=r[s];return i&&delete i[l],s!==0&&(Rt(i)&&rn(i)||Array.isArray(i)&&M4(i))&&Nt(e,r.slice(0,-1)),e}const W_=e=>{const n={};for(const r of Object.keys(e))if(Wp(e[r])&&e[r]!==null&&!za(e[r])){const i=W_(e[r]);for(const s of Object.keys(i))n[`${r}.${s}`]=i[s]}else n[r]=e[r];return n},N4=me.createContext(null);N4.displayName="HookFormContext";var Ex=()=>{let e=[];return{get observers(){return e},next:s=>{for(const l of e)l.next&&l.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(l=>l!==s)}}),unsubscribe:()=>{e=[]}}};function eC(e,n){const r={};for(const i in e)if(e.hasOwnProperty(i)){const s=e[i],l=n[i];if(s&&Rt(s)&&l){const u=eC(s,l);Rt(u)&&(r[i]=u)}else e[i]&&(r[i]=l)}return r}var tC=e=>e.type==="select-multiple",D4=e=>ng(e)||El(e),Wh=e=>_u(e)&&e.isConnected,z4=e=>{for(const n in e)if(Jn(e[n]))return!0;return!1};function nC(e){return Array.isArray(e)||Rt(e)&&!z4(e)}function rC(e){return!!(e&&"_f"in e)}function aC(e){return Array.isArray(e)?!e.some(n=>!gt(n)):!Object.keys(e).length}function Um(e,n){Array.isArray(e)?e[n]=void 0:delete e[n]}function Hm(e,n={},r){for(const i in e){const s=e[i],l=r&&r[i];nC(s)&&(!Array.isArray(s)||!rC(l))?(n[i]=Array.isArray(s)?[]:{},Hm(s,n[i],l),aC(n[i])&&Um(n,i)):gt(s)||(n[i]=!0)}return n}function bi(e,n,r,i){r||(r=Hm(n,{},i));for(const s in e){const l=e[s],u=i&&i[s];nC(l)&&(!Array.isArray(l)||!rC(u))?(gt(n)||Vm(r[s])?r[s]=Hm(l,Array.isArray(l)?[]:{},u):bi(l,an(n)?{}:n[s],r[s],u),aC(r[s])&&Um(r,s)):Or(l,n[s])?Um(r,s):r[s]=!0}return r}var iC=(e,{valueAsNumber:n,valueAsDate:r,setValueAs:i})=>gt(e)?e:n?e===""?NaN:e&&+e:r&&sn(e)?new Date(e):i?i(e):e;function Rx(e){const n=e.ref;return tg(n)?n.files:ng(n)?X_(e.refs).value:tC(n)?[...n.selectedOptions].map(({value:r})=>r):El(n)?Q_(e.refs).value:iC(gt(n.value)?e.ref.value:n.value,e)}var k4=(e,n,r,i)=>{const s={};for(const l of e){const u=Se(n,l);u&&ct(s,l,u._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:i}},Hs=e=>gt(e)?e:Cu(e)?e.source:Rt(e)?Cu(e.value)?e.value.source:e.value:e;const jx="AsyncFunction";var L4=e=>{if(!e||!e.validate)return!1;if(Jn(e.validate))return e.validate.constructor.name===jx;if(Rt(e.validate)){for(const n in e.validate)if(e.validate[n].constructor.name===jx)return!0}return!1},$4=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Tx(e,n,r){const i=Se(e,r);if(i||Rl(r))return{error:i,name:r};const s=r.split(".");for(;s.length;){const l=s.join("."),u=Se(n,l),d=Se(e,l);if(u&&!Array.isArray(u)&&r!==l)return{name:r};if(d&&d.type)return{name:l,error:d};if(d&&d.root&&d.root.type)return{name:`${l}.root`,error:d.root};s.pop()}return{name:r}}var I4=(e,n,r,i)=>{r(e);const{name:s,...l}=e,u=Object.keys(l);return!u.length||i&&u.length>=Object.keys(n).length||u.find(d=>n[d]===(!i||pr.all))},P4=(e,n,r)=>!e||!n||e===n||cu(e).some(i=>i&&(r?i===n||i.startsWith(n+"."):i.startsWith(n)||n.startsWith(i))),F4=(e,n,r,i,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(n||e):(r?i.isOnBlur:s.isOnBlur)?!e:(r?i.isOnChange:s.isOnChange)?e:!0,V4=(e,n)=>!J_(Se(e,n)).length&&Nt(e,n);const U4={mode:pr.onSubmit,reValidateMode:pr.onChange,shouldFocusError:!0},em="form",oC={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function H4(e={}){let n={...U4,...e},r={...Mt(oC),isLoading:Jn(n.defaultValues),errors:n.errors||{},disabled:n.disabled||!1},i={},s=Rt(n.defaultValues)||Rt(n.values)?Mt(n.defaultValues||n.values)||{}:{},l=n.shouldUnregister?{}:Mt(s),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const p={},m={};let y=0,v=eu(n.mode),b=eu(n.reValidateMode);const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},w={...x};let _={...w};const E={array:Ex(),state:Ex()};let R=0;const T=n.criteriaMode===pr.all,O=(A,I)=>U=>{clearTimeout(m[A]),m[A]=setTimeout(I,U)},N=async A=>{if(!u.keepIsValid&&!n.disabled&&(w.isValid||_.isValid||A)){const I=++R;let U;n.resolver?(U=rn((await pe()).errors),I===R&&L()):U=await Q({fields:i,onlyCheckValid:!0,eventType:jo.VALID}),I===R&&U!==r.isValid&&E.state.next({isValid:U})}},L=(A,I)=>{!n.disabled&&(w.isValidating||w.validatingFields||_.isValidating||_.validatingFields)&&((A||Array.from(d.mount)).forEach(U=>{U&&(I?ct(r.validatingFields,U,I):Nt(r.validatingFields,U))}),E.state.next({validatingFields:r.validatingFields,isValidating:!rn(r.validatingFields)}))},P=()=>{r.dirtyFields=bi(s,l,void 0,i)},F=(A,I=[],U,ue,Z=!0,ne=!0)=>{if(ue&&U&&!n.disabled){if(u.action=!0,ne&&Array.isArray(Se(i,A))){const de=U(Se(i,A),ue.argA,ue.argB);Z&&ct(i,A,de)}if(ne&&Array.isArray(Se(r.errors,A))){const de=U(Se(r.errors,A),ue.argA,ue.argB);Z&&ct(r.errors,A,de),V4(r.errors,A)}if((w.touchedFields||_.touchedFields)&&ne&&Array.isArray(Se(r.touchedFields,A))){const de=U(Se(r.touchedFields,A),ue.argA,ue.argB);Z&&ct(r.touchedFields,A,de)}(w.dirtyFields||_.dirtyFields)&&P(),E.state.next({name:A,isDirty:W(A,I),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else ct(l,A,I)},V=(A,I)=>{ct(r.errors,A,I),r.errors={...r.errors},E.state.next({errors:r.errors})},ve=A=>{r.errors=A,E.state.next({errors:r.errors,isValid:!1})},ye=A=>{const I=Rl(A)?[A]:nd(A);let U=l,ue=s;for(let Z=0;Z{const Z=Se(i,A);if(Z){if(ye(A))return;const ne=gt(Se(l,A)),de=Se(l,A,gt(U)?Se(s,A):U);gt(de)||ue&&ue.defaultChecked||I?ct(l,A,I?de:Rx(Z._f)):M(A,de),u.mount&&!u.action&&(N(),ne&&r.isDirty&&(w.isDirty||_.isDirty)&&(W()||(r.isDirty=!1,E.state.next({...r}))),e.shouldUnregister&&ne&&!gt(Se(l,A))&&Jh(A,d)&&(u.watch=!0))}},X=(A,I,U,ue,Z)=>{let ne=!1,de=!1;const we={name:A};if(!n.disabled||ue===!0){if(!U||ue){const Ee=Or(Se(s,A),I);(w.isDirty||_.isDirty)&&(de=r.isDirty,r.isDirty=we.isDirty=!Ee||W(),ne=de!==we.isDirty),de=!!Se(r.dirtyFields,A),Ee!==r.isDirty?r.dirtyFields=bi(s,l,void 0,i):Ee?Nt(r.dirtyFields,A):ct(r.dirtyFields,A,!0),we.dirtyFields=r.dirtyFields,ne=ne||(w.dirtyFields||_.dirtyFields)&&de!==!Ee}if(U){const Ee=Se(r.touchedFields,A);Ee||(ct(r.touchedFields,A,U),we.touchedFields=r.touchedFields,ne=ne||(w.touchedFields||_.touchedFields)&&Ee!==U)}ne&&Z&&E.state.next(we)}return ne?we:{}},ae=(A,I,U,ue)=>{const Z=Se(r.errors,A),ne=(w.isValid||_.isValid)&&Tr(I)&&r.isValid!==I;if(n.delayError&&U?(p[A]=O(A,()=>V(A,U)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A],U?ct(r.errors,A,U):Nt(r.errors,A),r.errors={...r.errors}),(U?!Or(Z,U):Z)||!rn(ue)||ne){const de={...ue,...ne&&Tr(I)?{isValid:I}:{},errors:r.errors,name:A};r={...r,...de},E.state.next(de)}},pe=async A=>(L(A,!0),await n.resolver(l,n.context,k4(A||d.mount,i,n.criteriaMode,n.shouldUseNativeValidation))),xe=async A=>{const{errors:I}=await pe(A);if(L(A),A){for(const U of A){const ue=Se(I,U);ue?d.array.has(U)&&Rt(ue)&&!Object.keys(ue).some(Z=>!Number.isNaN(Number(Z)))?bx(r.errors,{[U]:ue},U):ct(r.errors,U,ue):Nt(r.errors,U)}r.errors={...r.errors}}else r.errors=I;return I},z=async({name:A,eventType:I})=>{if(e.validate){const U=await e.validate({formValues:l,formState:r,name:A,eventType:I});if(Rt(U))for(const ue in U){const Z=U[ue];Z&&it(`${em}.${ue}`,{message:sn(Z.message)?Z.message:"",type:Z.type||hr.validate})}else sn(U)||!U?it(em,{message:U||"",type:hr.validate}):Ve(em);return U}return!0},Q=async({fields:A,onlyCheckValid:I,name:U,eventType:ue,context:Z={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(Z.runRootValidation=!0,!await z({name:U,eventType:ue})&&(Z.valid=!1,I)))return Z.valid;for(const ne in A){const de=A[ne];if(de){const{_f:we,...Ee}=de;if(we){const Xe=d.array.has(we.name),wt=de._f&&L4(de._f),Xt=w.validatingFields||w.isValidating||_.validatingFields||_.isValidating;wt&&Xt&&L([we.name],!0);const zt=await Cx(de,d.disabled,l,T,n.shouldUseNativeValidation&&!I,Xe);if(wt&&Xt&&L([we.name]),zt[we.name]&&(Z.valid=!1,I)||(!I&&(Se(zt,we.name)?Xe?bx(r.errors,zt,we.name):ct(r.errors,we.name,zt[we.name]):Nt(r.errors,we.name)),e.shouldUseNativeValidation&&zt[we.name]))break}!rn(Ee)&&await Q({context:Z,onlyCheckValid:I,fields:Ee,name:ne,eventType:ue})}}return Z.valid},oe=()=>{for(const A of d.unMount){const I=Se(i,A);I&&(I._f.refs?I._f.refs.every(U=>!Wh(U)):!Wh(I._f.ref))&&Qt(A)}d.unMount=new Set},W=(A,I)=>(A&&I&&ct(l,A,I),!Or(u.mount?l:s,s)),te=(A,I,U)=>O4(A,d,{...u.mount?l:gt(I)?s:sn(A)?{[A]:I}:I},U,I),D=A=>J_(Se(u.mount?l:s,A,n.shouldUnregister?Se(s,A,[]):[])),M=(A,I,U={},ue=!1,Z=!1)=>{const ne=Se(i,A);let de=I;if(ne){const we=ne._f;we&&(!we.disabled&&ct(l,A,iC(I,we)),de=_u(we.ref)&&an(I)?"":I,tC(we.ref)?[...we.ref.options].forEach(Ee=>Ee.selected=de.includes(Ee.value)):we.refs?El(we.ref)?we.refs.forEach(Ee=>{(!Ee.defaultChecked||!Ee.disabled)&&(Array.isArray(de)?Ee.checked=!!de.find(Xe=>Xe===Ee.value):Ee.checked=de===Ee.value||!!de)}):we.refs.forEach(Ee=>Ee.checked=Ee.value===de):tg(we.ref)?we.ref.value="":(we.ref.value=de,!we.ref.type&&!Z&&E.state.next({name:A,values:ue?l:Mt(l)})))}(U.shouldDirty||U.shouldTouch)&&X(A,de,U.shouldTouch,U.shouldDirty,!Z),U.shouldValidate&&be(A,{delayError:U.delayError})},B=(A,I,U,ue=!1,Z=!1)=>{for(const ne in I){if(!I.hasOwnProperty(ne))return;const de=I[ne],we=A+"."+ne,Ee=Se(i,we);(d.array.has(A)||Rt(de)||Ee&&!Ee._f)&&!za(de)?B(we,de,U,ue,Z):M(we,de,U,ue,Z)}},J=(A,I,U,ue,Z=!1)=>{const ne=Se(i,A),de=d.array.has(A),we=ue?I:Mt(I),Ee=Se(l,A),Xe=Or(Ee,we);if(Xe||ct(l,A,we),de)E.array.next({name:A,values:ue?l:Mt(l)}),(w.isDirty||w.dirtyFields||_.isDirty||_.dirtyFields)&&U.shouldDirty&&(P(),Z||E.state.next({name:A,dirtyFields:r.dirtyFields,isDirty:W(A,we)}));else{const wt=Array.isArray(we)&&!we.length||rn(we);!ne||ne._f||an(we)||wt?M(A,we,U,ue,Z):B(A,we,U,ue,Z)}if(!Xe&&!Z){const wt=Jh(A,d),Xt=ue?l:Mt(l);E.state.next({...wt&&r,name:u.mount||wt?A:void 0,values:Xt})}},K=(A,I,U={})=>J(A,I,U,!1),ce=(A,I={})=>{const U=Jn(A)?A(l):A;if(!Or(l,U)){l={...l,...U};const ue=W_(U);for(const Z of d.mount)Z in ue&&J(Z,ue[Z],I,!0,!0);E.state.next({...r,name:void 0,type:void 0,...y?{values:l}:{}}),I.shouldValidate&&N()}},re=async A=>{u.mount=!0;const I=A.target;let U=I.name,ue=!0;const Z=Se(i,U),ne=de=>{ue=Number.isNaN(de)||za(de)&&isNaN(de.getTime())||Or(de,Se(l,U,de))};if(Z){let de,we;const Ee=I.type?Rx(Z._f):S4(A),Xe=A.type===jo.BLUR||A.type===jo.FOCUS_OUT,wt=!$4(Z._f)&&!e.validate&&!n.resolver&&!Se(r.errors,U)&&!Z._f.deps,Xt=wt||F4(Xe,Se(r.touchedFields,U),r.isSubmitted,b,v),zt=Jh(U,d,Xe);if(ct(l,U,Ee),Xe){if(!I||!I.readOnly){Z._f.onBlur&&Z._f.onBlur(A);const yt=p[U];yt&&yt(0)}}else Z._f.onChange&&Z._f.onChange(A);const Ne=X(U,Ee,Xe),ht=!rn(Ne)||zt;if(!Xe&&E.state.next({name:U,type:A.type,...y?{values:Mt(l)}:{}}),Xt)return(!wt||!r.isValid)&&(w.isValid||_.isValid)&&(n.mode==="onBlur"?Xe&&N():Xe||N()),ht&&E.state.next({name:U,...zt?{}:Ne});if(!n.resolver&&e.validate&&await z({name:U,eventType:A.type}),!Xe&&zt&&E.state.next({...r}),n.resolver){const{errors:yt}=await pe([U]);if(L([U]),ne(Ee),!ue){!rn(Ne)&&E.state.next(Ne);return}const Bt=Tx(r.errors,i,U),sr=Tx(yt,i,Bt.name||U);de=sr.error,U=sr.name,we=rn(yt)}else L([U],!0),de=(await Cx(Z,d.disabled,l,T,n.shouldUseNativeValidation))[U],L([U]),ne(Ee),ue&&(de?we=!1:(w.isValid||_.isValid)&&(we=await Q({fields:i,onlyCheckValid:!0,name:U,eventType:A.type})));ue&&(Z._f.deps&&(!Array.isArray(Z._f.deps)||Z._f.deps.length>0)&&be(Z._f.deps),ae(U,we,de,Ne))}},ge=(A,I)=>{if(Se(r.errors,I)&&A.focus)return A.focus(),1},be=async(A,I={})=>{let U,ue;const Z=cu(A);if(n.resolver){const ne=await xe(gt(A)?A:Z);U=rn(ne),ue=A?!Z.some(de=>Se(ne,de)):U}else A?(ue=(await Promise.all(Z.map(async ne=>{const de=Se(i,ne);return await Q({fields:de&&de._f?{[ne]:de}:de,eventType:jo.TRIGGER})}))).every(Boolean),!(!ue&&!r.isValid)&&N()):ue=U=await Q({fields:i,name:A,eventType:jo.TRIGGER});if(I.delayError&&n.delayError&&sn(A)){const ne=Se(r.errors,A);ne?(Nt(r.errors,A),p[A]=O(A,()=>V(A,ne)),p[A](n.delayError)):(clearTimeout(m[A]),delete p[A])}return E.state.next({...!sn(A)||(w.isValid||_.isValid)&&U!==r.isValid?{}:{name:A},...n.resolver||!A?{isValid:U}:{},errors:r.errors}),I.shouldFocus&&!ue&&Ws(i,ge,A?Z:d.mount),ue},Oe=(A,I)=>{let U={...u.mount?l:s};return I&&(U=eC(I.dirtyFields?r.dirtyFields:r.touchedFields,U)),gt(A)?U:sn(A)?Se(U,A):A.map(ue=>Se(U,ue))},Ie=(A,I)=>({invalid:!!Se((I||r).errors,A),isDirty:!!Se((I||r).dirtyFields,A),error:Se((I||r).errors,A),isValidating:!!Se(r.validatingFields,A),isTouched:!!Se((I||r).touchedFields,A)}),Ve=A=>{const I=A?cu(A):void 0;I?.forEach(U=>Nt(r.errors,U)),I?I.forEach(U=>{E.state.next({name:U,errors:r.errors})}):E.state.next({errors:{}})},it=(A,I,U)=>{const ue=(Se(i,A,{_f:{}})._f||{}).ref,Z=Se(r.errors,A)||{},{ref:ne,message:de,type:we,...Ee}=Z;ct(r.errors,A,{...Ee,...I,ref:ue}),E.state.next({name:A,errors:r.errors,isValid:!1}),U&&U.shouldFocus&&ue&&ue.focus&&ue.focus()},Qe=(A,I)=>{if(Jn(A)){y++;const{unsubscribe:U}=E.state.subscribe({next:Z=>"values"in Z&&A(Z.values||te(void 0,I),Z)});let ue=!1;return{unsubscribe:()=>{ue||(ue=!0,y--,U())}}}return te(A,I,!0)},fn=A=>{var I;const U=!!(!((I=A.formState)===null||I===void 0)&&I.values);U&&y++;const{unsubscribe:ue}=E.state.subscribe({next:ne=>{if(P4(A.name,ne.name,A.exact)&&I4(ne,A.formState||w,ir,A.reRenderRoot)){const de={...l};A.callback({values:de,...r,...ne,defaultValues:s})}}});if(!U)return ue;let Z=!1;return()=>{Z||(Z=!0,y--,ue())}},hn=A=>(u.mount=!0,_={..._,...A.formState},fn({...A,formState:{...x,...A.formState}})),Qt=(A,I={})=>{for(const U of A?cu(A):d.mount)d.mount.delete(U),d.array.delete(U),I.keepValue||(Nt(i,U),Nt(l,U)),!I.keepError&&Nt(r.errors,U),!I.keepDirty&&Nt(r.dirtyFields,U),!I.keepTouched&&Nt(r.touchedFields,U),!I.keepIsValidating&&Nt(r.validatingFields,U),!n.shouldUnregister&&!I.keepDefaultValue&&Nt(s,U);E.state.next({values:Mt(l)}),E.state.next({...r,...I.keepDirty?{isDirty:W()}:{}}),!I.keepIsValid&&N()},br=({disabled:A,name:I})=>{if(Tr(A)&&u.mount||A||d.disabled.has(I)){const Z=d.disabled.has(I)!==!!A;A?d.disabled.add(I):d.disabled.delete(I),Z&&u.mount&&!u.action&&N()}},jt=(A,I={})=>{let U=Se(i,A);const ue=Tr(I.disabled)||Tr(n.disabled),Z=!d.registerName.has(A)&&U&&U._f&&!U._f.mount;return ct(i,A,{...U||{},_f:{...U&&U._f?U._f:{ref:{name:A}},name:A,mount:!0,...I}}),d.mount.add(A),U&&!Z?br({disabled:Tr(I.disabled)?I.disabled:n.disabled,name:A}):he(A,!0,I.value),{...ue?{disabled:I.disabled||n.disabled}:{},...n.progressive?{required:!!I.required,min:Hs(I.min),max:Hs(I.max),minLength:Hs(I.minLength),maxLength:Hs(I.maxLength),pattern:Hs(I.pattern)}:{},name:A,onChange:re,onBlur:re,ref:ne=>{if(ne){d.registerName.add(A),jt(A,I),d.registerName.delete(A),U=Se(i,A);const de=gt(ne.value)&&ne.querySelectorAll&&ne.querySelectorAll("input,select,textarea")[0]||ne,we=D4(de),Ee=U._f.refs||[];if(we?Ee.find(Xe=>Xe===de):de===U._f.ref)return;ct(i,A,{_f:{...U._f,...we?{refs:[...Ee.filter(Wh),de,...Array.isArray(Se(s,A))?[{}]:[]],ref:{type:de.type,name:A}}:{ref:de}}}),he(A,!1,void 0,de)}else U=Se(i,A,{}),U._f&&(U._f.mount=!1),(n.shouldUnregister||I.shouldUnregister)&&!(_4(d.array,A)&&u.action)&&d.unMount.add(A)}}},rr=()=>n.shouldFocusError&&!n.shouldUseNativeValidation&&Ws(i,ge,d.mount),xr=A=>{Tr(A)&&(E.state.next({disabled:A}),Ws(i,(I,U)=>{const ue=Se(i,U);ue&&(I.disabled=ue._f.disabled||A,Array.isArray(ue._f.refs)&&ue._f.refs.forEach(Z=>{Z.disabled=ue._f.disabled||A}))},0,!1))},Tt=(A,I)=>async U=>{let ue;U&&(U.preventDefault&&U.preventDefault(),U.persist&&U.persist());let Z=Mt(l);if(E.state.next({isSubmitting:!0}),n.resolver){const{errors:ne,values:de}=await pe();L(),r.errors=ne,Z=Mt(de)}else await Q({fields:i,eventType:jo.SUBMIT});if(d.disabled.size)for(const ne of d.disabled)Nt(Z,ne);if(Nt(r.errors,Y_),rn(r.errors)){E.state.next({errors:{}});try{await A(Z,U)}catch(ne){ue=ne}}else I&&await I({...r.errors},U),rr(),setTimeout(rr);if(E.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:rn(r.errors)&&!ue,submitCount:r.submitCount+1,errors:r.errors}),ue)throw ue},Vn=(A,I={})=>{Se(i,A)&&(gt(I.defaultValue)?K(A,Mt(Se(s,A))):(K(A,I.defaultValue),ct(s,A,Mt(I.defaultValue))),I.keepTouched||Nt(r.touchedFields,A),I.keepDirty||(Nt(r.dirtyFields,A),r.isDirty=I.defaultValue?W(A,Mt(Se(s,A))):W()),I.keepError||(Nt(r.errors,A),w.isValid&&N()),E.state.next({...r}))},Dt=(A,I={})=>{const U=A?Mt(A):s,ue=Mt(U),Z=rn(A),ne=ue,de=i;if(I.keepDefaultValues||(s=U),!I.keepValues){if(I.keepDirtyValues){const we=new Set([...d.mount,...Object.keys(bi(s,l,void 0,de))]);for(const Ee of Array.from(we)){const Xe=Se(r.dirtyFields,Ee),wt=Se(l,Ee),Xt=Se(ne,Ee);Xe&&!gt(wt)?ct(ne,Ee,wt):!Xe&&!gt(Xt)&&K(Ee,Xt)}}else{if(td&>(A))for(const we of d.mount){const Ee=Se(i,we);if(Ee&&Ee._f){const Xe=Array.isArray(Ee._f.refs)?Ee._f.refs[0]:Ee._f.ref;if(_u(Xe)){const wt=Xe.closest("form");if(wt){wt.reset();break}}}}if(I.keepFieldsRef)for(const we of d.mount)K(we,Se(ne,we));else i={}}if(n.shouldUnregister){if(l=I.keepDefaultValues?Mt(s):{},I.keepFieldsRef)for(const we of d.mount)ct(l,we,Se(ne,we))}else l=Mt(ne);E.array.next({values:{...ne}}),E.state.next({name:void 0,type:void 0,values:{...ne}})}d={mount:I.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!w.isValid||!!I.keepIsValid||!!I.keepDirtyValues||!n.shouldUnregister&&!rn(ne),u.watch=!!n.shouldUnregister,u.keepIsValid=!!I.keepIsValid,u.action=!1,I.keepErrors||(r.errors={}),E.state.next({submitCount:I.keepSubmitCount?r.submitCount:0,isDirty:Z?!1:I.keepDirty?r.isDirty:I.keepValues?W():!!(I.keepDefaultValues&&!Or(A,s)),isSubmitted:I.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:Z?{}:I.keepDirtyValues?I.keepDefaultValues&&l?bi(s,l,void 0,de):r.dirtyFields:I.keepDefaultValues&&A?bi(s,A,void 0,de):I.keepDirty?r.dirtyFields:{},touchedFields:I.keepTouched?r.touchedFields:{},errors:I.keepErrors?r.errors:{},isSubmitSuccessful:I.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},kr=(A,I)=>Dt(Jn(A)?A(l):A,{...n.resetOptions,...I}),ar=(A,I={})=>{const U=Se(i,A),ue=U&&U._f;if(ue){const Z=ue.refs?ue.refs[0]:ue.ref;Z.focus&&setTimeout(()=>{Z.focus(),I.shouldSelect&&Jn(Z.select)&&Z.select()})}},ir=A=>{const{name:I,type:U,values:ue,...Z}=A;r={...r,...Z}},mn={control:{register:jt,unregister:Qt,getFieldState:Ie,handleSubmit:Tt,setError:it,_subscribe:fn,_runSchema:pe,_updateIsValidating:L,_focusError:rr,_getWatch:te,_getDirty:W,_setValid:N,_setFieldArray:F,_setDisabledField:br,_setErrors:ve,_getFieldArray:D,_reset:Dt,_resetDefaultValues:()=>Jn(n.defaultValues)&&n.defaultValues().then(A=>{kr(A,n.resetOptions),E.state.next({isLoading:!1})}),_removeUnmounted:oe,_disableForm:xr,_subjects:E,_proxyFormState:w,get _fields(){return i},get _formValues(){return l},get _state(){return u},set _state(A){u=A},get _defaultValues(){return s},get _names(){return d},set _names(A){d=A},get _formState(){return r},get _options(){return n},set _options(A){n={...n,...A},v=eu(n.mode),b=eu(n.reValidateMode)}},subscribe:hn,trigger:be,register:jt,handleSubmit:Tt,watch:Qe,setValue:K,setValues:ce,getValues:Oe,reset:kr,resetField:Vn,resetDefaultValues:(A,I={})=>{if(s=Mt(A),!I.keepDirty){const U=bi(s,l,void 0,i);r.dirtyFields=U,r.isDirty=!rn(U)}I.keepIsValid||N(),E.state.next({...r,defaultValues:s})},clearErrors:Ve,unregister:Qt,setError:it,setFocus:ar,getFieldState:Ie};return{...mn,formControl:mn}}function ag(e={}){const n=me.useRef(void 0),r=me.useRef(void 0),i=me.useRef(e.formControl),[s,l]=me.useState(()=>({...Mt(oC),isLoading:Jn(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Jn(e.defaultValues)?void 0:e.defaultValues}));if(!n.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)n.current={...e.formControl,formState:s},e.defaultValues&&!Jn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...p}=H4(e);n.current={...p,formState:s}}const u=n.current.control;return u._options=e,T4(()=>{const d=u._subscribe({formState:u._proxyFormState,callback:()=>l({...u._formState,defaultValues:u._defaultValues}),reRenderRoot:!0});return l(p=>({...p,isReady:!0})),u._formState.isReady=!0,d},[u]),me.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),me.useEffect(()=>{e.mode&&(u._options.mode=e.mode),e.reValidateMode&&(u._options.reValidateMode=e.reValidateMode)},[u,e.mode,e.reValidateMode]),me.useEffect(()=>{e.errors&&(u._setErrors(e.errors),u._focusError())},[u,e.errors]),me.useEffect(()=>{e.shouldUnregister&&u._subjects.state.next({values:u._getWatch()})},[u,e.shouldUnregister]),me.useEffect(()=>{if(u._proxyFormState.isDirty){const d=u._getDirty();d!==s.isDirty&&u._subjects.state.next({isDirty:d})}},[u,s.isDirty]),me.useEffect(()=>{var d;e.values&&!Or(e.values,r.current)?(u._reset(e.values,{keepFieldsRef:!0,...u._options.resetOptions}),!((d=u._options.resetOptions)===null||d===void 0)&&d.keepIsValid||u._setValid(),r.current=e.values,l(p=>({...p}))):u._resetDefaultValues()},[u,e.values]),me.useEffect(()=>{u._state.mount||(u._setValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),n.current.formState=me.useMemo(()=>j4(s,u),[u,s]),n.current}const Ox=(e,n,r)=>{if(e&&"reportValidity"in e){const i=Se(r,n);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Bm=(e,n)=>{for(const r in n.fields){const i=n.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ox(i.ref,r,e):i&&i.refs&&i.refs.forEach(s=>Ox(s,r,e))}},Ax=(e,n)=>{n.shouldUseNativeValidation&&Bm(e,n);const r={};for(const i in e){const s=Se(n.fields,i),l=Object.assign(e[i]||{},{ref:s&&s.ref});if(B4(n.names||Object.keys(e),i)){const u=Object.assign({},Se(r,i));ct(u,"root",l),ct(r,i,u)}else ct(r,i,l)}return r},B4=(e,n)=>{const r=Mx(n).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>Mx(i).match(`^${r}\\.\\d+`))};function Mx(e){return e.replace(/[\[\]]/g,"")}var Nx;function fe(e,n,r){function i(d,p){if(d._zod||Object.defineProperty(d,"_zod",{value:{def:p,constr:u,traits:new Set},enumerable:!1}),d._zod.traits.has(e))return;d._zod.traits.add(e),n(d,p);const m=u.prototype,y=Object.keys(m);for(let v=0;vr?.Parent&&d instanceof r.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class Io extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class sC extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}(Nx=globalThis).__zod_globalConfig??(Nx.__zod_globalConfig={});const ig=globalThis.__zod_globalConfig;function ji(e){return ig}function lC(e){const n=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,s])=>n.indexOf(+i)===-1).map(([i,s])=>s)}function qm(e,n){return typeof n=="bigint"?n.toString():n}function og(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function sg(e){return e==null}function lg(e){const n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}const Dx=Symbol("evaluating");function dt(e,n,r){let i;Object.defineProperty(e,n,{get(){if(i!==Dx)return i===void 0&&(i=Dx,i=r()),i},set(s){Object.defineProperty(e,n,{value:s})},configurable:!0})}function Li(e,n,r){Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Xa(...e){const n={};for(const r of e){const i=Object.getOwnPropertyDescriptors(r);Object.assign(n,i)}return Object.defineProperties({},n)}function zx(e){return JSON.stringify(e)}function q4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const cC="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Eu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const G4=og(()=>{if(ig.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function fl(e){if(Eu(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const r=n.prototype;return!(Eu(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function uC(e){return fl(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Z4=new Set(["string","number","symbol"]);function rd(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ja(e,n,r){const i=new e._zod.constr(n??e._zod.def);return(!n||r?.parent)&&(i._zod.parent=e),i}function Le(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function K4(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}function Y4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=r.shape[d])}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function Q4(e,n){const r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const l=Xa(e._zod.def,{get shape(){const u={...e._zod.def.shape};for(const d in n){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);n[d]&&delete u[d]}return Li(this,"shape",u),u},checks:[]});return Ja(e,l)}function X4(e,n){if(!fl(n))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const l=e._zod.def.shape;for(const u in n)if(Object.getOwnPropertyDescriptor(l,u)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=Xa(e._zod.def,{get shape(){const l={...e._zod.def.shape,...n};return Li(this,"shape",l),l}});return Ja(e,s)}function J4(e,n){if(!fl(n))throw new Error("Invalid input to safeExtend: expected a plain object");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n};return Li(this,"shape",i),i}});return Ja(e,r)}function W4(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r=Xa(e._zod.def,{get shape(){const i={...e._zod.def.shape,...n._zod.def.shape};return Li(this,"shape",i),i},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return Ja(e,r)}function e5(e,n,r){const s=n._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const u=Xa(n._zod.def,{get shape(){const d=n._zod.def.shape,p={...d};if(r)for(const m in r){if(!(m in d))throw new Error(`Unrecognized key: "${m}"`);r[m]&&(p[m]=e?new e({type:"optional",innerType:d[m]}):d[m])}else for(const m in d)p[m]=e?new e({type:"optional",innerType:d[m]}):d[m];return Li(this,"shape",p),p},checks:[]});return Ja(n,u)}function t5(e,n,r){const i=Xa(n._zod.def,{get shape(){const s=n._zod.def.shape,l={...s};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=new e({type:"nonoptional",innerType:s[u]}))}else for(const u in s)l[u]=new e({type:"nonoptional",innerType:s[u]});return Li(this,"shape",l),l}});return Ja(n,i)}function Do(e,n=0){if(e.aborted===!0)return!0;for(let r=n;r{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function tu(e){return typeof e=="string"?e:e?.message}function Ti(e,n,r){const i=e.message?e.message:tu(e.inst?._zod.def?.error?.(e))??tu(n?.error?.(e))??tu(r.customError?.(e))??tu(r.localeError?.(e))??"Invalid input",{inst:s,continue:l,input:u,...d}=e;return d.path??(d.path=[]),d.message=i,n?.reportInput&&(d.input=u),d}function cg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function hl(...e){const[n,r,i]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:i}:{...n}}const fC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,qm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ug=fe("$ZodError",fC),ad=fe("$ZodError",fC,{Parent:Error});function r5(e,n=r=>r.message){const r={},i=[];for(const s of e.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(n(s))):i.push(n(s));return{formErrors:i,fieldErrors:r}}function a5(e,n=r=>r.message){const r={_errors:[]},i=(s,l=[])=>{for(const u of s.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(d=>i({issues:d},[...l,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...l,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...l,...u.path]);else{const d=[...l,...u.path];if(d.length===0)r._errors.push(n(u));else{let p=r,m=0;for(;m(n,r,i,s)=>{const l=i?{...i,async:!1}:{async:!1},u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise)throw new Io;if(u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw cC(d,s?.callee),d}return u.value},i5=id(ad),od=e=>async(n,r,i,s)=>{const l=i?{...i,async:!0}:{async:!0};let u=n._zod.run({value:r,issues:[]},l);if(u instanceof Promise&&(u=await u),u.issues.length){const d=new(s?.Err??e)(u.issues.map(p=>Ti(p,l,ji())));throw cC(d,s?.callee),d}return u.value},o5=od(ad),sd=e=>(n,r,i)=>{const s=i?{...i,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},s);if(l instanceof Promise)throw new Io;return l.issues.length?{success:!1,error:new(e??ug)(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},s5=sd(ad),ld=e=>async(n,r,i)=>{const s=i?{...i,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},s);return l instanceof Promise&&(l=await l),l.issues.length?{success:!1,error:new e(l.issues.map(u=>Ti(u,s,ji())))}:{success:!0,data:l.value}},l5=ld(ad),c5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return id(e)(n,r,s)},u5=e=>(n,r,i)=>id(e)(n,r,i),d5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return od(e)(n,r,s)},f5=e=>async(n,r,i)=>od(e)(n,r,i),h5=e=>(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return sd(e)(n,r,s)},m5=e=>(n,r,i)=>sd(e)(n,r,i),p5=e=>async(n,r,i)=>{const s=i?{...i,direction:"backward"}:{direction:"backward"};return ld(e)(n,r,s)},g5=e=>async(n,r,i)=>ld(e)(n,r,i),v5=/^[cC][0-9a-z]{6,}$/,y5=/^[0-9a-z]+$/,b5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,x5=/^[0-9a-vA-V]{20}$/,w5=/^[A-Za-z0-9]{27}$/,S5=/^[a-zA-Z0-9_-]{21}$/,_5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,C5=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,E5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,R5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function j5(){return new RegExp(R5,"u")}const T5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,O5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,A5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,M5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,N5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hC=/^[A-Za-z0-9_-]*$/,D5=/^https?$/,z5=/^\+[1-9]\d{6,14}$/,mC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",k5=new RegExp(`^${mC}$`);function pC(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function L5(e){return new RegExp(`^${pC(e)}$`)}function $5(e){const n=pC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${n}(?:${r.join("|")})`;return new RegExp(`^${mC}T(?:${i})$`)}const I5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},P5=/^(?:true|false)$/i,F5=/^[^A-Z]*$/,V5=/^[^a-z]*$/,zr=fe("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[])}),U5=fe("$ZodCheckMaxLength",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum{const s=i.value;if(s.length<=n.maximum)return;const u=cg(s);i.issues.push({origin:u,code:"too_big",maximum:n.maximum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),H5=fe("$ZodCheckMinLength",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>s&&(i._zod.bag.minimum=n.minimum)}),e._zod.check=i=>{const s=i.value;if(s.length>=n.minimum)return;const u=cg(s);i.issues.push({origin:u,code:"too_small",minimum:n.minimum,inclusive:!0,input:s,inst:e,continue:!n.abort})}}),B5=fe("$ZodCheckLengthEquals",(e,n)=>{var r;zr.init(e,n),(r=e._zod.def).when??(r.when=i=>{const s=i.value;return!sg(s)&&s.length!==void 0}),e._zod.onattach.push(i=>{const s=i._zod.bag;s.minimum=n.length,s.maximum=n.length,s.length=n.length}),e._zod.check=i=>{const s=i.value,l=s.length;if(l===n.length)return;const u=cg(s),d=l>n.length;i.issues.push({origin:u,...d?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!n.abort})}}),cd=fe("$ZodCheckStringFormat",(e,n)=>{var r,i;zr.init(e,n),e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=n.format,n.pattern&&(l.patterns??(l.patterns=new Set),l.patterns.add(n.pattern))}),n.pattern?(r=e._zod).check??(r.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:n.format,input:s.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(i=e._zod).check??(i.check=()=>{})}),q5=fe("$ZodCheckRegex",(e,n)=>{cd.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),G5=fe("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=F5),cd.init(e,n)}),Z5=fe("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=V5),cd.init(e,n)}),K5=fe("$ZodCheckIncludes",(e,n)=>{zr.init(e,n);const r=rd(n.includes),i=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=i,e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(i)}),e._zod.check=s=>{s.value.includes(n.includes,n.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:s.value,inst:e,continue:!n.abort})}}),Y5=fe("$ZodCheckStartsWith",(e,n)=>{zr.init(e,n);const r=new RegExp(`^${rd(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.startsWith(n.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:i.value,inst:e,continue:!n.abort})}}),Q5=fe("$ZodCheckEndsWith",(e,n)=>{zr.init(e,n);const r=new RegExp(`.*${rd(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=i=>{i.value.endsWith(n.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:i.value,inst:e,continue:!n.abort})}}),X5=fe("$ZodCheckOverwrite",(e,n)=>{zr.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value)}});class J5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const i=n.split(` +`).filter(u=>u),s=Math.min(...i.map(u=>u.length-u.trimStart().length)),l=i.map(u=>u.slice(s)).map(u=>" ".repeat(this.indent*2)+u);for(const u of l)this.content.push(u)}compile(){const n=Function,r=this?.args,s=[...(this?.content??[""]).map(l=>` ${l}`)];return new n(...r,s.join(` +`))}}const W5={major:4,minor:4,patch:3},Pt=fe("$ZodType",(e,n)=>{var r;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=W5;const i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(const s of i)for(const l of s._zod.onattach)l(e);if(i.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(u,d,p)=>{let m=Do(u),y;for(const v of d){if(v._zod.def.when){if(n5(u)||!v._zod.def.when(u))continue}else if(m)continue;const b=u.issues.length,x=v._zod.check(u);if(x instanceof Promise&&p?.async===!1)throw new Io;if(y||x instanceof Promise)y=(y??Promise.resolve()).then(async()=>{await x,u.issues.length!==b&&(m||(m=Do(u,b)))});else{if(u.issues.length===b)continue;m||(m=Do(u,b))}}return y?y.then(()=>u):u},l=(u,d,p)=>{if(Do(u))return u.aborted=!0,u;const m=s(d,i,p);if(m instanceof Promise){if(p.async===!1)throw new Io;return m.then(y=>e._zod.parse(y,p))}return e._zod.parse(m,p)};e._zod.run=(u,d)=>{if(d.skipChecks)return e._zod.parse(u,d);if(d.direction==="backward"){const m=e._zod.parse({value:u.value,issues:[]},{...d,skipChecks:!0});return m instanceof Promise?m.then(y=>l(y,u,d)):l(m,u,d)}const p=e._zod.parse(u,d);if(p instanceof Promise){if(d.async===!1)throw new Io;return p.then(m=>s(m,i,d))}return s(p,i,d)}}dt(e,"~standard",()=>({validate:s=>{try{const l=s5(e,s);return l.success?{value:l.data}:{issues:l.error?.issues}}catch{return l5(e,s).then(u=>u.success?{value:u.data}:{issues:u.error?.issues})}},vendor:"zod",version:1}))}),dg=fe("$ZodString",(e,n)=>{Pt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??I5(e._zod.bag),e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),xt=fe("$ZodStringFormat",(e,n)=>{cd.init(e,n),dg.init(e,n)}),e6=fe("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=C5),xt.init(e,n)}),t6=fe("$ZodUUID",(e,n)=>{if(n.version){const i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(i===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=kx(i))}else n.pattern??(n.pattern=kx());xt.init(e,n)}),n6=fe("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=E5),xt.init(e,n)}),r6=fe("$ZodURL",(e,n)=>{xt.init(e,n),e._zod.check=r=>{try{const i=r.value.trim();if(!n.normalize&&n.protocol?.source===D5.source&&!/^https?:\/\//i.test(i)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!n.abort});return}const s=new URL(i);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(s.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:r.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:r.value,inst:e,continue:!n.abort})),n.normalize?r.value=s.href:r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!n.abort})}}}),a6=fe("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=j5()),xt.init(e,n)}),i6=fe("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=S5),xt.init(e,n)}),o6=fe("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=v5),xt.init(e,n)}),s6=fe("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=y5),xt.init(e,n)}),l6=fe("$ZodULID",(e,n)=>{n.pattern??(n.pattern=b5),xt.init(e,n)}),c6=fe("$ZodXID",(e,n)=>{n.pattern??(n.pattern=x5),xt.init(e,n)}),u6=fe("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=w5),xt.init(e,n)}),d6=fe("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=$5(n)),xt.init(e,n)}),f6=fe("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=k5),xt.init(e,n)}),h6=fe("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=L5(n)),xt.init(e,n)}),m6=fe("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=_5),xt.init(e,n)}),p6=fe("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=T5),xt.init(e,n),e._zod.bag.format="ipv4"}),g6=fe("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=O5),xt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!n.abort})}}}),v6=fe("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=A5),xt.init(e,n)}),y6=fe("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=M5),xt.init(e,n),e._zod.check=r=>{const i=r.value.split("/");try{if(i.length!==2)throw new Error;const[s,l]=i;if(!l)throw new Error;const u=Number(l);if(`${u}`!==l)throw new Error;if(u<0||u>128)throw new Error;new URL(`http://[${s}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!n.abort})}}});function gC(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const b6=fe("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=N5),xt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{gC(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!n.abort})}});function x6(e){if(!hC.test(e))return!1;const n=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),r=n.padEnd(Math.ceil(n.length/4)*4,"=");return gC(r)}const w6=fe("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=hC),xt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{x6(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!n.abort})}}),S6=fe("$ZodE164",(e,n)=>{n.pattern??(n.pattern=z5),xt.init(e,n)});function _6(e,n=null){try{const r=e.split(".");if(r.length!==3)return!1;const[i]=r;if(!i)return!1;const s=JSON.parse(atob(i));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||n&&(!("alg"in s)||s.alg!==n))}catch{return!1}}const C6=fe("$ZodJWT",(e,n)=>{xt.init(e,n),e._zod.check=r=>{_6(r.value,n.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!n.abort})}}),E6=fe("$ZodBoolean",(e,n)=>{Pt.init(e,n),e._zod.pattern=P5,e._zod.parse=(r,i)=>{if(n.coerce)try{r.value=!!r.value}catch{}const s=r.value;return typeof s=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),r}}),R6=fe("$ZodUnknown",(e,n)=>{Pt.init(e,n),e._zod.parse=r=>r}),j6=fe("$ZodNever",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Lx(e,n,r){e.issues.length&&n.issues.push(...dC(r,e.issues)),n.value[r]=e.value}const T6=fe("$ZodArray",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=Array(s.length);const l=[];for(let u=0;uLx(m,r,u))):Lx(p,r,u)}return l.length?Promise.all(l).then(()=>r):r}});function Ru(e,n,r,i,s,l){const u=r in i;if(e.issues.length){if(s&&l&&!u)return;n.issues.push(...dC(r,e.issues))}if(!u&&!s){e.issues.length||n.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?u&&(n.value[r]=void 0):n.value[r]=e.value}function vC(e){const n=Object.keys(e.shape);for(const i of n)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=K4(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(r)}}function yC(e,n,r,i,s,l){const u=[],d=s.keySet,p=s.catchall._zod,m=p.def.type,y=p.optin==="optional",v=p.optout==="optional";for(const b in n){if(b==="__proto__"||d.has(b))continue;if(m==="never"){u.push(b);continue}const x=p.run({value:n[b],issues:[]},i);x instanceof Promise?e.push(x.then(w=>Ru(w,r,b,n,y,v))):Ru(x,r,b,n,y,v)}return u.length&&r.issues.push({code:"unrecognized_keys",keys:u,input:n,inst:l}),e.length?Promise.all(e).then(()=>r):r}const O6=fe("$ZodObject",(e,n)=>{if(Pt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const d=n.shape;Object.defineProperty(n,"shape",{get:()=>{const p={...d};return Object.defineProperty(n,"shape",{value:p}),p}})}const i=og(()=>vC(n));dt(e._zod,"propValues",()=>{const d=n.shape,p={};for(const m in d){const y=d[m]._zod;if(y.values){p[m]??(p[m]=new Set);for(const v of y.values)p[m].add(v)}}return p});const s=Eu,l=n.catchall;let u;e._zod.parse=(d,p)=>{u??(u=i.value);const m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),d;d.value={};const y=[],v=u.shape;for(const b of u.keys){const x=v[b],w=x._zod.optin==="optional",_=x._zod.optout==="optional",E=x._zod.run({value:m[b],issues:[]},p);E instanceof Promise?y.push(E.then(R=>Ru(R,d,b,m,w,_))):Ru(E,d,b,m,w,_)}return l?yC(y,m,d,p,i.value,e):y.length?Promise.all(y).then(()=>d):d}}),A6=fe("$ZodObjectJIT",(e,n)=>{O6.init(e,n);const r=e._zod.parse,i=og(()=>vC(n)),s=b=>{const x=new J5(["shape","payload","ctx"]),w=i.value,_=O=>{const N=zx(O);return`shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`};x.write("const input = payload.value;");const E=Object.create(null);let R=0;for(const O of w.keys)E[O]=`key_${R++}`;x.write("const newResult = {};");for(const O of w.keys){const N=E[O],L=zx(O),P=b[O],F=P?._zod?.optin==="optional",V=P?._zod?.optout==="optional";x.write(`const ${N} = ${_(O)};`),F&&V?x.write(` + if (${N}.issues.length) { + if (${L} in input) { + payload.issues = payload.issues.concat(${N}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${L}, ...iss.path] : [${L}] + }))); + } + } + + if (${N}.value === undefined) { + if (${L} in input) { + newResult[${L}] = undefined; + } + } else { + newResult[${L}] = ${N}.value; + } + + `):F?x.write(` + if (${N}.issues.length) { + payload.issues = payload.issues.concat(${N}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${L}, ...iss.path] : [${L}] + }))); + } + + if (${N}.value === undefined) { + if (${L} in input) { + newResult[${L}] = undefined; + } + } else { + newResult[${L}] = ${N}.value; + } + + `):x.write(` + const ${N}_present = ${L} in input; + if (${N}.issues.length) { + payload.issues = payload.issues.concat(${N}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${L}, ...iss.path] : [${L}] + }))); + } + if (!${N}_present && !${N}.issues.length) { + payload.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: undefined, + path: [${L}] + }); + } + + if (${N}_present) { + if (${N}.value === undefined) { + newResult[${L}] = undefined; + } else { + newResult[${L}] = ${N}.value; + } + } + + `)}x.write("payload.value = newResult;"),x.write("return payload;");const T=x.compile();return(O,N)=>T(b,O,N)};let l;const u=Eu,d=!ig.jitless,m=d&&G4.value,y=n.catchall;let v;e._zod.parse=(b,x)=>{v??(v=i.value);const w=b.value;return u(w)?d&&m&&x?.async===!1&&x.jitless!==!0?(l||(l=s(n.shape)),b=l(b,x),y?yC([],w,b,x,v,e):b):r(b,x):(b.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),b)}});function $x(e,n,r,i){for(const l of e)if(l.issues.length===0)return n.value=l.value,n;const s=e.filter(l=>!Do(l));return s.length===1?(n.value=s[0].value,s[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(l=>l.issues.map(u=>Ti(u,i,ji())))}),n)}const M6=fe("$ZodUnion",(e,n)=>{Pt.init(e,n),dt(e._zod,"optin",()=>n.options.some(i=>i._zod.optin==="optional")?"optional":void 0),dt(e._zod,"optout",()=>n.options.some(i=>i._zod.optout==="optional")?"optional":void 0),dt(e._zod,"values",()=>{if(n.options.every(i=>i._zod.values))return new Set(n.options.flatMap(i=>Array.from(i._zod.values)))}),dt(e._zod,"pattern",()=>{if(n.options.every(i=>i._zod.pattern)){const i=n.options.map(s=>s._zod.pattern);return new RegExp(`^(${i.map(s=>lg(s.source)).join("|")})$`)}});const r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(i,s)=>{if(r)return r(i,s);let l=!1;const u=[];for(const d of n.options){const p=d._zod.run({value:i.value,issues:[]},s);if(p instanceof Promise)u.push(p),l=!0;else{if(p.issues.length===0)return p;u.push(p)}}return l?Promise.all(u).then(d=>$x(d,i,e,s)):$x(u,i,e,s)}}),N6=fe("$ZodIntersection",(e,n)=>{Pt.init(e,n),e._zod.parse=(r,i)=>{const s=r.value,l=n.left._zod.run({value:s,issues:[]},i),u=n.right._zod.run({value:s,issues:[]},i);return l instanceof Promise||u instanceof Promise?Promise.all([l,u]).then(([p,m])=>Ix(r,p,m)):Ix(r,l,u)}});function Gm(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(fl(e)&&fl(n)){const r=Object.keys(n),i=Object.keys(e).filter(l=>r.indexOf(l)!==-1),s={...e,...n};for(const l of i){const u=Gm(e[l],n[l]);if(!u.valid)return{valid:!1,mergeErrorPath:[l,...u.mergeErrorPath]};s[l]=u.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let i=0;id.l&&d.r).map(([d])=>d);if(l.length&&s&&e.issues.push({...s,keys:l}),Do(e))return e;const u=Gm(n.value,r.value);if(!u.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`);return e.value=u.data,e}const D6=fe("$ZodEnum",(e,n)=>{Pt.init(e,n);const r=lC(n.entries),i=new Set(r);e._zod.values=i,e._zod.pattern=new RegExp(`^(${r.filter(s=>Z4.has(typeof s)).map(s=>typeof s=="string"?rd(s):s.toString()).join("|")})$`),e._zod.parse=(s,l)=>{const u=s.value;return i.has(u)||s.issues.push({code:"invalid_value",values:r,input:u,inst:e}),s}}),z6=fe("$ZodTransform",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new sC(e.constructor.name);const s=n.transform(r.value,r);if(i.async)return(s instanceof Promise?s:Promise.resolve(s)).then(u=>(r.value=u,r.fallback=!0,r));if(s instanceof Promise)throw new Io;return r.value=s,r.fallback=!0,r}});function Px(e,n){return n===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const bC=fe("$ZodOptional",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",dt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),dt(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${lg(r.source)})?$`):void 0}),e._zod.parse=(r,i)=>{if(n.innerType._zod.optin==="optional"){const s=r.value,l=n.innerType._zod.run(r,i);return l instanceof Promise?l.then(u=>Px(u,s)):Px(l,s)}return r.value===void 0?r:n.innerType._zod.run(r,i)}}),k6=fe("$ZodExactOptional",(e,n)=>{bC.init(e,n),dt(e._zod,"values",()=>n.innerType._zod.values),dt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,i)=>n.innerType._zod.run(r,i)}),L6=fe("$ZodNullable",(e,n)=>{Pt.init(e,n),dt(e._zod,"optin",()=>n.innerType._zod.optin),dt(e._zod,"optout",()=>n.innerType._zod.optout),dt(e._zod,"pattern",()=>{const r=n.innerType._zod.pattern;return r?new RegExp(`^(${lg(r.source)}|null)$`):void 0}),dt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,i)=>r.value===null?r:n.innerType._zod.run(r,i)}),$6=fe("$ZodDefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);if(r.value===void 0)return r.value=n.defaultValue,r;const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Fx(l,n)):Fx(s,n)}});function Fx(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const I6=fe("$ZodPrefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>(i.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,i))}),P6=fe("$ZodNonOptional",(e,n)=>{Pt.init(e,n),dt(e._zod,"values",()=>{const r=n.innerType._zod.values;return r?new Set([...r].filter(i=>i!==void 0)):void 0}),e._zod.parse=(r,i)=>{const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>Vx(l,e)):Vx(s,e)}});function Vx(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const F6=fe("$ZodCatch",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",dt(e._zod,"optout",()=>n.innerType._zod.optout),dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(l=>(r.value=l.value,l.issues.length&&(r.value=n.catchValue({...r,error:{issues:l.issues.map(u=>Ti(u,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=s.value,s.issues.length&&(r.value=n.catchValue({...r,error:{issues:s.issues.map(l=>Ti(l,i,ji()))},input:r.value}),r.issues=[],r.fallback=!0),r)}}),V6=fe("$ZodPipe",(e,n)=>{Pt.init(e,n),dt(e._zod,"values",()=>n.in._zod.values),dt(e._zod,"optin",()=>n.in._zod.optin),dt(e._zod,"optout",()=>n.out._zod.optout),dt(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,i)=>{if(i.direction==="backward"){const l=n.out._zod.run(r,i);return l instanceof Promise?l.then(u=>nu(u,n.in,i)):nu(l,n.in,i)}const s=n.in._zod.run(r,i);return s instanceof Promise?s.then(l=>nu(l,n.out,i)):nu(s,n.out,i)}});function nu(e,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}const U6=fe("$ZodReadonly",(e,n)=>{Pt.init(e,n),dt(e._zod,"propValues",()=>n.innerType._zod.propValues),dt(e._zod,"values",()=>n.innerType._zod.values),dt(e._zod,"optin",()=>n.innerType?._zod?.optin),dt(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(r,i)=>{if(i.direction==="backward")return n.innerType._zod.run(r,i);const s=n.innerType._zod.run(r,i);return s instanceof Promise?s.then(Ux):Ux(s)}});function Ux(e){return e.value=Object.freeze(e.value),e}const H6=fe("$ZodCustom",(e,n)=>{zr.init(e,n),Pt.init(e,n),e._zod.parse=(r,i)=>r,e._zod.check=r=>{const i=r.value,s=n.fn(i);if(s instanceof Promise)return s.then(l=>Hx(l,r,i,e));Hx(s,r,i,e)}});function Hx(e,n,r,i){if(!e){const s={code:"custom",input:r,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(s.params=i._zod.def.params),n.issues.push(hl(s))}}var Bx;class B6{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...r){const i=r[0];return this._map.set(n,i),i&&typeof i=="object"&&"id"in i&&this._idmap.set(i.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){const r=n._zod.parent;if(r){const i={...this.get(r)??{}};delete i.id;const s={...i,...this._map.get(n)};return Object.keys(s).length?s:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function q6(){return new B6}(Bx=globalThis).__zod_globalRegistry??(Bx.__zod_globalRegistry=q6());const Ys=globalThis.__zod_globalRegistry;function G6(e,n){return new e({type:"string",...Le(n)})}function Z6(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Le(n)})}function qx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Le(n)})}function K6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Le(n)})}function Y6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Le(n)})}function Q6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Le(n)})}function X6(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Le(n)})}function J6(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Le(n)})}function W6(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Le(n)})}function eL(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Le(n)})}function tL(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Le(n)})}function nL(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Le(n)})}function rL(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Le(n)})}function aL(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Le(n)})}function iL(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Le(n)})}function oL(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Le(n)})}function sL(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Le(n)})}function lL(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Le(n)})}function cL(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Le(n)})}function uL(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Le(n)})}function dL(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Le(n)})}function fL(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Le(n)})}function hL(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Le(n)})}function mL(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Le(n)})}function pL(e,n){return new e({type:"string",format:"date",check:"string_format",...Le(n)})}function gL(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Le(n)})}function vL(e,n){return new e({type:"string",format:"duration",check:"string_format",...Le(n)})}function yL(e,n){return new e({type:"boolean",...Le(n)})}function bL(e){return new e({type:"unknown"})}function xL(e,n){return new e({type:"never",...Le(n)})}function xC(e,n){return new U5({check:"max_length",...Le(n),maximum:e})}function ju(e,n){return new H5({check:"min_length",...Le(n),minimum:e})}function wC(e,n){return new B5({check:"length_equals",...Le(n),length:e})}function wL(e,n){return new q5({check:"string_format",format:"regex",...Le(n),pattern:e})}function SL(e){return new G5({check:"string_format",format:"lowercase",...Le(e)})}function _L(e){return new Z5({check:"string_format",format:"uppercase",...Le(e)})}function CL(e,n){return new K5({check:"string_format",format:"includes",...Le(n),includes:e})}function EL(e,n){return new Y5({check:"string_format",format:"starts_with",...Le(n),prefix:e})}function RL(e,n){return new Q5({check:"string_format",format:"ends_with",...Le(n),suffix:e})}function Ko(e){return new X5({check:"overwrite",tx:e})}function jL(e){return Ko(n=>n.normalize(e))}function TL(){return Ko(e=>e.trim())}function OL(){return Ko(e=>e.toLowerCase())}function AL(){return Ko(e=>e.toUpperCase())}function ML(){return Ko(e=>q4(e))}function NL(e,n,r){return new e({type:"array",element:n,...Le(r)})}function DL(e,n,r){return new e({type:"custom",check:"custom",fn:n,...Le(r)})}function zL(e,n){const r=kL(i=>(i.addIssue=s=>{if(typeof s=="string")i.issues.push(hl(s,i.value,r._zod.def));else{const l=s;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=r),l.continue??(l.continue=!r._zod.def.abort),i.issues.push(hl(l))}},e(i.value,i)),n);return r}function kL(e,n){const r=new zr({check:"custom",...Le(n)});return r._zod.check=e,r}function SC(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Ys,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function ln(e,n,r={path:[],schemaPath:[]}){var i;const s=e._zod.def,l=n.seen.get(e);if(l)return l.count++,r.schemaPath.includes(e)&&(l.cycle=r.path),l.schema;const u={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,u);const d=e._zod.toJSONSchema?.();if(d)u.schema=d;else{const y={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,u.schema,y);else{const b=u.schema,x=n.processors[s.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);x(e,n,b,y)}const v=e._zod.parent;v&&(u.ref||(u.ref=v),ln(v,n,y),n.seen.get(v).isParent=!0)}const p=n.metadataRegistry.get(e);return p&&Object.assign(u.schema,p),n.io==="input"&&gn(e)&&(delete u.schema.examples,delete u.schema.default),n.io==="input"&&"_prefault"in u.schema&&((i=u.schema).default??(i.default=u.schema._prefault)),delete u.schema._prefault,n.seen.get(e).schema}function _C(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=new Map;for(const u of e.seen.entries()){const d=e.metadataRegistry.get(u[0])?.id;if(d){const p=i.get(d);if(p&&p!==u[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(d,u[0])}}const s=u=>{const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const v=e.external.registry.get(u[0])?.id,b=e.external.uri??(w=>w);if(v)return{ref:b(v)};const x=u[1].defId??u[1].schema.id??`schema${e.counter++}`;return u[1].defId=x,{defId:x,ref:`${b("__shared")}#/${d}/${x}`}}if(u[1]===r)return{ref:"#"};const m=`#/${d}/`,y=u[1].schema.id??`__schema${e.counter++}`;return{defId:y,ref:m+y}},l=u=>{if(u[1].schema.$ref)return;const d=u[1],{ref:p,defId:m}=s(u);d.def={...d.schema},m&&(d.defId=m);const y=d.schema;for(const v in y)delete y[v];y.$ref=p};if(e.cycles==="throw")for(const u of e.seen.entries()){const d=u[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ + +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const u of e.seen.entries()){const d=u[1];if(n===u[0]){l(u);continue}if(e.external){const m=e.external.registry.get(u[0])?.id;if(n!==u[0]&&m){l(u);continue}}if(e.metadataRegistry.get(u[0])?.id){l(u);continue}if(d.cycle){l(u);continue}if(d.count>1&&e.reused==="ref"){l(u);continue}}}function CC(e,n){const r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=d=>{const p=e.seen.get(d);if(p.ref===null)return;const m=p.def??p.schema,y={...m},v=p.ref;if(p.ref=null,v){i(v);const x=e.seen.get(v),w=x.schema;if(w.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(w)):Object.assign(m,w),Object.assign(m,y),d._zod.parent===v)for(const E in m)E==="$ref"||E==="allOf"||E in y||delete m[E];if(w.$ref&&x.def)for(const E in m)E==="$ref"||E==="allOf"||E in x.def&&JSON.stringify(m[E])===JSON.stringify(x.def[E])&&delete m[E]}const b=d._zod.parent;if(b&&b!==v){i(b);const x=e.seen.get(b);if(x?.schema.$ref&&(m.$ref=x.schema.$ref,x.def))for(const w in m)w==="$ref"||w==="allOf"||w in x.def&&JSON.stringify(m[w])===JSON.stringify(x.def[w])&&delete m[w]}e.override({zodSchema:d,jsonSchema:m,path:p.path??[]})};for(const d of[...e.seen.entries()].reverse())i(d[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const d=e.external.registry.get(n)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(d)}Object.assign(s,r.def??r.schema);const l=e.metadataRegistry.get(n)?.id;l!==void 0&&s.id===l&&delete s.id;const u=e.external?.defs??{};for(const d of e.seen.entries()){const p=d[1];p.def&&p.defId&&(p.def.id===p.defId&&delete p.def.id,u[p.defId]=p.def)}e.external||Object.keys(u).length>0&&(e.target==="draft-2020-12"?s.$defs=u:s.definitions=u);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...n["~standard"],jsonSchema:{input:Tu(n,"input",e.processors),output:Tu(n,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function gn(e,n){const r=n??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return gn(i.element,r);if(i.type==="set")return gn(i.valueType,r);if(i.type==="lazy")return gn(i.getter(),r);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return gn(i.innerType,r);if(i.type==="intersection")return gn(i.left,r)||gn(i.right,r);if(i.type==="record"||i.type==="map")return gn(i.keyType,r)||gn(i.valueType,r);if(i.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:gn(i.in,r)||gn(i.out,r);if(i.type==="object"){for(const s in i.shape)if(gn(i.shape[s],r))return!0;return!1}if(i.type==="union"){for(const s of i.options)if(gn(s,r))return!0;return!1}if(i.type==="tuple"){for(const s of i.items)if(gn(s,r))return!0;return!!(i.rest&&gn(i.rest,r))}return!1}const LL=(e,n={})=>r=>{const i=SC({...r,processors:n});return ln(e,i),_C(i,e),CC(i,e)},Tu=(e,n,r={})=>i=>{const{libraryOptions:s,target:l}=i??{},u=SC({...s??{},target:l,io:n,processors:r});return ln(e,u),_C(u,e),CC(u,e)},$L={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},IL=(e,n,r,i)=>{const s=r;s.type="string";const{minimum:l,maximum:u,format:d,patterns:p,contentEncoding:m}=e._zod.bag;if(typeof l=="number"&&(s.minLength=l),typeof u=="number"&&(s.maxLength=u),d&&(s.format=$L[d]??d,s.format===""&&delete s.format,d==="time"&&delete s.format),m&&(s.contentEncoding=m),p&&p.size>0){const y=[...p];y.length===1?s.pattern=y[0].source:y.length>1&&(s.allOf=[...y.map(v=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:v.source}))])}},PL=(e,n,r,i)=>{r.type="boolean"},FL=(e,n,r,i)=>{r.not={}},VL=(e,n,r,i)=>{},UL=(e,n,r,i)=>{const s=e._zod.def,l=lC(s.entries);l.every(u=>typeof u=="number")&&(r.type="number"),l.every(u=>typeof u=="string")&&(r.type="string"),r.enum=l},HL=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},BL=(e,n,r,i)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},qL=(e,n,r,i)=>{const s=r,l=e._zod.def,{minimum:u,maximum:d}=e._zod.bag;typeof u=="number"&&(s.minItems=u),typeof d=="number"&&(s.maxItems=d),s.type="array",s.items=ln(l.element,n,{...i,path:[...i.path,"items"]})},GL=(e,n,r,i)=>{const s=r,l=e._zod.def;s.type="object",s.properties={};const u=l.shape;for(const m in u)s.properties[m]=ln(u[m],n,{...i,path:[...i.path,"properties",m]});const d=new Set(Object.keys(u)),p=new Set([...d].filter(m=>{const y=l.shape[m]._zod;return n.io==="input"?y.optin===void 0:y.optout===void 0}));p.size>0&&(s.required=Array.from(p)),l.catchall?._zod.def.type==="never"?s.additionalProperties=!1:l.catchall?l.catchall&&(s.additionalProperties=ln(l.catchall,n,{...i,path:[...i.path,"additionalProperties"]})):n.io==="output"&&(s.additionalProperties=!1)},ZL=(e,n,r,i)=>{const s=e._zod.def,l=s.inclusive===!1,u=s.options.map((d,p)=>ln(d,n,{...i,path:[...i.path,l?"oneOf":"anyOf",p]}));l?r.oneOf=u:r.anyOf=u},KL=(e,n,r,i)=>{const s=e._zod.def,l=ln(s.left,n,{...i,path:[...i.path,"allOf",0]}),u=ln(s.right,n,{...i,path:[...i.path,"allOf",1]}),d=m=>"allOf"in m&&Object.keys(m).length===1,p=[...d(l)?l.allOf:[l],...d(u)?u.allOf:[u]];r.allOf=p},YL=(e,n,r,i)=>{const s=e._zod.def,l=ln(s.innerType,n,i),u=n.seen.get(e);n.target==="openapi-3.0"?(u.ref=s.innerType,r.nullable=!0):r.anyOf=[l,{type:"null"}]},QL=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType},XL=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.default=JSON.parse(JSON.stringify(s.defaultValue))},JL=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},WL=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType;let u;try{u=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=u},e8=(e,n,r,i)=>{const s=e._zod.def,l=s.in._zod.traits.has("$ZodTransform"),u=n.io==="input"?l?s.out:s.in:s.out;ln(u,n,i);const d=n.seen.get(e);d.ref=u},t8=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType,r.readOnly=!0},EC=(e,n,r,i)=>{const s=e._zod.def;ln(s.innerType,n,i);const l=n.seen.get(e);l.ref=s.innerType};function Zm(){return Zm=Object.assign?Object.assign.bind():function(e){for(var n=1;n0){var p=s.errors[0][0];r[d]={message:p.message,type:p.code}}else r[d]={message:u,type:l};if(s.code==="invalid_union"&&s.errors.forEach(function(v){return v.forEach(function(b){return e.push(Zm({},b,{path:[].concat(s.path,b.path)}))})}),n){var m=r[d].types,y=m&&m[s.code];r[d]=rg(d,n,r,l,y?[].concat(y,s.message):s.message)}e.shift()};e.length;)i();return r}function fg(e,n,r){if(r===void 0&&(r={}),(function(i){return"_def"in i&&typeof i._def=="object"&&"typeName"in i._def})(e))return function(i,s,l){try{return Promise.resolve(Gx(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](i,n)).then(function(u){return l.shouldUseNativeValidation&&Bm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return Array.isArray(d?.issues)})(u))return{values:{},errors:Ax(n8(u.errors,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};if((function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,s,l){try{return Promise.resolve(Gx(function(){return Promise.resolve((r.mode==="sync"?i5:o5)(e,i,n)).then(function(u){return l.shouldUseNativeValidation&&Bm({},l),{errors:{},values:r.raw?Object.assign({},i):u}})},function(u){if((function(d){return d instanceof ug})(u))return{values:{},errors:Ax(r8(u.issues,!l.shouldUseNativeValidation&&l.criteriaMode==="all"),l)};throw u}))}catch(u){return Promise.reject(u)}};throw new Error("Invalid input: not a Zod schema")}const a8=fe("ZodISODateTime",(e,n)=>{d6.init(e,n),_t.init(e,n)});function i8(e){return mL(a8,e)}const o8=fe("ZodISODate",(e,n)=>{f6.init(e,n),_t.init(e,n)});function s8(e){return pL(o8,e)}const l8=fe("ZodISOTime",(e,n)=>{h6.init(e,n),_t.init(e,n)});function c8(e){return gL(l8,e)}const u8=fe("ZodISODuration",(e,n)=>{m6.init(e,n),_t.init(e,n)});function d8(e){return vL(u8,e)}const f8=(e,n)=>{ug.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>a5(e,r)},flatten:{value:r=>r5(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,qm,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,qm,2)}},isEmpty:{get(){return e.issues.length===0}}})},nr=fe("ZodError",f8,{Parent:Error}),h8=id(nr),m8=od(nr),p8=sd(nr),g8=ld(nr),v8=c5(nr),y8=u5(nr),b8=d5(nr),x8=f5(nr),w8=h5(nr),S8=m5(nr),_8=p5(nr),C8=g5(nr),Zx=new WeakMap;function ud(e,n,r){const i=Object.getPrototypeOf(e);let s=Zx.get(i);if(s||(s=new Set,Zx.set(i,s)),!s.has(n)){s.add(n);for(const l in r){const u=r[l];Object.defineProperty(i,l,{configurable:!0,enumerable:!1,get(){const d=u.bind(this);return Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d}),d},set(d){Object.defineProperty(this,l,{configurable:!0,writable:!0,enumerable:!0,value:d})}})}}}const Ft=fe("ZodType",(e,n)=>(Pt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Tu(e,"input"),output:Tu(e,"output")}}),e.toJSONSchema=LL(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,i)=>h8(e,r,i,{callee:e.parse}),e.safeParse=(r,i)=>p8(e,r,i),e.parseAsync=async(r,i)=>m8(e,r,i,{callee:e.parseAsync}),e.safeParseAsync=async(r,i)=>g8(e,r,i),e.spa=e.safeParseAsync,e.encode=(r,i)=>v8(e,r,i),e.decode=(r,i)=>y8(e,r,i),e.encodeAsync=async(r,i)=>b8(e,r,i),e.decodeAsync=async(r,i)=>x8(e,r,i),e.safeEncode=(r,i)=>w8(e,r,i),e.safeDecode=(r,i)=>S8(e,r,i),e.safeEncodeAsync=async(r,i)=>_8(e,r,i),e.safeDecodeAsync=async(r,i)=>C8(e,r,i),ud(e,"ZodType",{check(...r){const i=this.def;return this.clone(Xa(i,{checks:[...i.checks??[],...r.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,i){return Ja(this,r,i)},brand(){return this},register(r,i){return r.add(this,i),this},refine(r,i){return this.check(v$(r,i))},superRefine(r,i){return this.check(y$(r,i))},overwrite(r){return this.check(Ko(r))},optional(){return Xx(this)},exactOptional(){return a$(this)},nullable(){return Jx(this)},nullish(){return Xx(Jx(this))},nonoptional(r){return u$(this,r)},array(){return K8(this)},or(r){return X8([this,r])},and(r){return W8(this,r)},transform(r){return Wx(this,n$(r))},default(r){return s$(this,r)},prefault(r){return c$(this,r)},catch(r){return f$(this,r)},pipe(r){return Wx(this,r)},readonly(){return p$(this)},describe(r){const i=this.clone();return Ys.add(i,{description:r}),i},meta(...r){if(r.length===0)return Ys.get(this);const i=this.clone();return Ys.add(i,r[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ys.get(e)?.description},configurable:!0}),e)),RC=fe("_ZodString",(e,n)=>{dg.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>IL(e,i,s);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,ud(e,"_ZodString",{regex(...i){return this.check(wL(...i))},includes(...i){return this.check(CL(...i))},startsWith(...i){return this.check(EL(...i))},endsWith(...i){return this.check(RL(...i))},min(...i){return this.check(ju(...i))},max(...i){return this.check(xC(...i))},length(...i){return this.check(wC(...i))},nonempty(...i){return this.check(ju(1,...i))},lowercase(i){return this.check(SL(i))},uppercase(i){return this.check(_L(i))},trim(){return this.check(TL())},normalize(...i){return this.check(jL(...i))},toLowerCase(){return this.check(OL())},toUpperCase(){return this.check(AL())},slugify(){return this.check(ML())}})}),E8=fe("ZodString",(e,n)=>{dg.init(e,n),RC.init(e,n),e.email=r=>e.check(Z6(R8,r)),e.url=r=>e.check(J6(j8,r)),e.jwt=r=>e.check(hL(U8,r)),e.emoji=r=>e.check(W6(T8,r)),e.guid=r=>e.check(qx(Kx,r)),e.uuid=r=>e.check(K6(ru,r)),e.uuidv4=r=>e.check(Y6(ru,r)),e.uuidv6=r=>e.check(Q6(ru,r)),e.uuidv7=r=>e.check(X6(ru,r)),e.nanoid=r=>e.check(eL(O8,r)),e.guid=r=>e.check(qx(Kx,r)),e.cuid=r=>e.check(tL(A8,r)),e.cuid2=r=>e.check(nL(M8,r)),e.ulid=r=>e.check(rL(N8,r)),e.base64=r=>e.check(uL(P8,r)),e.base64url=r=>e.check(dL(F8,r)),e.xid=r=>e.check(aL(D8,r)),e.ksuid=r=>e.check(iL(z8,r)),e.ipv4=r=>e.check(oL(k8,r)),e.ipv6=r=>e.check(sL(L8,r)),e.cidrv4=r=>e.check(lL($8,r)),e.cidrv6=r=>e.check(cL(I8,r)),e.e164=r=>e.check(fL(V8,r)),e.datetime=r=>e.check(i8(r)),e.date=r=>e.check(s8(r)),e.time=r=>e.check(c8(r)),e.duration=r=>e.check(d8(r))});function uu(e){return G6(E8,e)}const _t=fe("ZodStringFormat",(e,n)=>{xt.init(e,n),RC.init(e,n)}),R8=fe("ZodEmail",(e,n)=>{n6.init(e,n),_t.init(e,n)}),Kx=fe("ZodGUID",(e,n)=>{e6.init(e,n),_t.init(e,n)}),ru=fe("ZodUUID",(e,n)=>{t6.init(e,n),_t.init(e,n)}),j8=fe("ZodURL",(e,n)=>{r6.init(e,n),_t.init(e,n)}),T8=fe("ZodEmoji",(e,n)=>{a6.init(e,n),_t.init(e,n)}),O8=fe("ZodNanoID",(e,n)=>{i6.init(e,n),_t.init(e,n)}),A8=fe("ZodCUID",(e,n)=>{o6.init(e,n),_t.init(e,n)}),M8=fe("ZodCUID2",(e,n)=>{s6.init(e,n),_t.init(e,n)}),N8=fe("ZodULID",(e,n)=>{l6.init(e,n),_t.init(e,n)}),D8=fe("ZodXID",(e,n)=>{c6.init(e,n),_t.init(e,n)}),z8=fe("ZodKSUID",(e,n)=>{u6.init(e,n),_t.init(e,n)}),k8=fe("ZodIPv4",(e,n)=>{p6.init(e,n),_t.init(e,n)}),L8=fe("ZodIPv6",(e,n)=>{g6.init(e,n),_t.init(e,n)}),$8=fe("ZodCIDRv4",(e,n)=>{v6.init(e,n),_t.init(e,n)}),I8=fe("ZodCIDRv6",(e,n)=>{y6.init(e,n),_t.init(e,n)}),P8=fe("ZodBase64",(e,n)=>{b6.init(e,n),_t.init(e,n)}),F8=fe("ZodBase64URL",(e,n)=>{w6.init(e,n),_t.init(e,n)}),V8=fe("ZodE164",(e,n)=>{S6.init(e,n),_t.init(e,n)}),U8=fe("ZodJWT",(e,n)=>{C6.init(e,n),_t.init(e,n)}),H8=fe("ZodBoolean",(e,n)=>{E6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>PL(e,r,i)});function Yx(e){return yL(H8,e)}const B8=fe("ZodUnknown",(e,n)=>{R6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>VL()});function Qx(){return bL(B8)}const q8=fe("ZodNever",(e,n)=>{j6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>FL(e,r,i)});function G8(e){return xL(q8,e)}const Z8=fe("ZodArray",(e,n)=>{T6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>qL(e,r,i,s),e.element=n.element,ud(e,"ZodArray",{min(r,i){return this.check(ju(r,i))},nonempty(r){return this.check(ju(1,r))},max(r,i){return this.check(xC(r,i))},length(r,i){return this.check(wC(r,i))},unwrap(){return this.element}})});function K8(e,n){return NL(Z8,e,n)}const Y8=fe("ZodObject",(e,n)=>{A6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>GL(e,r,i,s),dt(e,"shape",()=>n.shape),ud(e,"ZodObject",{keyof(){return e$(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:Qx()})},loose(){return this.clone({...this._zod.def,catchall:Qx()})},strict(){return this.clone({...this._zod.def,catchall:G8()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return X4(this,r)},safeExtend(r){return J4(this,r)},merge(r){return W4(this,r)},pick(r){return Y4(this,r)},omit(r){return Q4(this,r)},partial(...r){return e5(jC,this,r[0])},required(...r){return t5(TC,this,r[0])}})});function hg(e,n){const r={type:"object",shape:e??{},...Le(n)};return new Y8(r)}const Q8=fe("ZodUnion",(e,n)=>{M6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>ZL(e,r,i,s),e.options=n.options});function X8(e,n){return new Q8({type:"union",options:e,...Le(n)})}const J8=fe("ZodIntersection",(e,n)=>{N6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>KL(e,r,i,s)});function W8(e,n){return new J8({type:"intersection",left:e,right:n})}const Km=fe("ZodEnum",(e,n)=>{D6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(i,s,l)=>UL(e,i,s),e.enum=n.entries,e.options=Object.values(n.entries);const r=new Set(Object.keys(n.entries));e.extract=(i,s)=>{const l={};for(const u of i)if(r.has(u))l[u]=n.entries[u];else throw new Error(`Key ${u} not found in enum`);return new Km({...n,checks:[],...Le(s),entries:l})},e.exclude=(i,s)=>{const l={...n.entries};for(const u of i)if(r.has(u))delete l[u];else throw new Error(`Key ${u} not found in enum`);return new Km({...n,checks:[],...Le(s),entries:l})}});function e$(e,n){const r=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new Km({type:"enum",entries:r,...Le(n)})}const t$=fe("ZodTransform",(e,n)=>{z6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>BL(e,r),e._zod.parse=(r,i)=>{if(i.direction==="backward")throw new sC(e.constructor.name);r.addIssue=l=>{if(typeof l=="string")r.issues.push(hl(l,r.value,n));else{const u=l;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=r.value),u.inst??(u.inst=e),r.issues.push(hl(u))}};const s=n.transform(r.value,r);return s instanceof Promise?s.then(l=>(r.value=l,r.fallback=!0,r)):(r.value=s,r.fallback=!0,r)}});function n$(e){return new t$({type:"transform",transform:e})}const jC=fe("ZodOptional",(e,n)=>{bC.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>EC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Xx(e){return new jC({type:"optional",innerType:e})}const r$=fe("ZodExactOptional",(e,n)=>{k6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>EC(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function a$(e){return new r$({type:"optional",innerType:e})}const i$=fe("ZodNullable",(e,n)=>{L6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>YL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function Jx(e){return new i$({type:"nullable",innerType:e})}const o$=fe("ZodDefault",(e,n)=>{$6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>XL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function s$(e,n){return new o$({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():uC(n)}})}const l$=fe("ZodPrefault",(e,n)=>{I6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>JL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function c$(e,n){return new l$({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():uC(n)}})}const TC=fe("ZodNonOptional",(e,n)=>{P6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>QL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function u$(e,n){return new TC({type:"nonoptional",innerType:e,...Le(n)})}const d$=fe("ZodCatch",(e,n)=>{F6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>WL(e,r,i,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function f$(e,n){return new d$({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const h$=fe("ZodPipe",(e,n)=>{V6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>e8(e,r,i,s),e.in=n.in,e.out=n.out});function Wx(e,n){return new h$({type:"pipe",in:e,out:n})}const m$=fe("ZodReadonly",(e,n)=>{U6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>t8(e,r,i,s),e.unwrap=()=>e._zod.def.innerType});function p$(e){return new m$({type:"readonly",innerType:e})}const g$=fe("ZodCustom",(e,n)=>{H6.init(e,n),Ft.init(e,n),e._zod.processJSONSchema=(r,i,s)=>HL(e,r)});function v$(e,n={}){return DL(g$,e,n)}function y$(e,n){return zL(e,n)}const b$=/\.(md|markdown)$/i,x$=/\.(png|jpe?g|gif|svg|webp|ico|bmp|avif)$/i,OC=/\.html?$/i,AC=/\.pdf$/i,w$=/\.(csv|tsv)$/i,S$=/\.(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 mg(e){if(e<1024)return e+" B";const n=["KB","MB","GB","TB"];let r=-1;do e/=1024,r++;while(e>=1024&&r`:e.user||e.author||"unknown"}function E$({className:e,...n}){return f.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:f.jsx("table",{"data-slot":"table",className:Je("w-full caption-bottom text-sm",e),...n})})}function R$({className:e,...n}){return f.jsx("thead",{"data-slot":"table-header",className:Je("[&_tr]:border-b",e),...n})}function j$({className:e,...n}){return f.jsx("tbody",{"data-slot":"table-body",className:Je("[&_tr:last-child]:border-0",e),...n})}function ew({className:e,...n}){return f.jsx("tr",{"data-slot":"table-row",className:Je("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...n})}function tw({className:e,...n}){return f.jsx("th",{"data-slot":"table-head",className:Je("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function T$({className:e,...n}){return f.jsx("td",{"data-slot":"table-cell",className:Je("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function O$({header:e}){const n=e.column.getIsSorted();return e.column.getCanSort()?f.jsx(tw,{"data-sort":n||void 0,"aria-sort":n==="asc"?"ascending":n==="desc"?"descending":"none",children:f.jsxs("button",{type:"button",className:"th-sort",onClick:e.column.getToggleSortingHandler(),children:[Fm(e.column.columnDef.header,e.getContext()),n==="asc"?" ↑":n==="desc"?" ↓":""]})}):f.jsx(tw,{children:Fm(e.column.columnDef.header,e.getContext())})}function DC({table:e,className:n}){return f.jsx("div",{className:"admin-list admin-card-table"+(n?" "+n:""),children:f.jsxs(E$,{className:"admin-table",children:[f.jsx(R$,{children:e.getHeaderGroups().map(r=>f.jsx(ew,{children:r.headers.map(i=>f.jsx(O$,{header:i},i.id))},r.id))}),f.jsx(j$,{children:e.getRowModel().rows.map(r=>f.jsx(ew,{className:"admin-item",children:r.getVisibleCells().map(i=>f.jsx(T$,{children:Fm(i.column.columnDef.cell,i.getContext())},i.id))},r.id))})]})})}function zC(e){return e?"expires "+new Date(e).toLocaleDateString():"no expiry"}function A$(e){if(e.opens===void 0)return null;if(e.opens===0)return"not opened yet";const n=`${e.opens} open${e.opens===1?"":"s"}`;return e.last_opened?`${n} · last opened ${new Date(e.last_opened).toLocaleDateString()}`:n}function kC(e,n){const r=[];n&&e.project_name&&r.push(e.project_name),e.creator&&r.push("by "+e.creator),e.created&&r.push(new Date(e.created).toLocaleDateString()),r.push(zC(e.expires));const i=A$(e);return i&&r.push(i),r.join(" · ")}const LC="Opens count how many times a file has been read through a public link. Repeat opens by the same reader within 10 minutes count once.";function $C({shares:e,onChanged:n,showProject:r=!1,canRevoke:i=!0,empty:s="No public shares.",loading:l=!1}){const[u,d]=S.useState([]),p=S.useMemo(()=>k_(),[]),m=S.useMemo(()=>[p.accessor("path",{header:"Path",cell:v=>f.jsx("a",{className:"ai-main mono",title:v.getValue(),...dl(ul(v.getValue(),v.row.original.project)),children:v.getValue()})}),p.accessor(v=>kC(v,r),{id:"detail",header:r?"Project":"Shared",cell:v=>f.jsx("span",{className:"ai-tag",children:v.getValue()})}),p.display({id:"actions",header:"",cell:v=>i?f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${v.row.original.path}`,onClick:()=>IC(v.row.original,n),children:"Revoke"}):null})],[p,n,r,i]),y=Z_({data:e,columns:m,state:{sorting:u},onSortingChange:d,getCoreRowModel:q_(),getSortedRowModel:G_()});return l?f.jsx("div",{className:"admin-list",children:f.jsx("div",{className:"admin-empty",children:"Loading…"})}):e.length===0?f.jsx("div",{className:"admin-list",children:f.jsx("div",{className:"admin-empty",children:s})}):f.jsx(DC,{table:y,className:"shares-table"})}async function IC(e,n){if(await Cl("Revoke share link",`Revoke the public link to “${e.path}”? Anyone with the URL will lose access.`,"Revoke",!0))try{await Wn("DELETE","/api/shares/"+e.token),Ke("Share revoked."),n()}catch(r){Ke(r.message,!0)}}const M$=hg({name:uu().trim().min(1,"Give the organization a name.").max(60,"Keep it under 60 characters.")});function N$({org:e,projects:n,myEmail:r}){const i=Ai(),s=e.role==="owner",l=()=>i.invalidateQueries({queryKey:["orgs"]}),u=()=>i.invalidateQueries({queryKey:["invites",e.id]}),d=()=>i.invalidateQueries({queryKey:["orgShares",e.id]}),p=ag({resolver:fg(M$),values:{name:e.name}}),{data:m}=Ht({queryKey:["invites",e.id],queryFn:()=>Yt(`/api/orgs/${e.id}/invites`),enabled:s,select:x=>x.invites||[]}),{data:y,isLoading:v}=Ht({queryKey:["orgShares",e.id],queryFn:()=>Yt(`/api/orgs/${e.id}/shares`),enabled:s,select:x=>x.shares||[]}),b=n.filter(x=>x.org===e.id);return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{id:"org-title",children:e.name}),!s&&f.jsx("p",{className:"role-chip-row",children:f.jsx("span",{className:"ai-tag role-chip",children:"Member"})}),!s&&f.jsx("p",{className:"admin-sub",children:"Only owners can rename this organization, manage members, or issue invite links."}),s&&f.jsxs("form",{className:"admin-row",onSubmit:p.handleSubmit(async({name:x})=>{try{await Wn("PATCH","/api/orgs/"+e.id,{name:x}),Ke("Renamed."),l()}catch(w){Ke(w.message,!0)}}),children:[f.jsx("label",{className:"admin-lbl",htmlFor:"org-rename",children:"Organization name"}),f.jsx("input",{id:"org-rename",type:"text","aria-invalid":!!p.formState.errors.name,"aria-describedby":p.formState.errors.name?"org-rename-err":void 0,...p.register("name")}),f.jsx(vt,{variant:"subtle",id:"org-rename-btn",type:"submit",disabled:!p.formState.isDirty,children:"Rename org"}),p.formState.errors.name&&f.jsx("span",{id:"org-rename-err",role:"alert",className:"field-err",children:p.formState.errors.name.message})]}),f.jsx("h3",{children:"Members"}),f.jsx(D$,{org:e,owner:s,myEmail:r,onChanged:l}),f.jsx("h3",{children:"Projects"}),f.jsxs("div",{className:"admin-list",children:[b.length===0&&f.jsx("div",{className:"admin-empty",children:"No projects yet."}),b.map(x=>f.jsx("div",{className:"admin-item",children:f.jsx("span",{className:"ai-main",title:x.name,children:x.name})},x.id))]}),s&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"admin-h",children:[f.jsx("h3",{children:"Invite links"}),f.jsx(vt,{variant:"primary",onClick:async()=>{try{const x=await Si(`/api/orgs/${e.id}/invites`),w=await Bo(x.url);Ke(w?"Invite link copied to clipboard.":"Invite created — copy it from the list below."),u()}catch(x){Ke(x.message,!0)}},children:"New invite"})]}),f.jsxs("div",{className:"admin-list",children:[m&&m.length===0&&f.jsx("div",{className:"admin-empty",children:"No active invite links."}),(m||[]).map(x=>f.jsxs("div",{className:"admin-item",children:[f.jsx("button",{type:"button",className:"ai-main mono ai-copy","aria-label":`Copy invite link ${x.url}`,title:x.url,onClick:()=>Bo(x.url).then(w=>Ke(w?"Copied.":"Select and copy the link.")),children:x.url}),f.jsx("span",{className:"ai-tag",children:(x.creator?"by "+x.creator+" · ":"")+(x.uses?x.uses+" joined · ":"unused · ")+"expires "+new Date(x.expires).toLocaleDateString()}),f.jsx("button",{className:"ai-del","aria-label":`Revoke invite ${x.token.slice(0,8)}`,onClick:async()=>{if(await Cl("Revoke invite",`Revoke the link starting ${x.token.slice(0,8)}…? Anyone still holding it won't be able to join.`,"Revoke",!0))try{await Wn("DELETE",`/api/orgs/${e.id}/invites/${x.token}`),Ke("Revoked."),u()}catch(w){Ke(w.message,!0)}},children:"Revoke"})]},x.token))]}),f.jsx("h3",{children:"Public share links"}),f.jsx("p",{className:"admin-sub",children:"Every live link across this organization's projects. A project's own links are on its Settings page, and on the file itself."}),f.jsx($C,{shares:y||[],loading:v,onChanged:d,showProject:!0})]})]})}function D$({org:e,owner:n,myEmail:r,onChanged:i}){const[s,l]=S.useState([{id:"email",desc:!1}]),u=S.useMemo(()=>k_(),[]),d=S.useMemo(()=>[u.accessor("email",{id:"email",header:"Member",cell:m=>{const y=!!r&&m.getValue().toLowerCase()===r.toLowerCase();return f.jsx("span",{className:"ai-main",title:m.getValue(),children:m.getValue()+(y?" (you)":"")})}}),u.accessor("role",{id:"role",header:"Role",cell:m=>{const y=m.row.original,v=!!r&&y.email.toLowerCase()===r.toLowerCase();return!n||v?f.jsx("span",{className:"ai-tag role-static",children:y.role}):f.jsxs("span",{className:"role-cell",children:[f.jsxs("select",{"aria-label":`Role for ${y.email}`,value:y.role,onChange:async b=>{try{await Wn("PATCH",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`,{role:b.target.value}),Ke("Role updated.")}catch(x){Ke(x.message,!0)}i()},children:[f.jsx("option",{value:"owner",children:"owner"}),f.jsx("option",{value:"member",children:"member"})]}),f.jsx("button",{className:"ai-del","aria-label":`Remove ${y.email}`,onClick:async()=>{if(await Cl("Remove member",`Remove ${y.email} from ${e.name}?`,"Remove",!0))try{await Wn("DELETE",`/api/orgs/${e.id}/members/${encodeURIComponent(y.email)}`),Ke("Removed."),i()}catch(b){Ke(b.message,!0)}},children:"Remove"})]})}})],[u,e.id,e.name,n,r]),p=Z_({data:e.members,columns:d,state:{sorting:s},onSortingChange:l,getCoreRowModel:q_(),getSortedRowModel:G_()});return f.jsx(DC,{table:p})}const z$=hg({require_verification:Yx(),require_approval:Yx()});function k$(){const e=Ai(),{data:n,error:r}=Ht({queryKey:["admin","policy"],queryFn:()=>Yt("/api/admin/policy")}),{data:i}=T_(!0),s=ag({resolver:fg(z$),values:n?{require_verification:n.require_verification&&n.mailer,require_approval:n.require_approval}:{require_verification:!1,require_approval:!1}});if(S.useEffect(()=>{r&&Ke(r.message,!0)},[r]),!n)return null;const l=async(u,d,p)=>{try{await Si(`/api/admin/pending/${u}/${d}`),Ke((d==="approve"?"Approved ":"Denied ")+p),e.invalidateQueries({queryKey:["admin","pending"]})}catch(m){Ke(m.message,!0)}};return f.jsxs("div",{className:"admin",children:[f.jsx("h1",{children:"Signup & access"}),f.jsx("p",{className:"admin-sub",children:"Who can create an account on this hub, and how new accounts are vetted."}),f.jsx("h3",{children:"New-account vetting"}),f.jsxs("form",{onSubmit:s.handleSubmit(async u=>{try{await Si("/api/admin/policy",u),Ke("Signup policy saved."),e.invalidateQueries({queryKey:["admin","policy"]})}catch(d){Ke(d.message,!0)}}),children:[f.jsxs("div",{className:"admin-list",children:[f.jsx(nw,{label:"Require email verification",desc:n.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.",disabled:!n.mailer,inputProps:s.register("require_verification")}),f.jsx(nw,{label:"Require admin approval",desc:"New accounts wait for a hub admin to approve them before they gain access.",inputProps:s.register("require_approval")})]}),f.jsx(vt,{variant:"primary",type:"submit",style:{marginTop:14},disabled:!s.formState.isDirty,children:"Save policy"})]}),f.jsx("h3",{children:"Who can sign up"}),f.jsxs("div",{className:"admin-list",children:[f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Allowed email domains"}),f.jsx("span",{className:"ai-tag",children:n.allowed_domains&&n.allowed_domains.length?n.allowed_domains.map(u=>"@"+u).join(", "):"any"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Self-signup"}),f.jsx("span",{className:"ai-tag",children:n.allow_signup?"open":"invite-only"})]}),f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:"Hub admins"}),f.jsx("span",{className:"ai-tag",children:n.admins&&n.admins.length?n.admins.join(", "):"none"})]})]}),f.jsx("p",{className:"admin-sub",children:"Domains and admins are set in the server config file (they can't be widened from the browser)."}),f.jsx("h3",{children:"Pending signups"}),f.jsxs("div",{className:"admin-list",children:[(!i||i.length===0)&&f.jsx("div",{className:"admin-empty",children:"No one is waiting for approval."}),(i||[]).map(u=>f.jsxs("div",{className:"admin-item",children:[f.jsx("span",{className:"ai-main",children:(u.name?u.name+" · ":"")+u.email}),f.jsx(vt,{variant:"primary",onClick:()=>l(u.id,"approve",u.email),children:"Approve"}),f.jsx("button",{className:"ai-del",onClick:()=>l(u.id,"deny",u.email),children:"Deny"})]},u.id))]})]})}function nw({label:e,desc:n,disabled:r,inputProps:i}){return f.jsxs("label",{className:"admin-item toggle",style:r?{opacity:.55}:void 0,children:[f.jsxs("span",{className:"ai-main",children:[f.jsx("div",{className:"tg-label",children:e}),f.jsx("div",{className:"tg-desc",children:n})]}),f.jsx("input",{type:"checkbox",disabled:r,...i})]})}function L$({...e}){return f.jsx(f1,{"data-slot":"select",...e})}function $$({...e}){return f.jsx(g1,{"data-slot":"select-value",...e})}function I$({className:e,size:n="default",children:r,...i}){return f.jsxs(m1,{"data-slot":"select-trigger","data-size":n,className:Je("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...i,children:[r,f.jsx(v1,{asChild:!0,children:f.jsx(Bp,{className:"size-4 opacity-50"})})]})}function P$({className:e,children:n,position:r="item-aligned",align:i="center",...s}){return f.jsx(b1,{children:f.jsxs(x1,{"data-slot":"select-content",className:Je("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover 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",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:i,...s,children:[f.jsx(V$,{}),f.jsx(E1,{className:Je("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),f.jsx(U$,{})]})})}function F$({className:e,children:n,...r}){return f.jsxs(O1,{"data-slot":"select-item",className:Je("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[f.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:f.jsx(N1,{children:f.jsx(m_,{className:"size-4"})})}),f.jsx(A1,{children:n})]})}function V$({className:e,...n}){return f.jsx(D1,{"data-slot":"select-scroll-up-button",className:Je("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(uz,{className:"size-4"})})}function U$({className:e,...n}){return f.jsx(z1,{"data-slot":"select-scroll-down-button",className:Je("flex cursor-default items-center justify-center py-1",e),...n,children:f.jsx(Bp,{className:"size-4"})})}const rw=["#5b8def","#f5a623","#4cc38a","#e0679b","#8b7bf0","#3ec8c8","#e6934a"];function ml(e){let n=0;for(const r of e)n=n*31+r.charCodeAt(0)>>>0;return rw[n%rw.length]}function aw({projects:e,currentId:n,menu:r,onNew:i}){const s=e.find(l=>l.id===n);return f.jsxs("nav",{id:"projects","aria-label":"Projects",children:[f.jsxs("div",{className:"nav-head",children:[f.jsx("span",{children:"Projects"}),f.jsx("button",{className:"nav-add",title:"New project","aria-label":"New project",onClick:i,children:"+"})]}),f.jsx("div",{className:"proj-row",children:f.jsxs(L$,{value:n||"",onValueChange:l=>{l&&l!==n&&(Zt("/"+l),mr())},children:[f.jsxs(I$,{id:"project-select","aria-label":`Switch project — current: ${s?.name??"none"}`,title:s?.name,className:"proj-trigger",children:[s&&f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:ml(s.name)},children:f.jsx($o,{name:s.icon})}),s?f.jsx("span",{"data-slot":"select-value",children:s.name}):f.jsx($$,{placeholder:"Select a project"})]}),f.jsx(P$,{className:"proj-menu",position:"popper",sideOffset:4,children:e.map(l=>f.jsxs(F$,{value:l.id,children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:ml(l.name)},children:f.jsx($o,{name:l.icon})}),l.name]},l.id))})]})}),r&&f.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(([l,u,d,p])=>f.jsx("li",{children:f.jsxs("div",{id:"nav-"+l,className:"row"+(r.active===l?" active":""),role:"button",tabIndex:0,onClick:p,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),p())},children:[f.jsx(ut,{name:d}),f.jsx("span",{className:"label",children:u})]})},l))})]})}function PC({...e}){return f.jsx(UM,{"data-slot":"dropdown-menu",...e})}function FC({...e}){return f.jsx(HM,{"data-slot":"dropdown-menu-trigger",...e})}function VC({className:e,sideOffset:n=4,...r}){return f.jsx(BM,{children:f.jsx(qM,{"data-slot":"dropdown-menu-content",sideOffset:n,className:Je("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",e),...r})})}function zo({className:e,inset:n,variant:r="default",...i}){return f.jsx(ZM,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":r,className:Je("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!",e),...i})}function tm({className:e,inset:n,...r}){return f.jsx(GM,{"data-slot":"dropdown-menu-label","data-inset":n,className:Je("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}const H$="https://github.com/runbear-io/beardrive";function B$(){return f.jsx("svg",{viewBox:"0 0 16 16",className:"gh-mark",fill:"currentColor","aria-hidden":"true",children:f.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})}function q$({me:e,org:n,admin:r,orgActive:i,billing:s}){const l=e.name||e.email,[u,d]=S.useState(!1),p=n?dl(n.manage_url):null,m=s?dl(s.url):null;return f.jsxs("footer",{id:"accountbar",children:[f.jsxs("a",{className:"gh-star",href:H$,target:"_blank",rel:"noreferrer",children:[f.jsx(B$,{}),f.jsx("span",{children:"Star on GitHub"}),f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]}),f.jsxs(PC,{modal:!1,open:u,onOpenChange:d,children:[f.jsx(FC,{asChild:!0,children:f.jsxs("button",{id:"account-btn",className:i?"active":void 0,"aria-label":"Account menu",children:[f.jsx("span",{className:"avatar",style:{background:ml(e.email)},"aria-hidden":"true",children:(l.trim()[0]||"?").toUpperCase()}),f.jsxs("span",{className:"acct",children:[f.jsx("b",{children:l}),e.name&&f.jsx("small",{children:e.email})]}),f.jsx(ut,{name:"chev"})]})}),f.jsxs(VC,{id:"account-menu",side:"top",align:"start",sideOffset:6,className:"acct-menu",children:[n&&f.jsxs(f.Fragment,{children:[f.jsx(tm,{className:"menu-sec",children:"Organization"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-org-settings","aria-current":i?"page":void 0,...p,onClick:y=>{p?.onClick?.(y),d(!1)},children:[f.jsx(ut,{name:"gear"}),f.jsxs("span",{children:[f.jsx("b",{children:n.name})," Settings"]}),!n.manage_url.startsWith("/")&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"ext","aria-hidden":"true",children:"↗"}),f.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]})}),s&&f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"menu-billing",...m,onClick:y=>{m?.onClick?.(y),d(!1)},children:[f.jsx(ut,{name:"card"}),f.jsx("span",{children:"Billing"}),f.jsx("span",{className:"ps-chip plan-chip",children:s.plan})]})})]}),r&&f.jsxs(f.Fragment,{children:[f.jsx(tm,{className:"menu-sec",children:"Hub"}),f.jsxs(zo,{id:"menu-hub-admin",onSelect:r.onClick,children:[f.jsx(ut,{name:"shield"}),f.jsxs("span",{children:["Signup & access",r.pending?` · ${r.pending}`:""]})]})]}),f.jsx(tm,{className:"menu-sec",children:"Account"}),f.jsx(zo,{asChild:!0,children:f.jsxs("a",{id:"signout",href:"/auth/logout",children:[f.jsx(ut,{name:"power"}),f.jsx("span",{children:"Log out"})]})})]})]})]})}function $a({className:e,...n}){return f.jsx("div",{"data-slot":"card",className:Je("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...n})}function Ia({className:e,...n}){return f.jsx("div",{"data-slot":"card-header",className:Je("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function Pa({className:e,...n}){return f.jsx("div",{"data-slot":"card-title",className:Je("leading-none font-semibold",e),...n})}function Po({className:e,...n}){return f.jsx("div",{"data-slot":"card-description",className:Je("text-muted-foreground text-sm",e),...n})}function Fa({className:e,...n}){return f.jsx("div",{"data-slot":"card-content",className:Je("px-6",e),...n})}function na({className:e,orientation:n="horizontal",decorative:r=!0,...i}){return f.jsx(CN,{"data-slot":"separator",decorative:r,orientation:n,className:Je("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...i})}function G$({url:e}){const n=Ht({queryKey:["billing"],queryFn:()=>Yt(e)});if(n.isLoading)return f.jsx("div",{className:"empty",children:"Loading…"});if(n.error||!n.data)return f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Billing is unavailable"}),f.jsx("p",{children:n.error?.message||"Try again shortly."})]});const r=n.data;return f.jsxs("div",{className:"project-settings",id:"billing-view",children:[f.jsxs("h2",{children:["Billing",f.jsx("span",{className:"ps-chip plan-chip",children:r.plan.name})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsxs(Pa,{children:[r.plan.name," plan",r.plan.status?` (${r.plan.status})`:""]}),f.jsxs(Po,{children:["Organization ",r.org," · ",r.usage.used," of ",r.usage.cap," used · ",r.seats.used," of ",r.seats.cap," ",r.seats.cap===1?"seat":"seats"]})]}),f.jsx(na,{}),f.jsx(Fa,{children:f.jsx("div",{className:"usage-bar",children:f.jsx("div",{style:{width:`${r.usage.pct}%`}})})})]}),r.owner?f.jsx("div",{className:"plan-grid",children:r.plans.map(i=>f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:i.name}),f.jsx(Po,{children:i.blurb})]}),f.jsx(na,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"plan-price",children:[i.price,f.jsx("small",{children:" / user / month"})]}),f.jsxs("form",{method:"post",action:r.checkout_url,children:[f.jsx("input",{type:"hidden",name:"plan",value:i.id}),f.jsx(vt,{type:"submit",disabled:i.current,variant:i.current?"subtle":"default",children:i.current?"Current plan":`Upgrade to ${i.name}`})]})]})]},i.id))}):f.jsx("p",{className:"muted-note",children:"Only an organization owner can change the plan."}),r.owner&&r.has_customer&&f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Manage subscription"}),f.jsx(Po,{children:"Change seats, update the card, download invoices, or cancel."})]}),f.jsx(na,{}),f.jsx(Fa,{children:f.jsx("form",{method:"post",action:r.portal_url,children:f.jsx(vt,{type:"submit",variant:"subtle",children:"Open the billing portal"})})})]})]})}function du({className:e,type:n,...r}){return f.jsx("input",{type:n,"data-slot":"input",className:Je("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}function nm({className:e,...n}){return f.jsx(YM,{"data-slot":"label",className:Je("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function Z$({className:e,...n}){return f.jsx("textarea",{"data-slot":"textarea",className:Je("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}const iw={read:1,write:2,admin:3};function wi(e,n){return(iw[e||""]||0)>=(iw[n]||0)}const Ym=280,K$=hg({name:uu().trim().min(1,"Give the project a name.").max(120,"Keep the name under 120 characters."),description:uu().max(Ym,`Keep the description under ${Ym} characters.`),icon:uu()});function Y$({project:e,org:n,onDeleted:r}){const i=O_(),s=wi(e.perm,"admin"),l=ag({resolver:fg(K$),defaultValues:{name:e.name,description:e.description??"",icon:e.icon??""}});S.useEffect(()=>{l.reset({name:e.name,description:e.description??"",icon:e.icon??""})},[e.id,e.name,e.description,e.icon]);const u=l.watch("icon"),d=l.watch("description"),p=l.handleSubmit(async m=>{const y=l.formState.dirtyFields,v={};if(y.name&&(v.name=m.name.trim()),y.description&&(v.description=m.description),y.icon&&(v.icon=m.icon),Object.keys(v).length!==0)try{await Wn("PATCH","/api/projects/"+e.id,v),Ke("Saved."),l.reset({...m,name:m.name.trim()}),await i()}catch(b){Ke(b.message,!0)}});return f.jsxs("div",{className:"project-settings",children:[f.jsxs("h2",{children:[e.name,!wi(e.perm,"write")&&f.jsx("span",{className:"ps-chip",children:"Read-only"})]}),f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"General"}),f.jsx(Po,{children:"Name, description and icon for this project."})]}),f.jsx(na,{}),f.jsx(Fa,{children:f.jsxs("form",{className:"ps-form",onSubmit:p,children:[f.jsxs("div",{className:"ps-field",children:[f.jsx(nm,{htmlFor:"ps-icon-btn",children:"Icon"}),f.jsxs("div",{className:"ps-icon-row",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:ml(e.name)},children:f.jsx($o,{name:u})}),f.jsxs(PC,{children:[f.jsx(FC,{asChild:!0,children:f.jsx(vt,{id:"ps-icon-btn",type:"button",variant:"subtle",disabled:!s,children:"Change"})}),f.jsxs(VC,{align:"start",className:"ps-icon-grid",children:[f.jsx(zo,{className:"ps-icon-cell"+(u===""?" active":""),title:"Default","aria-label":"Default icon",onSelect:()=>l.setValue("icon","",{shouldDirty:!0}),children:f.jsx($o,{})}),Object.keys(Nm).map(m=>f.jsx(zo,{className:"ps-icon-cell"+(u===m?" active":""),title:m,"aria-label":m,onSelect:()=>l.setValue("icon",m,{shouldDirty:!0}),children:f.jsx($o,{name:m})},m))]})]})]})]}),f.jsxs("div",{className:"ps-field",children:[f.jsx(nm,{htmlFor:"ps-name",children:"Name"}),f.jsx(du,{id:"ps-name",disabled:!s,"aria-invalid":!!l.formState.errors.name,"aria-describedby":l.formState.errors.name?"ps-name-err":void 0,...l.register("name")}),l.formState.errors.name&&f.jsx("span",{id:"ps-name-err",role:"alert",className:"field-err",children:l.formState.errors.name.message})]}),f.jsxs("div",{className:"ps-field",children:[f.jsxs(nm,{htmlFor:"ps-desc",children:["Description ",f.jsx("span",{className:"ps-opt",children:"(optional)"})]}),f.jsx(Z$,{id:"ps-desc",rows:2,disabled:!s,placeholder:"What this project is for.","aria-invalid":!!l.formState.errors.description,"aria-describedby":l.formState.errors.description?"ps-desc-err":void 0,...l.register("description")}),f.jsxs("div",{className:"ps-meta",children:[l.formState.errors.description?f.jsx("span",{id:"ps-desc-err",role:"alert",className:"field-err",children:l.formState.errors.description.message}):f.jsx("span",{}),f.jsxs("span",{className:"ps-count",children:[d.length," / ",Ym]})]})]}),s&&f.jsxs(f.Fragment,{children:[f.jsx(na,{}),f.jsx("div",{className:"ps-actions",children:f.jsx(vt,{id:"ps-save",type:"submit",variant:"primary",disabled:!l.formState.isDirty||l.formState.isSubmitting,children:"Save changes"})})]})]})})]}),f.jsx(Q$,{project:e}),f.jsx(J$,{project:e,org:n}),f.jsxs($a,{children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"About"})}),f.jsx(na,{}),f.jsx(Fa,{children:f.jsxs("dl",{className:"ps-facts",children:[f.jsx("dt",{children:"Project id"}),f.jsx("dd",{children:f.jsx("code",{children:e.id})}),n&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Workspace"}),f.jsx("dd",{children:n.name})]}),e.created&&f.jsxs(f.Fragment,{children:[f.jsx("dt",{children:"Created"}),f.jsx("dd",{children:new Date(e.created).toLocaleDateString()})]})]})})]}),s&&f.jsxs($a,{className:"ps-danger",children:[f.jsx(Ia,{children:f.jsx(Pa,{children:"Danger zone"})}),f.jsx(na,{}),f.jsxs(Fa,{children:[f.jsx("p",{children:"Deleting removes the project from this hub. Its files stay in storage. This can't be undone."}),f.jsx(vt,{variant:"danger",onClick:async()=>{if(await R_(`Delete “${e.name}”?`,"This can't be undone. Type the project name to confirm:","","Delete project",{match:e.name,danger:!0})!==null)try{await Wn("DELETE","/api/projects/"+e.id),Ke(`Deleted “${e.name}”.`),await r()}catch(y){Ke(y.message,!0)}},children:"Delete project"})]})]})]})}function Q$({project:e}){const n=Ai(),{data:r,error:i,isLoading:s}=j_(e.id);return i?null:f.jsxs($a,{children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"Public links"}),f.jsxs(Po,{children:["Files in this project that anyone with the URL can read — no account needed.",(r||[]).some(l=>l.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]})]}),f.jsx(na,{}),f.jsx(Fa,{children:f.jsx($C,{shares:r||[],loading:s,canRevoke:wi(e.perm,"write"),onChanged:()=>n.invalidateQueries({queryKey:["shares",e.id]}),empty:"No public links."})})]})}const Qm=[{value:"admin",label:"Admin"},{value:"write",label:"Write"},{value:"read",label:"Read"},{value:"none",label:"No access"}],X$=Object.fromEntries(Qm.map(e=>[e.value,e.label]));function J$({project:e,org:n}){const r=Ai(),{data:i,error:s}=j3(e.id),l=wi(e.perm,"admin"),u=()=>{r.invalidateQueries({queryKey:["permissions",e.id]}),r.invalidateQueries({queryKey:["projects"]})},d=async(x,w)=>{try{await x(),Ke(w)}catch(_){Ke(_.message,!0)}u()};if(s||!i)return null;const p=i,m=`/api/p/${e.id}/permissions`,y=new Set((n?.members||[]).filter(x=>x.role==="owner").map(x=>x.email.toLowerCase())),v=[...p.grants.filter(x=>!y.has(x.email.toLowerCase())),...[...y].sort().map(x=>({email:x,level:"admin",owner:!0}))],b=async()=>{const x=await R_("Add an exception","Email of a workspace member. They get Read access; change it in the table.","","Add");x===null||!x.trim()||await d(()=>Wn("PUT",`${m}/${encodeURIComponent(x.trim())}`,{level:"read"}),"Added.")};return f.jsxs($a,{className:"ps-people",children:[f.jsxs(Ia,{children:[f.jsx(Pa,{children:"People"}),f.jsx(Po,{children:"Who can see and change this project."})]}),f.jsx(na,{}),f.jsxs(Fa,{children:[f.jsxs("p",{className:"ps-row",children:[f.jsxs("span",{children:["Everyone in ",n?.name||"this workspace"," can"]}),f.jsx("select",{"aria-label":"Default access for workspace members",disabled:!l,value:p.default,onChange:async x=>{const w=x.target.value;if(w==="none"&&!await Cl("Make this project invite-only?","Only people listed below (and workspace owners) will see this project.","Make invite-only")){u();return}await d(()=>Wn("PUT",m,{default:w}),"Default access updated.")},children:Qm.filter(x=>x.value!=="admin").map(x=>f.jsx("option",{value:x.value,children:x.label},x.value))})]}),p.default==="none"&&f.jsx("p",{className:"ps-note",children:"This project is invite-only: only the people below and workspace owners can see it."}),f.jsxs("div",{className:"ps-people-head",children:[f.jsx("h4",{children:"Exceptions"}),l&&f.jsx(vt,{type:"button",variant:"subtle",onClick:b,children:"+ Add"})]}),v.length===0?f.jsx("p",{className:"ps-note",children:"No exceptions — everyone gets the access above."}):f.jsx("div",{className:"admin-list",children:v.map(x=>{const w="owner"in x;return f.jsxs("div",{className:"admin-item",children:[f.jsxs("span",{className:"ai-main",title:x.email,children:[x.email,p.creator&&x.email.toLowerCase()===p.creator.toLowerCase()&&f.jsx("span",{className:"ai-tag",children:" (creator)"})]}),w?f.jsx("span",{className:"ai-tag",children:"Workspace owner — always admin"}):f.jsxs("span",{className:"role-cell",children:[f.jsx("select",{"aria-label":`Access for ${x.email}`,disabled:!l,value:x.level,onChange:_=>d(()=>Wn("PUT",`${m}/${encodeURIComponent(x.email)}`,{level:_.target.value}),`${x.email} is now ${X$[_.target.value]||_.target.value}.`),children:Qm.map(_=>f.jsx("option",{value:_.value,children:_.label},_.value))}),l&&f.jsx("button",{className:"ai-del","aria-label":`Remove exception for ${x.email}`,onClick:()=>d(()=>Wn("DELETE",`${m}/${encodeURIComponent(x.email)}`),"Reverted to the default access."),children:"Remove"})]})]},x.email)})})]})]})}const UC="https://raw.githubusercontent.com/runbear-io/beardrive/main/INSTALL_FOR_AGENTS.md";function HC({project:e,existing:n}){const r=window.location.origin,i=n?'. I already have a folder of notes — ask me which one to sync (the project is named "':'. Ask me which folder to sync (the project is named "',s="Follow "+UC+` +to set up BearDrive project `+e.id+" on "+r+i+e.name+'").',l=`brew install runbear-io/tap/beardrive +bdrive login `+r+` +bdrive init --project `+e.id;return f.jsxs("div",{className:"guide",children:[f.jsxs("h1",{className:"in-title gd-head",children:[f.jsx("span",{className:"proj-mark","aria-hidden":"true",style:{background:ml(e.name)},children:f.jsx($o,{name:e.icon})}),e.name]}),e.description&&f.jsx("p",{className:"in-desc",children:e.description}),f.jsxs("div",{className:"gd-body",children:[f.jsx("p",{className:"gd-desc",children:n?"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder you already have:":"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files:"}),n&&f.jsx("p",{className:"gd-note",children:"Your files stay exactly where they are. Connecting a folder never moves, renames or overwrites anything in it — it uploads what is there and keeps it in sync."}),f.jsx(Xm,{code:s}),f.jsx("p",{className:"gd-desc",children:"The agent installs the CLI, signs this machine in, and registers the sync hooks — asking before anything it changes."}),f.jsx("p",{className:"gd-desc",children:"Runs on macOS and Linux. Windows is not supported yet."}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"What exactly happens"}),f.jsxs("ul",{className:"gd-desc gd-list",children:[f.jsx("li",{children:"Sign-in uses a device code you approve in this browser — the folder itself never holds credentials."}),f.jsx("li",{children:"Sync hooks pull the latest before every agent turn, push edits seconds after they happen, and stamp each change with the session that made it; agent reads feed Insights. They register once per machine in your agent's own config, so every session is covered and nothing is written into the synced folder."}),f.jsx("li",{children:"Codex hooks are off by default: set [features] codex_hooks = true in ~/.codex/config.toml."})]})]}),f.jsxs("details",{className:"gd-manual",children:[f.jsx("summary",{children:"Or run it yourself"}),f.jsx("p",{className:"gd-desc",children:"Same result, in the folder you want the files. One command: init signs this device in, registers the sync hooks and starts syncing."}),f.jsx(Xm,{code:l}),f.jsx("p",{className:"gd-desc",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/install/",target:"_blank",rel:"noreferrer",children:"Full manual setup guide →"})})]})]})]})}function Xm({code:e}){const[n,r]=S.useState("Copy");return f.jsxs("pre",{className:"gd-code",children:[f.jsx("code",{children:e}),f.jsx("button",{className:"gd-copy",onClick:async()=>{r(await Bo(e)?"Copied":"Copy failed"),setTimeout(()=>r("Copy"),1400)},children:n})]})}function W$({onNew:e,canCreate:n}){return f.jsxs("div",{className:"onboard",children:[f.jsx("h1",{children:"Welcome to BearDrive"}),f.jsx("p",{children:"You're signed in, but you're not part of any project yet."}),n&&f.jsxs("div",{className:"ob-card ob-start",children:[f.jsx("h3",{children:"Start a project"}),f.jsx("p",{children:"Name it and pick what it starts from — a structure, or nothing at all. Then connect a folder on any machine and it stays in sync."}),f.jsx(vt,{variant:"primary",id:"ob-new",onClick:e,children:"New project"})]}),f.jsxs("div",{className:"ob-card ob-agent",children:[f.jsx("h3",{children:n?"Or let your agent do it":"Connect a new drive to your project"}),f.jsx("p",{children:"Paste into your coding agent — Claude Code, Cowork, Codex, Gemini CLI, Hermes — in the folder where you want the files. It creates the project and starts syncing:"}),f.jsx(Xm,{code:"Follow "+UC+` +to set up a new BearDrive project on `+window.location.origin+". Ask me which folder to sync."}),f.jsx("p",{className:"ob-alt",children:f.jsx("a",{href:"https://docs.beardrive.ai/manual/setup-by-hand/",target:"_blank",rel:"noreferrer",children:"Or start a project manually →"})})]})]})}const BC="__existing__";function eI({templates:e,onCreate:n,onClose:r}){const i=[...e.map(x=>({value:x.name,title:x.title,blurb:x.blurb,rule:!1})),{value:BC,title:"I already have a folder",blurb:"nothing is seeded — connect it and your files stay as they are",rule:!0},{value:"",title:"Empty project",blurb:"just the folder",rule:!1}],[s,l]=S.useState(""),[u,d]=S.useState(i[0].value),[p,m]=S.useState(""),[y,v]=S.useState(!1),b=async()=>{if(!y){if(!s.trim()){m("Give it a name.");return}v(!0);try{await n(s.trim(),u)}finally{v(!1)}}};return f.jsx(Ju,{open:!0,onOpenChange:x=>!x&&r(),children:f.jsxs(Wu,{className:"modal",showCloseButton:!1,children:[f.jsx(Sl,{asChild:!0,children:f.jsx("h3",{children:"New project"})}),f.jsx("label",{className:"modal-label",htmlFor:"modal-input",children:"Name"}),f.jsx("input",{className:"modal-input",type:"text",autoComplete:"off",id:"modal-input",autoFocus:!0,value:s,"aria-invalid":!!p,"aria-describedby":p?"modal-input-err":void 0,onChange:x=>{l(x.currentTarget.value),p&&m("")},onKeyDown:x=>x.key==="Enter"&&b()}),p&&f.jsx("span",{id:"modal-input-err",role:"alert",className:"field-err",children:p}),i.length>1&&f.jsxs("fieldset",{className:"start-points",children:[f.jsx("legend",{className:"modal-label",children:"Starting point"}),i.map((x,w)=>f.jsxs("label",{className:"start-point"+(u===x.value?" on":"")+(x.rule?" sp-rule":""),children:[f.jsx("input",{type:"radio",name:"template",value:x.value,checked:u===x.value,onChange:()=>d(x.value)}),f.jsxs("span",{className:"sp-text",children:[f.jsxs("span",{className:"sp-title",children:[x.title,w===0&&f.jsx("span",{className:"sp-rec",children:"Recommended"})]}),f.jsx("span",{className:"sp-blurb",children:x.blurb})]})]},x.value))]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{variant:"subtle",onClick:r,children:"Cancel"}),f.jsx(vt,{variant:"primary",onClick:b,disabled:y,children:"Create"})]})]})})}function ow(e,n,r){if(!e)return null;if(!r)return e[n]||null;const i={human:0,agent:0,share:0};for(const[s,l]of Object.entries(e))s.startsWith(n+"/")&&(i.human+=l.human||0,i.agent+=l.agent||0,i.share+=l.share||0);return i.human||i.agent||i.share?i:null}function ka(e){return(e.human||0)+(e.agent||0)+(e.share||0)}function Qs(e){const n=ka(e);if(!n)return"";const r=n+(n===1?" read":" reads");if(!e.agent&&!e.share)return r;const i=[];return e.human&&i.push(e.human+" human"),e.agent&&i.push(e.agent+" agent"),e.share&&i.push(e.share+" shared"),r+" ("+i.join(", ")+")"}function tI(e){const n=ka(e);return n?n<3?1:n<10?2:n<30?3:4:0}function nI(e){const n=ka(e);return n?{agent:(e.agent||0)/n,human:(e.human||0)/n,share:(e.share||0)/n}:{agent:0,human:0,share:0}}function rI(e,n){return e?Object.keys(e).filter(r=>!n.has(r)).sort():[]}const aI=7;function iI(e){if(!e.length)return null;let n=e[0],r=e[0];for(const i of e)ir&&(r=i);return{min:n,max:r}}const oI=(e,n)=>n-el.reads-s.reads).slice(0,lI)){const s=i.path.split("/").pop();let l=i.cx+i.r+4,u="start";l+s.length*cI>n.right&&(l=i.cx-i.r-4,u="end");const d=m=>r.every(y=>Math.abs(y.y-m)>=rm);let p=i.cy;for(;p<=n.bottom&&!d(p);)p+=rm;if(p>n.bottom)for(p=i.cy;p>=n.top&&!d(p);)p-=rm;r.push({path:i.path,name:s,x:l,y:Math.min(n.bottom,Math.max(n.top,p)),anchor:u})}return r}function dI(e,n=!0){const r=Ht({queryKey:["tree",e],queryFn:()=>Yt(e+"tree"),enabled:n,refetchInterval:15e3}),i=S.useMemo(()=>{const s=[],l=new Map,u=d=>{for(const p of d.children||[])p.dir?(l.set(p.path,p),u(p)):s.push(p)};return r.data&&u(r.data),{flatFiles:s,dirIndex:l}},[r.data]);return{tree:r.data,...i,loaded:!!r.data}}function fI(e,n){return Ht({queryKey:["heat",e],queryFn:()=>Yt(e+"heat?days=30"),enabled:n,staleTime:6e4,refetchInterval:6e4}).data?.entries??null}function hI(e,n,r){return Ht({queryKey:["history",e,"prefix",n,20],queryFn:()=>Yt(e+"history?prefix="+encodeURIComponent(n)+"&n=20"),enabled:r,staleTime:15e3}).data?.entries??null}function mI(e,n,r){const i=new Array(e);return new Proxy(i,{get(s,l,u){if(typeof l=="string"){const d=l.charCodeAt(0);if(d>=48&&d<=57){const p=+l;if(Number.isInteger(p)&&p>=0&&pi[y]!==m))&&(i=d,s=n(...d),r?.onChange&&!(l&&r.skipInitialOnChange)&&r.onChange(s),l=!1),s}return u.updateDeps=d=>{i=d},u}function sw(e,n){if(e===void 0)throw new Error("Unexpected undefined");return e}const pI=(e,n)=>Math.abs(e-n)<1.01,gI=(e,n,r)=>{let i;return function(...s){e.clearTimeout(i),i=e.setTimeout(()=>n.apply(this,s),r)}};let Bs;const am=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},lw=e=>{const{offsetWidth:n,offsetHeight:r}=e;return{width:n,height:r}},vI=e=>e,yI=e=>{const n=Math.max(e.startIndex-e.overscan,0),i=Math.min(e.endIndex+e.overscan,e.count-1)-n+1,s=new Array(i);for(let l=0;l{const r=e.scrollElement;if(!r)return;const i=e.targetWindow;if(!i)return;const s=u=>{const{width:d,height:p}=u;n({width:Math.round(d),height:Math.round(p)})};if(s(lw(r)),!i.ResizeObserver)return()=>{};const l=new i.ResizeObserver(u=>{const d=()=>{const p=u[0];if(p?.borderBoxSize){const m=p.borderBoxSize[0];if(m){s({width:m.inlineSize,height:m.blockSize});return}}s(lw(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return l.observe(r,{box:"border-box"}),()=>{l.unobserve(r)}},Ou={passive:!0},xI=typeof window>"u"?!0:"onscrollend"in window,wI=(e,n,r)=>{const i=e.scrollElement;if(!i)return;const s=e.targetWindow;if(!s)return;const l=e.options.useScrollendEvent&&xI;let u=0;const d=l?null:gI(s,()=>n(u,!1),e.options.isScrollingResetDelay),p=v=>()=>{u=r(i),d?.(),n(u,v)},m=p(!0),y=p(!1);return i.addEventListener("scroll",m,Ou),l&&i.addEventListener("scrollend",y,Ou),()=>{i.removeEventListener("scroll",m),l&&i.removeEventListener("scrollend",y)}},SI=(e,n)=>wI(e,n,r=>{const{horizontal:i,isRtl:s}=e.options;return i?r.scrollLeft*(s&&-1||1):r.scrollTop}),_I=(e,n,r)=>{if(r.options.useCachedMeasurements){const i=r.indexFromElement(e),s=r.options.getItemKey(i);return r.itemSizeCache.get(s)??r.options.estimateSize(i)}if(n?.borderBoxSize){const i=n.borderBoxSize[0];if(i)return Math.round(i[r.options.horizontal?"inlineSize":"blockSize"])}if(!n){const i=r.indexFromElement(e),s=r.options.getItemKey(i),l=r.itemSizeCache.get(s);if(l!==void 0)return l}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},CI=(e,{adjustments:n=0,behavior:r},i)=>{var s,l;(l=(s=i.scrollElement)==null?void 0:s.scrollTo)==null||l.call(s,{[i.options.horizontal?"left":"top"]:e+n,behavior:r})},EI=CI;class RI{constructor(n){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var r,i,s;return((s=(i=(r=this.targetWindow)==null?void 0:r.performance)==null?void 0:i.now)==null?void 0:s.call(i))??Date.now()},this.observer=(()=>{let r=null;const i=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(s=>{s.forEach(l=>{const u=()=>{const d=l.target,p=this.indexFromElement(d);if(!d.isConnected){this.observer.unobserve(d);for(const[m,y]of this.elementsCache)if(y===d){this.elementsCache.delete(m);break}return}this.shouldMeasureDuringScroll(p)&&this.resizeItem(p,this.options.measureElement(d,l,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()})}));return{disconnect:()=>{var s;(s=i())==null||s.disconnect(),r=null},observe:s=>{var l;return(l=i())==null?void 0:l.observe(s,{box:"border-box"})},unobserve:s=>{var l;return(l=i())==null?void 0:l.unobserve(s)}}})(),this.range=null,this.setOptions=r=>{var i,s;const l={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:vI,rangeExtractor:yI,onChange:()=>{},measureElement:_I,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const b in r){const x=r[b];x!==void 0&&(l[b]=x)}const u=this.options;let d=null,p=null,m=!1;if(u!==void 0&&u.enabled&&l.enabled&&l.anchorTo==="end"&&this.scrollElement!==null){const b=u.count,x=l.count,w=this.getMeasurements(),_=b>0?((i=w[0])==null?void 0:i.key)??u.getItemKey(0):null,E=b>0?((s=w[b-1])==null?void 0:s.key)??u.getItemKey(b-1):null;if(x!==b||b>0&&x>0&&(l.getItemKey(0)!==_||l.getItemKey(x-1)!==E)){m=!0;const O=b>0?this.getVirtualItemForOffset(this.getScrollOffset())??w[0]:null;O&&(d=[O.key,this.getScrollOffset()-O.start]);const N=l.followOnAppend===!0?"auto":l.followOnAppend||null;N&&x>b&&this.isAtEnd(u.scrollEndThreshold)&&(b===0||l.getItemKey(x-1)!==E)&&(p=N)}}this.options=l,m&&(this.pendingMin=0,this.itemSizeCacheVersion++);let y=!1,v=0;if(d&&this.scrollOffset!==null){const[b,x]=d,w=this.getMeasurements(),{count:_,getItemKey:E}=this.options;let R=0;for(;R<_&&E(R)!==b;)R++;if(R<_){const T=w[R];if(T){const O=T.start+x;O!==this.scrollOffset&&(v=O-this.scrollOffset,this.scrollOffset=O,y=!0)}}}(y||p)&&(this.pendingScrollAnchor=[y?d[0]:null,y?d[1]:0,p,v])},this.notify=r=>{var i,s;(s=(i=this.options).onChange)==null||s.call(i,this,r)},this.maybeNotify=Oo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}if(this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((r=this.scrollElement)==null?void 0:r.window)??null,this.elementsCache.forEach(l=>{this.observer.observe(l)}),this.unsubs.push(this.options.observeElementRect(this,l=>{this.scrollRect=l,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(l,u)=>{if(u&&this._intendedScrollOffset===null&&l===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(l-this._intendedScrollOffset)<1.5&&(l=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const d=this.getScrollOffset();this.scrollDirection=u?d===l?this.scrollDirection:d{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},d=()=>{this._iosTouching=!1,!(!am()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};l.addEventListener("touchstart",u,Ou),l.addEventListener("touchend",d,Ou),this.unsubs.push(()=>{l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[l,u,d,p]=s;l!==null&&!d&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?p!==0&&(this._iosDeferredAdjustment+=p):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),d&&this.scrollToEnd({behavior:d})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const r=this.getScrollOffset(),i=this.getMaxScrollOffset();if(r<0||r>i)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(r,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Oo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(r,i,s,l,u,d,p,m)=>(this.prevLanes!==void 0&&this.prevLanes!==d&&(this.lanesChangedFlag=!0),this.prevLanes=d,this.pendingMin=null,{count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m}),{key:!1}),this.getMeasurements=Oo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:r,paddingStart:i,scrollMargin:s,getItemKey:l,enabled:u,lanes:d,laneAssignmentMode:p,gap:m},y)=>{const v=this.itemSizeCache;if(!u)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>r)for(const R of this.laneAssignments.keys())R>=r&&this.laneAssignments.delete(R);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(R=>{this.itemSizeCache.set(R.key,R.size)}));const b=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===r&&(this.lanesSettling=!1),d===1){const R=r*2;let T=this._flatMeasurements;if(!T||T.length0&&L.set(T.subarray(0,b*2)),T=L,this._flatMeasurements=T}let O;if(b===0)O=i+s;else{const L=b-1;O=T[L*2]+T[L*2+1]+m}for(let L=b;L1){N=O;const ye=w[N],he=ye!==void 0?x[ye]:void 0;L=he?he.end+m:i+s}else if(E===d){let ye=0,he=_[0],X=w[0];for(let ae=1;aethis.options.debug}),this.calculateRange=Oo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,i,s,l)=>r.length===0||i===0?(this.range=null,null):(this.range=TI(r,i,s,l,l===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Oo(()=>{let r=null,i=null;const s=this.calculateRange();return s&&(r=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,i]},(r,i,s,l,u)=>l===null||u===null?[]:r({startIndex:l,endIndex:u,overscan:i,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=r=>{const i=this.options.indexAttribute,s=r.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=r=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(s!==void 0&&this.range){const l=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),u=Math.max(0,s-l),d=Math.min(this.options.count-1,s+l);return r>=u&&r<=d}return!0},this.measureElement=r=>{if(!r){this.elementsCache.forEach((u,d)=>{u.isConnected||(this.observer.unobserve(u),this.elementsCache.delete(d))});return}const i=this.indexFromElement(r),s=this.options.getItemKey(i),l=this.elementsCache.get(s);l!==r&&(l&&this.observer.unobserve(l),this.observer.observe(r),this.elementsCache.set(s,r)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(r,void 0,this))},this.resizeItem=(r,i)=>{var s,l;if(r<0||r>=this.options.count)return;let u,d,p;const m=this._flatMeasurements;if(this.options.lanes===1&&m!==null)p=this.options.getItemKey(r),d=m[r*2],u=m[r*2+1];else{const b=this.measurementsCache[r];if(!b)return;p=b.key,d=b.start,u=b.size}const y=this.itemSizeCache.get(p)??u,v=i-y;if(v!==0){const b=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=b?this.getTotalSize():0,w=((l=this.scrollState)==null?void 0:l.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[r]??{index:r,key:p,start:d,size:u,end:d+u,lane:0},v,this):d[this.getVirtualIndexes(),this.getMeasurements()],(r,i)=>{const s=[];for(let l=0,u=r.length;lthis.options.debug}),this.getVirtualItemForOffset=r=>{const i=this.getMeasurements();if(i.length===0)return;const s=this._flatMeasurements,l=this.options.lanes===1&&s!=null,u=qC(0,i.length-1,l?d=>s[d*2]:d=>sw(i[d]).start,r);return sw(i[u])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const r=this.scrollElement.document.documentElement;return this.options.horizontal?r.scrollWidth-this.scrollElement.innerWidth:r.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(r=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=r,this.getOffsetForAlignment=(r,i,s=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),u=this.getScrollOffset();i==="auto"&&(i=r>=u+l?"end":"start"),i==="center"?r+=(s-l)/2:i==="end"&&(r-=l);const d=this.getMaxScrollOffset();return Math.max(Math.min(d,r),0)},this.getOffsetForIndex=(r,i="auto")=>{r=Math.max(0,Math.min(r,this.options.count-1));const s=this.getSize(),l=this.getScrollOffset(),u=this.measurementsCache[r];if(!u)return;if(i==="auto")if(u.end>=l+s-this.options.scrollPaddingEnd)i="end";else if(u.start<=l+this.options.scrollPaddingStart)i="start";else return[l,i];if(i==="end"&&r===this.options.count-1)return[this.getMaxScrollOffset(),i];const d=i==="end"?u.end+this.options.scrollPaddingEnd:u.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(d,i,u.size),i]},this.scrollToOffset=(r,{align:i="start",behavior:s="auto"}={})=>{const l=this.getOffsetForAlignment(r,i),u=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:u,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(r,{align:i="auto",behavior:s="auto"}={})=>{r=Math.max(0,Math.min(r,this.options.count-1));const l=this.getOffsetForIndex(r,i);if(!l)return;const[u,d]=l,p=this.now();this.scrollState={index:r,align:d,behavior:s,startedAt:p,lastTargetOffset:u,stableFrames:0},this._scrollToOffset(u,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(r,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+r,l=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:l,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:r="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:r});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:r})},this.getTotalSize=()=>{var r;const i=this.getMeasurements();let s;if(i.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){const l=i.length-1,u=this._flatMeasurements;u!=null?s=u[l*2]+u[l*2+1]:s=((r=i[l])==null?void 0:r.end)??0}else{const l=Array(this.options.lanes).fill(null);let u=i.length-1;for(;u>=0&&l.some(d=>d===null);){const d=i[u];l[d.lane]===null&&(l[d.lane]=d.end),u--}s=Math.max(...l.filter(d=>d!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const r=[];if(this.itemSizeCache.size===0)return r;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&r.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return r},this._scrollToOffset=(r,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=r+(i??0),this.options.scrollToFn(r,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(n)}applyScrollAdjustment(n,r){n!==0&&(am()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=n:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:r}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=i?i[0]:this.scrollState.lastTargetOffset,l=1,u=s!==this.scrollState.lastTargetOffset;if(!u&&pI(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=l){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,u){const d=this.getSize()||600,p=Math.abs(s-this.getScrollOffset()),m=this.scrollState.behavior==="smooth"&&p>d;this.scrollState.lastTargetOffset=s,m||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:m?"smooth":"auto"})}this.scheduleScrollReconcile()}}const qC=(e,n,r,i)=>{for(;e<=n;){const s=(e+n)/2|0,l=r(s);if(li)n=s-1;else return s}return e>0?e-1:0};function jI(e,n,r){let i=0;for(;i<=n;){const s=(i+n)/2|0,l=e[s*2];if(lr)n=s-1;else return s}return i>0?i-1:0}function TI(e,n,r,i,s){const l=e.length-1;if(e.length<=i)return{startIndex:0,endIndex:l};if(i===1&&s!==null){const m=jI(s,l,r);let y=m;const v=r+n;for(;ye[m].start,r),p=d;if(i===1)for(;p1){const m=Array(i).fill(0);for(;pv=0&&y.some(v=>v>=r);){const v=e[d];y[v.lane]=v.start,d--}d=Math.max(0,d-d%i),p=Math.min(l,p+(i-1-p%i))}return{startIndex:d,endIndex:p}}const im=typeof document<"u"?S.useLayoutEffect:S.useEffect;function OI({useFlushSync:e=!0,directDomUpdates:n=!1,directDomUpdatesMode:r="transform",...i}){const s=S.useReducer(m=>m+1,0)[1],l=S.useRef({enabled:n,mode:r,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});l.current.enabled=n,l.current.mode=r;const u=m=>{const y=l.current;if(!y.enabled||!y.container)return;const v=m.getTotalSize();if(v!==y.lastSize){y.lastSize=v;const R=m.options.horizontal?"width":"height";y.container.style[R]=`${v}px`}const b=!!m.options.horizontal,x=y.mode==="transform",w=b?"left":"top",_=m.options.scrollMargin,E=m.getVirtualItems();for(const R of E){const T=R.start-_,O=m.elementsCache.get(R.key);O&&y.lastPositions.get(O)!==T&&(y.lastPositions.set(O,T),x?O.style.transform=b?`translate3d(${T}px, 0, 0)`:`translate3d(0, ${T}px, 0)`:O.style[w]=`${T}px`)}},d={...i,onChange:(m,y)=>{var v;const b=l.current;let x=!0;if(b.enabled){u(m);const w=m.range,_=b.prevRange;x=!_||_.isScrolling!==m.isScrolling||_.startIndex!==w?.startIndex||_.endIndex!==w?.endIndex,x&&(b.prevRange=w?{startIndex:w.startIndex,endIndex:w.endIndex,isScrolling:m.isScrolling}:null)}x&&(e&&y?Mi.flushSync(s):s()),(v=i.onChange)==null||v.call(i,m,y)}},[p]=S.useState(()=>{const m=new RI(d);return Object.assign(m,{containerRef:y=>{const v=l.current;if(v.container=y,v.lastSize=null,y&&v.enabled){const b=m.getTotalSize();v.lastSize=b;const x=m.options.horizontal?"width":"height";y.style[x]=`${b}px`}}})});return p.setOptions(d),im(()=>p._didMount(),[]),im(()=>p._willUpdate()),im(()=>{u(p)}),p}function AI(e){return OI({observeElementRect:bI,observeElementOffset:SI,scrollToFn:EI,...e})}function MI(e,n){const r=[],i=(s,l)=>{for(const u of s)r.push({node:u,depth:l}),u.dir&&n.has(u.path)&&i(u.children||[],l+1)};return i(e?.children||[],0),r}function NI(e){const{root:n,expanded:r,onToggle:i,currentPath:s,listingShowing:l,onOpen:u}=e,d=S.useRef(null),p=S.useMemo(()=>MI(n,r),[n,r]),m=AI({count:p.length,getScrollElement:()=>d.current,estimateSize:()=>window.matchMedia("(max-width: 768px)").matches?44:28,overscan:12,getItemKey:y=>p[y].node.path});return S.useEffect(()=>{if(!s)return;const y=p.findIndex(v=>v.node.path===s);y>=0&&m.scrollToIndex(y,{align:"auto"})},[s,p]),f.jsx("nav",{id:"tree","aria-label":"Files",ref:d,children:f.jsx("div",{style:{height:m.getTotalSize(),position:"relative"},children:m.getVirtualItems().map(y=>{const{node:v,depth:b}=p[y.index],x=v.dir?r.has(v.path):!1,w=()=>{if(v.dir&&s===v.path&&l){i(v.path);return}u(v.path),v.dir||mr()};return f.jsxs("div",{className:"row "+(v.dir?"dir":"file")+(s===v.path?" active":"")+(v.dir&&!x?" collapsed":""),"data-path":v.path,tabIndex:0,role:"button",title:v.name,"aria-expanded":v.dir?x:void 0,style:{position:"absolute",top:0,left:0,right:0,transform:`translateY(${y.start}px)`,paddingLeft:8+b*13},onClick:w,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),w())},children:[Array.from({length:b},(_,E)=>f.jsx("span",{className:"tguide",style:{left:8+E*13+5},"aria-hidden":"true"},E)),f.jsx("span",{className:"chev",onClick:_=>{v.dir&&(_.stopPropagation(),i(v.path))},children:f.jsx(ut,{name:"chevd"})}),f.jsx("span",{className:"ticon",children:f.jsx(ut,{name:v.dir?"folder":"doc"})}),f.jsx("span",{className:"label",children:v.name})]},y.key)})})})}function DI(e){const n=e.split("/"),r=[];let i="";for(let s=0;s{i=i?i+"/"+s:s;const u=i,d=l===r.length-1;return f.jsxs("span",{children:[l>0&&f.jsx("span",{className:"crumb-sep",children:"/"}),d?f.jsx("span",{children:s}):f.jsx("span",{className:"crumb-seg",title:u,onClick:()=>n(u),children:s})]},u)})})}function cw(e){if(e==="")return[];const n=e.split(` +`);return n[n.length-1]===""&&n.pop(),n}const kI=4e6;function LI(e,n){let r=0;for(;rs.push({op:"-",line:l[v],an:r+v+1}),y=v=>s.push({op:"+",line:u[v],bn:r+v+1});if(d*p>kI){for(let v=0;v=0;w--)for(let _=p-1;_>=0;_--)v[w][_]=l[w]===u[_]?v[w+1][_+1]+1:Math.max(v[w+1][_],v[w][_+1]);let b=0,x=0;for(;b=v[b][x+1]?m(b++):y(x++);for(;bi.op==="+").length,del:r.filter(i=>i.op==="-").length}}const GC=1<<20,II=8192;function PI(e){if(e.byteLength>GC)return{kind:"too-large",size:e.byteLength};if(e.subarray(0,II).includes(0))return{kind:"binary"};try{return{kind:"text",text:new TextDecoder("utf-8",{fatal:!0}).decode(e)}}catch{return{kind:"binary"}}}function Jm(e,n,r,i){let s=e+"blob?sha="+encodeURIComponent(n);return r&&(s+="&name="+encodeURIComponent(r)),i&&(s+="&download=1"),s}async function FI(e){const n=await gj(e),r=Number(n.headers.get("Content-Length"));return r>GC?{kind:"too-large",size:r}:PI(new Uint8Array(await n.arrayBuffer()))}function ZC(e,n,r,i){return Ht({queryKey:n,queryFn:()=>FI(e),enabled:r,...i?{staleTime:1/0,gcTime:1/0}:{},retry:!1})}function uw(e,n,r){return ZC(n?Jm(e,n):"",["blob",e,n],!!n,!0)}function VI(e){return e.slice(e.lastIndexOf("/")+1)}function UI({apiBase:e,path:n,prev:r,cur:i}){const s=VI(n);return f.jsxs("span",{className:"dv-dl",children:[f.jsx("a",{href:Jm(e,r,s,!0),children:"download previous"}),f.jsx("a",{href:Jm(e,i,s,!0),children:"download this version"})]})}function HI({apiBase:e,path:n,prev:r,cur:i}){const s=uw(e,r),l=uw(e,i),u=s.data?.kind==="text"&&l.data?.kind==="text",d=S.useMemo(()=>s.data?.kind==="text"&&l.data?.kind==="text"?$I(s.data.text,l.data.text):null,[s.data,l.data]);if(s.error||l.error)return f.jsx("div",{className:"dv dv-msg",children:"Could not load one of the versions."});if(!s.data||!l.data)return f.jsx("div",{className:"dv dv-msg",children:"Loading changes…"});if(!u){const v=s.data.kind==="too-large"||l.data.kind==="too-large";return f.jsxs("div",{className:"dv dv-msg",children:[v?"Too large to diff — download to compare.":"Binary file — no diff available.",f.jsx(UI,{apiBase:e,path:n,prev:r,cur:i})]})}const{lines:p,add:m,del:y}=d;return f.jsxs("div",{className:"dv",children:[f.jsxs("div",{className:"dv-head",children:[f.jsxs("span",{className:"dv-stat",children:[f.jsxs("span",{className:"dv-add",children:["+",m]})," ",f.jsxs("span",{className:"dv-del",children:["−",y]})]}),m===0&&y===0&&f.jsx("span",{className:"dv-same",children:"No line changes"})]}),f.jsx("div",{className:"dv-body",children:p.map((v,b)=>f.jsxs("div",{className:"dv-line dv-"+(v.op==="="?"ctx":v.op==="+"?"ins":"rm"),children:[f.jsx("span",{className:"dv-n",children:v.an??""}),f.jsx("span",{className:"dv-n",children:v.bn??""}),f.jsx("span",{className:"dv-mark",children:v.op==="="?" ":v.op}),f.jsx("span",{className:"dv-text",children:v.line||" "})]},b))})]})}const BI={add:"added",edit:"edited",delete:"deleted"};function KC({text:e}){return f.jsx(f.Fragment,{children:e.split(/(https?:\/\/\S+)/).map((n,r)=>/^https?:\/\//.test(n)?f.jsx("a",{href:n,target:"_blank",rel:"noopener",children:n},r):n)})}function pg({entry:e,apiBase:n,onOpen:r,diff:i,restore:s,remove:l,restoreSha:u,inRun:d}){const[p,m]=S.useState(!1),[y,v]=S.useState(!1),b=e.kind==="put"?"edit":e.kind,x=dd(e),w=[e.device.name||e.device.id,e.device.os].filter(Boolean).join(" · "),_=b!=="delete",E=!!i&&b!=="delete"&&!!e.blob,R=!!d&&b==="add",T=!!s&&!!u&&!R,O=!!l&&R,N=!!s?.busy&&s.busy===e.path+u,L=!!l?.busy&&l.busy===e.path,P=_&&!!e.blob,F=e.path.split("/").pop()||e.path,V=new Date(e.time).toLocaleString(),ve=n+"blob?sha="+e.blob+"&name="+encodeURIComponent(F)+"&download=1",ye=()=>v(!y),he=X=>{X.target.tagName!=="A"&&_&&r(e.path,e.blob)};return f.jsxs("div",{className:"hentry "+b+(_?" clickable":""),tabIndex:_?0:void 0,role:_?"button":void 0,onClick:he,onKeyDown:X=>{_&&(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),r(e.path,e.blob))},children:[f.jsxs("div",{className:"hline",children:[f.jsx("span",{className:"hkind",children:BI[b]||b}),f.jsx("span",{className:"hpath",children:e.path}),f.jsx("span",{className:"htime",children:V})]}),f.jsxs("div",{className:"hmeta",children:[f.jsx("span",{className:"hwho",children:x}),f.jsx("span",{className:"hdev",children:w}),f.jsx("span",{className:"hsize",children:e.size?mg(e.size):""}),T&&f.jsxs("button",{type:"button",className:"hrestore-btn",disabled:N,title:"Put this version of "+e.path+" back as a new change",onClick:X=>{X.stopPropagation(),s.onRestore(e.path,u)},onKeyDown:X=>X.stopPropagation(),children:[f.jsx(ut,{name:"hist"}),N?"restoring…":"restore"]}),O&&f.jsxs("button",{type:"button",className:"hremove-btn",disabled:L,title:"Remove "+e.path+" — this run created it",onClick:X=>{X.stopPropagation(),l.onRemove(e.path)},onKeyDown:X=>X.stopPropagation(),children:[f.jsx(ut,{name:"trash"}),L?"removing…":"undo — remove file"]})]}),e.note&&!d&&f.jsx("div",{className:"hnote"+(p?" open":""),tabIndex:0,role:"button",title:p?"Collapse note":"Show full note","aria-expanded":p,onClick:X=>{X.stopPropagation(),X.target.tagName!=="A"&&m(!p)},onKeyDown:X=>{(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),X.stopPropagation(),m(!p))},children:f.jsx(KC,{text:e.note})}),(E||P)&&f.jsxs("div",{className:"hactions",children:[E&&(i.prev?f.jsxs("button",{type:"button",className:"hdiff-btn"+(y?" open":""),"aria-expanded":y,onClick:X=>{X.stopPropagation(),ye()},onKeyDown:X=>X.stopPropagation(),children:[f.jsx(ut,{name:y?"chevd":"chev"}),y?"hide changes":"show changes"]}):f.jsx("div",{className:"hdiff-none",children:"First version — nothing to compare against"})),P&&f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"hver-btn","aria-label":`Open ${F} as of ${V}`,onClick:X=>{X.stopPropagation(),r(e.path,e.blob)},onKeyDown:X=>X.stopPropagation(),children:[f.jsx(ut,{name:"clock"}),"Open this version"]}),f.jsxs("a",{className:"hver-btn",download:!0,href:ve,"aria-label":`Download ${F} as of ${V}`,onClick:X=>X.stopPropagation(),onKeyDown:X=>{X.stopPropagation(),X.key===" "&&(X.preventDefault(),X.currentTarget.click())},children:[f.jsx(ut,{name:"download"}),"Download"]})]})]}),E&&i.prev&&y&&f.jsx("div",{onClick:X=>X.stopPropagation(),children:f.jsx(HI,{apiBase:i.apiBase,path:e.path,prev:i.prev,cur:e.blob})})]})}function qI(e){const{node:n,heatMap:r,onOpen:i}=e,s=(n.children||[]).slice().sort((m,y)=>Number(y.dir||!1)-Number(m.dir||!1)||m.name.localeCompare(y.name)),l=s.filter(m=>m.dir).length,u=s.length-l,d=[];l&&d.push(l+(l===1?" folder":" folders")),u&&d.push(u+(u===1?" file":" files"));const p=ow(r,n.path,!0);return p&&d.push(Qs(p)+" in 30 days"),f.jsxs("div",{className:"dirlist",children:[f.jsxs("h1",{className:"dl-title",children:[f.jsx("span",{className:"dl-title-icon",children:f.jsx(ut,{name:"folder"})}),f.jsx("span",{children:n.name})]}),f.jsx("p",{className:"dl-sub",children:d.join(" · ")||"Empty folder"}),s.length===0?f.jsx("div",{className:"dl-empty",children:"Nothing in this folder yet."}):f.jsx("div",{className:"dl-items",children:s.map(m=>{let y="";if(m.dir){const b=(m.children||[]).length;y=b+(b===1?" item":" items")}else y=[m.size?mg(m.size):"",m.time?new Date(m.time).toLocaleDateString():""].filter(Boolean).join(" · ");const v=ow(r,m.path,!!m.dir);return v&&(y=Qs(v)+(y?" · "+y:"")),f.jsxs("div",{className:"dl-row",tabIndex:0,role:"button",title:m.path,onClick:()=>i(m.path),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i(m.path))},children:[f.jsx("span",{className:"ticon",children:f.jsx(ut,{name:m.dir?"folder":"doc"})}),f.jsx("span",{className:"dl-name",children:m.name}),v&&f.jsx("span",{className:"heatdot lvl"+tI(v),role:"img","aria-label":Qs(v)+" in 30 days",title:Qs(v)+" in 30 days"}),f.jsx("span",{className:"dl-meta",children:y})]},m.path)})}),e.hub&&f.jsx(GI,{apiBase:e.apiBase,prefix:n.path+"/",onOpen:i,onFullHistory:()=>e.onFullHistory(n.path+"/"),onRendered:e.onRendered})]})}function GI(e){const n=hI(e.apiBase,e.prefix,!0),{onRendered:r}=e;return S.useEffect(()=>{n&&n.length&&r&&r()},[n,r]),!n||n.length===0?null:f.jsxs("div",{className:"dl-history",children:[f.jsx("h3",{className:"dl-h3",children:"Recent changes"}),f.jsx("div",{className:"history dl-hlist",children:n.map((i,s)=>f.jsx(pg,{entry:i,apiBase:e.apiBase,onOpen:e.onOpen},s))}),f.jsx("button",{className:"ai-btn dl-more",onClick:e.onFullHistory,children:"Full history"})]})}const YC=5e3;function ZI(e,n,r=YC){const i=[];let s=[],l="",u=!1,d=0;const p=()=>{s.push(l),l="",i.length()=>s(""),[r,s]),b$.test(r)?f.jsx(XI,{...e}):OC.test(r)?f.jsx("iframe",{className:"htmlview",sandbox:"allow-scripts",src:l,title:r,onLoad:e.onRendered}):AC.test(r)?f.jsx("iframe",{className:"pdfview",src:l,title:r,onLoad:e.onRendered}):x$.test(r)?f.jsx(eP,{src:l,alt:r,version:i,onRendered:e.onRendered}):w$.test(r)?f.jsx(dw,{...e,fileURL:l,delim:/\.tsv$/i.test(r)?" ":","}):S$.test(r)?f.jsx(dw,{...e,fileURL:l}):f.jsx(YI,{...e,fileURL:l})}function YI(e){const{apiBase:n,path:r,version:i,fileURL:s,onRendered:l}=e,{data:u,error:d}=ZC(s,["text",s],!0,!!i);return S.useEffect(()=>{u&&l?.()},[u,l]),d?f.jsx(fd,{version:i,err:d}):u?u.kind==="text"?f.jsx("pre",{className:"plain",children:u.text},r):f.jsx(QI,{apiBase:n,path:r,version:i,fileURL:s,children:u.kind==="too-large"?`Too large to preview (${mg(u.size)}).`:"No preview for this file type."}):null}function QI(e){const{apiBase:n,path:r,version:i,fileURL:s}=e;return f.jsxs("div",{className:"filecard",children:[f.jsx("div",{className:"name",children:r.split("/").pop()}),f.jsx("p",{children:e.children}),f.jsx("a",{className:"btn",download:!0,href:i?s+"&download=1":n+"download?path="+encodeURIComponent(r),children:"Download"})]})}function XI(e){const{apiBase:n,path:r,version:i,heatMap:s,flatFiles:l,onOpenFile:u,onMeta:d,onRendered:p}=e,{data:m,error:y}=Ht({queryKey:["render",n,r,i||""],queryFn:()=>Yt(n+"render?path="+encodeURIComponent(r)+(i?"&sha="+i:"")),retry:i?!1:void 0}),v=S.useMemo(()=>m?WI(m.html,r,n):"",[m,r,n]);return S.useEffect(()=>{if(!m)return;const b=[];(m.user_name||m.user||m.author)&&b.push(dd(m)+(m.device?" on "+m.device:"")),m.time&&b.push(new Date(m.time).toLocaleString());const x=i?null:s&&s[m.path];x&&ka(x)&&b.push(Qs(x)+" / 30d"),d(b.join(" · ")),p?.()},[m,i,s,d,p]),y?f.jsx(fd,{version:i,err:y}):m?f.jsx("div",{dangerouslySetInnerHTML:{__html:v},onClick:b=>JI(b,r,l,u)}):null}function JI(e,n,r,i){const s=e.target.closest("a");if(!s||!e.currentTarget.contains(s))return;const l=s.getAttribute("href")||"",u=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"";l.startsWith("wiki:")?(e.preventDefault(),nP(decodeURIComponent(l.slice(5)),r,i)):/^([a-z]+:|\/|#)/i.test(l)||(e.preventDefault(),i(MC(u,decodeURIComponent(l))))}function WI(e,n,r){const i=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",s=u=>r+"file?path="+encodeURIComponent(u),l=new DOMParser().parseFromString(e,"text/html");for(const u of l.querySelectorAll("img")){const d=u.getAttribute("src")||"";/^\s*data:image\/svg/i.test(d)?u.removeAttribute("src"):/^([a-z]+:|\/)/i.test(d)||u.setAttribute("src",s(MC(i,d)))}for(const u of l.querySelectorAll("a")){const d=u.getAttribute("href")||"";/^\s*data:/i.test(d)?u.removeAttribute("href"):/^https?:/i.test(d)&&(u.setAttribute("target","_blank"),u.setAttribute("rel","noopener"))}return l.body.innerHTML}function eP(e){const[n,r]=S.useState(!1);return n?f.jsx(fd,{version:e.version,err:new Error("could not be loaded")}):f.jsx("img",{src:e.src,alt:e.alt,onLoad:e.onRendered,onError:()=>r(!0)})}function fd({version:e,err:n}){return f.jsx("div",{className:"empty",children:e?"That version isn't available.":"Could not load file: "+n.message})}function dw(e){const{path:n,version:r,fileURL:i,delim:s,onRendered:l}=e,{data:u,error:d}=Ht({queryKey:["text",i],queryFn:async()=>{const m=await fetch(i);if(!m.ok)throw new Error(await m.text());return m.text()},retry:r?!1:void 0});S.useEffect(()=>{u!=null&&l?.()},[u,l]);const p=S.useMemo(()=>s&&u!=null?ZI(u,s,YC):null,[u,s]);return d?f.jsx(fd,{version:r,err:d}):u==null?null:p?f.jsx(tP,{csv:p},n):f.jsx("pre",{className:"plain",children:u},n)}function tP({csv:e}){const[n,...r]=e.rows,i=e.rows.reduce((l,u)=>Math.max(l,u.length),0),s=Array.from({length:i},(l,u)=>u);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"csvbox",children:f.jsxs("table",{className:"csvview",children:[f.jsx("thead",{children:f.jsx("tr",{children:s.map(l=>f.jsx("th",{children:n[l]??""},l))})}),f.jsx("tbody",{children:r.map((l,u)=>f.jsx("tr",{children:s.map(d=>f.jsx("td",{children:l[d]??""},d))},u))})]})}),e.truncated>0&&f.jsxs("p",{className:"csvnote",children:["showing ",e.rows.length.toLocaleString()," of"," ",(e.rows.length+e.truncated).toLocaleString()," rows — Download for the rest"]})]})}function nP(e,n,r){const i=e.toLowerCase(),s=n.find(l=>l.path.toLowerCase()===i||l.path.toLowerCase()===i+".md")||n.find(l=>{const u=l.name.toLowerCase();return u===i||u===i+".md"});s&&r(s.path)}const rP=[{value:"",label:"Never"},{value:"24h",label:"In 24 hours"},{value:"168h",label:"In 7 days"},{value:"720h",label:"In 30 days"}];function aP({url:e,copied:n,onClose:r}){const i=e.split("/s/")[1],[s,l]=S.useState(""),[u,d]=S.useState(),[p,m]=S.useState(!1),y=S.useRef(null);async function v(b){const x=s;l(b),m(!0);try{const w=await Wn("PATCH","/api/shares/"+i,{expires_in:b});d(w.expires)}catch(w){Ke(w.message,!0),l(x)}finally{m(!1)}}return f.jsx(Ju,{open:!0,onOpenChange:b=>!b&&r(),children:f.jsxs(Wu,{className:"modal",showCloseButton:!1,onOpenAutoFocus:b=>{b.preventDefault(),y.current?.focus()},children:[f.jsx(Sl,{asChild:!0,children:f.jsx("h3",{children:"Public link"})}),f.jsxs("p",{children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until it expires or you revoke it."]}),f.jsx("div",{className:"modal-url",children:e}),f.jsxs("div",{className:"modal-expiry",children:[f.jsx("label",{htmlFor:"share-expiry",children:"Expires"}),f.jsx("select",{id:"share-expiry",value:s,disabled:p,onChange:b=>v(b.target.value),children:rP.map(b=>f.jsx("option",{value:b.value,children:b.label},b.value))}),f.jsx("span",{className:"modal-expiry-note",children:zC(u)})]}),f.jsxs("div",{className:"modal-actions",children:[f.jsx(vt,{ref:y,variant:"primary",onClick:()=>Bo(e).then(b=>Ke(b?"Copied.":"Select and copy the link above.")),children:n?"Copied ✓":"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(e,"_blank"),children:"Open"}),f.jsx(vt,{variant:"subtle",onClick:r,children:"Done"})]})]})})}function iP({shares:e,canRevoke:n,onChanged:r}){return e.length===0?null:f.jsxs("div",{className:"share-banner",role:"status",children:[f.jsxs("div",{className:"sb-head",children:[f.jsx(ut,{name:"share"}),f.jsx("b",{children:"Publicly shared"}),f.jsxs("span",{className:"sb-count",children:[e.length," active link",e.length>1?"s":""]})]}),f.jsxs("p",{className:"sb-note",children:[f.jsx("b",{children:"Anyone with this link can view this file"})," — no account needed. It always shows the latest version until you revoke it.",e.some(i=>i.opens!==void 0)&&f.jsxs(f.Fragment,{children:[" ",LC]})]}),e.map(i=>f.jsxs("div",{className:"sb-link",children:[f.jsx("span",{className:"sb-url mono",title:i.url,children:i.url}),f.jsx("span",{className:"sb-meta",children:kC(i,!1)}),f.jsxs("span",{className:"sb-actions",children:[f.jsx(vt,{variant:"subtle",onClick:()=>Bo(i.url).then(s=>Ke(s?"Copied.":"Select and copy the link.")),children:"Copy link"}),f.jsx(vt,{variant:"subtle",onClick:()=>window.open(i.url,"_blank"),children:"Open"}),n&&f.jsx("button",{className:"ai-del","aria-label":`Revoke the share of ${i.path}`,onClick:()=>IC(i,r),children:"Revoke"})]})]},i.token))]})}var fw=1,oP=.9,sP=.8,lP=.17,om=.1,sm=.999,cP=.9999,uP=.99,dP=/[\\\/_+.#"@\[\(\{&]/,fP=/[\\\/_+.#"@\[\(\{&]/g,hP=/[\s-]/,QC=/[\s-]/g;function Wm(e,n,r,i,s,l,u){if(l===n.length)return s===e.length?fw:uP;var d=`${s},${l}`;if(u[d]!==void 0)return u[d];for(var p=i.charAt(l),m=r.indexOf(p,s),y=0,v,b,x,w;m>=0;)v=Wm(e,n,r,i,m+1,l+1,u),v>y&&(m===s?v*=fw:dP.test(e.charAt(m-1))?(v*=sP,x=e.slice(s,m-1).match(fP),x&&s>0&&(v*=Math.pow(sm,x.length))):hP.test(e.charAt(m-1))?(v*=oP,w=e.slice(s,m-1).match(QC),w&&s>0&&(v*=Math.pow(sm,w.length))):(v*=lP,s>0&&(v*=Math.pow(sm,m-s))),e.charAt(m)!==n.charAt(l)&&(v*=cP)),(vv&&(v=b*om)),v>y&&(y=v),m=r.indexOf(p,m+1);return u[d]=y,y}function hw(e){return e.toLowerCase().replace(QC," ")}function mP(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Wm(e,n,hw(e),hw(n),0,0,{})}var qs='[cmdk-group=""]',lm='[cmdk-group-items=""]',pP='[cmdk-group-heading=""]',XC='[cmdk-item=""]',mw=`${XC}:not([aria-disabled="true"])`,ep="cmdk-item-select",Ao="data-value",gP=(e,n,r)=>mP(e,n,r),JC=S.createContext(void 0),jl=()=>S.useContext(JC),WC=S.createContext(void 0),gg=()=>S.useContext(WC),eE=S.createContext(void 0),tE=S.forwardRef((e,n)=>{let r=Mo(()=>{var M,B;return{search:"",value:(B=(M=e.value)!=null?M:e.defaultValue)!=null?B:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=Mo(()=>new Set),s=Mo(()=>new Map),l=Mo(()=>new Map),u=Mo(()=>new Set),d=nE(e),{label:p,children:m,value:y,onValueChange:v,filter:b,shouldFilter:x,loop:w,disablePointerSelection:_=!1,vimBindings:E=!0,...R}=e,T=dn(),O=dn(),N=dn(),L=S.useRef(null),P=jP();Oi(()=>{if(y!==void 0){let M=y.trim();r.current.value=M,F.emit()}},[y]),Oi(()=>{P(6,ae)},[]);let F=S.useMemo(()=>({subscribe:M=>(u.current.add(M),()=>u.current.delete(M)),snapshot:()=>r.current,setState:(M,B,J)=>{var K,ce,re,ge;if(!Object.is(r.current[M],B)){if(r.current[M]=B,M==="search")X(),ye(),P(1,he);else if(M==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let be=document.getElementById(N);be?be.focus():(K=document.getElementById(T))==null||K.focus()}if(P(7,()=>{var be;r.current.selectedItemId=(be=pe())==null?void 0:be.id,F.emit()}),J||P(5,ae),((ce=d.current)==null?void 0:ce.value)!==void 0){let be=B??"";(ge=(re=d.current).onValueChange)==null||ge.call(re,be);return}}F.emit()}},emit:()=>{u.current.forEach(M=>M())}}),[]),V=S.useMemo(()=>({value:(M,B,J)=>{var K;B!==((K=l.current.get(M))==null?void 0:K.value)&&(l.current.set(M,{value:B,keywords:J}),r.current.filtered.items.set(M,ve(B,J)),P(2,()=>{ye(),F.emit()}))},item:(M,B)=>(i.current.add(M),B&&(s.current.has(B)?s.current.get(B).add(M):s.current.set(B,new Set([M]))),P(3,()=>{X(),ye(),r.current.value||he(),F.emit()}),()=>{l.current.delete(M),i.current.delete(M),r.current.filtered.items.delete(M);let J=pe();P(4,()=>{X(),J?.getAttribute("id")===M&&he(),F.emit()})}),group:M=>(s.current.has(M)||s.current.set(M,new Set),()=>{l.current.delete(M),s.current.delete(M)}),filter:()=>d.current.shouldFilter,label:p||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:T,inputId:N,labelId:O,listInnerRef:L}),[]);function ve(M,B){var J,K;let ce=(K=(J=d.current)==null?void 0:J.filter)!=null?K:gP;return M?ce(M,r.current.search,B):0}function ye(){if(!r.current.search||d.current.shouldFilter===!1)return;let M=r.current.filtered.items,B=[];r.current.filtered.groups.forEach(K=>{let ce=s.current.get(K),re=0;ce.forEach(ge=>{let be=M.get(ge);re=Math.max(be,re)}),B.push([K,re])});let J=L.current;xe().sort((K,ce)=>{var re,ge;let be=K.getAttribute("id"),Oe=ce.getAttribute("id");return((re=M.get(Oe))!=null?re:0)-((ge=M.get(be))!=null?ge:0)}).forEach(K=>{let ce=K.closest(lm);ce?ce.appendChild(K.parentElement===ce?K:K.closest(`${lm} > *`)):J.appendChild(K.parentElement===J?K:K.closest(`${lm} > *`))}),B.sort((K,ce)=>ce[1]-K[1]).forEach(K=>{var ce;let re=(ce=L.current)==null?void 0:ce.querySelector(`${qs}[${Ao}="${encodeURIComponent(K[0])}"]`);re?.parentElement.appendChild(re)})}function he(){let M=xe().find(J=>J.getAttribute("aria-disabled")!=="true"),B=M?.getAttribute(Ao);F.setState("value",B||void 0)}function X(){var M,B,J,K;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let re of i.current){let ge=(B=(M=l.current.get(re))==null?void 0:M.value)!=null?B:"",be=(K=(J=l.current.get(re))==null?void 0:J.keywords)!=null?K:[],Oe=ve(ge,be);r.current.filtered.items.set(re,Oe),Oe>0&&ce++}for(let[re,ge]of s.current)for(let be of ge)if(r.current.filtered.items.get(be)>0){r.current.filtered.groups.add(re);break}r.current.filtered.count=ce}function ae(){var M,B,J;let K=pe();K&&(((M=K.parentElement)==null?void 0:M.firstChild)===K&&((J=(B=K.closest(qs))==null?void 0:B.querySelector(pP))==null||J.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function pe(){var M;return(M=L.current)==null?void 0:M.querySelector(`${XC}[aria-selected="true"]`)}function xe(){var M;return Array.from(((M=L.current)==null?void 0:M.querySelectorAll(mw))||[])}function z(M){let B=xe()[M];B&&F.setState("value",B.getAttribute(Ao))}function Q(M){var B;let J=pe(),K=xe(),ce=K.findIndex(ge=>ge===J),re=K[ce+M];(B=d.current)!=null&&B.loop&&(re=ce+M<0?K[K.length-1]:ce+M===K.length?K[0]:K[ce+M]),re&&F.setState("value",re.getAttribute(Ao))}function oe(M){let B=pe(),J=B?.closest(qs),K;for(;J&&!K;)J=M>0?EP(J,qs):RP(J,qs),K=J?.querySelector(mw);K?F.setState("value",K.getAttribute(Ao)):Q(M)}let W=()=>z(xe().length-1),te=M=>{M.preventDefault(),M.metaKey?W():M.altKey?oe(1):Q(1)},D=M=>{M.preventDefault(),M.metaKey?z(0):M.altKey?oe(-1):Q(-1)};return S.createElement($e.div,{ref:n,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:M=>{var B;(B=R.onKeyDown)==null||B.call(R,M);let J=M.nativeEvent.isComposing||M.keyCode===229;if(!(M.defaultPrevented||J))switch(M.key){case"n":case"j":{E&&M.ctrlKey&&te(M);break}case"ArrowDown":{te(M);break}case"p":case"k":{E&&M.ctrlKey&&D(M);break}case"ArrowUp":{D(M);break}case"Home":{M.preventDefault(),z(0);break}case"End":{M.preventDefault(),W();break}case"Enter":{M.preventDefault();let K=pe();if(K){let ce=new Event(ep);K.dispatchEvent(ce)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:V.inputId,id:V.labelId,style:OP},p),md(e,M=>S.createElement(WC.Provider,{value:F},S.createElement(JC.Provider,{value:V},M))))}),vP=S.forwardRef((e,n)=>{var r,i;let s=dn(),l=S.useRef(null),u=S.useContext(eE),d=jl(),p=nE(e),m=(i=(r=p.current)==null?void 0:r.forceMount)!=null?i:u?.forceMount;Oi(()=>{if(!m)return d.item(s,u?.id)},[m]);let y=rE(s,l,[e.value,e.children,l],e.keywords),v=gg(),b=qa(P=>P.value&&P.value===y.current),x=qa(P=>m||d.filter()===!1?!0:P.search?P.filtered.items.get(s)>0:!0);S.useEffect(()=>{let P=l.current;if(!(!P||e.disabled))return P.addEventListener(ep,w),()=>P.removeEventListener(ep,w)},[x,e.onSelect,e.disabled]);function w(){var P,F;_(),(F=(P=p.current).onSelect)==null||F.call(P,y.current)}function _(){v.setState("value",y.current,!0)}if(!x)return null;let{disabled:E,value:R,onSelect:T,forceMount:O,keywords:N,...L}=e;return S.createElement($e.div,{ref:Fo(l,n),...L,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!b,"data-disabled":!!E,"data-selected":!!b,onPointerMove:E||d.getDisablePointerSelection()?void 0:_,onClick:E?void 0:w},e.children)}),yP=S.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:s,...l}=e,u=dn(),d=S.useRef(null),p=S.useRef(null),m=dn(),y=jl(),v=qa(x=>s||y.filter()===!1?!0:x.search?x.filtered.groups.has(u):!0);Oi(()=>y.group(u),[]),rE(u,d,[e.value,e.heading,p]);let b=S.useMemo(()=>({id:u,forceMount:s}),[s]);return S.createElement($e.div,{ref:Fo(d,n),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},r&&S.createElement("div",{ref:p,"cmdk-group-heading":"","aria-hidden":!0,id:m},r),md(e,x=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?m:void 0},S.createElement(eE.Provider,{value:b},x))))}),bP=S.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,s=S.useRef(null),l=qa(u=>!u.search);return!r&&!l?null:S.createElement($e.div,{ref:Fo(s,n),...i,"cmdk-separator":"",role:"separator"})}),xP=S.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,s=e.value!=null,l=gg(),u=qa(m=>m.search),d=qa(m=>m.selectedItemId),p=jl();return S.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),S.createElement($e.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":p.listId,"aria-labelledby":p.labelId,"aria-activedescendant":d,id:p.inputId,type:"text",value:s?e.value:u,onChange:m=>{s||l.setState("search",m.target.value),r?.(m.target.value)}})}),wP=S.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...s}=e,l=S.useRef(null),u=S.useRef(null),d=qa(m=>m.selectedItemId),p=jl();return S.useEffect(()=>{if(u.current&&l.current){let m=u.current,y=l.current,v,b=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let x=m.offsetHeight;y.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return b.observe(m),()=>{cancelAnimationFrame(v),b.unobserve(m)}}},[]),S.createElement($e.div,{ref:Fo(l,n),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:p.listId},md(e,m=>S.createElement("div",{ref:Fo(u,p.listInnerRef),"cmdk-list-sizer":""},m)))}),SP=S.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:s,contentClassName:l,container:u,...d}=e;return S.createElement(hp,{open:r,onOpenChange:i},S.createElement(pp,{container:u},S.createElement(gp,{"cmdk-overlay":"",className:s}),S.createElement(vp,{"aria-label":e.label,"cmdk-dialog":"",className:l},S.createElement(tE,{ref:n,...d}))))}),_P=S.forwardRef((e,n)=>qa(r=>r.filtered.count===0)?S.createElement($e.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),CP=S.forwardRef((e,n)=>{let{progress:r,children:i,label:s="Loading...",...l}=e;return S.createElement($e.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},md(e,u=>S.createElement("div",{"aria-hidden":!0},u)))}),hd=Object.assign(tE,{List:wP,Item:vP,Input:xP,Group:yP,Separator:bP,Dialog:SP,Empty:_P,Loading:CP});function EP(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function RP(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function nE(e){let n=S.useRef(e);return Oi(()=>{n.current=e}),n}var Oi=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Mo(e){let n=S.useRef();return n.current===void 0&&(n.current=e()),n}function qa(e){let n=gg(),r=()=>e(n.snapshot());return S.useSyncExternalStore(n.subscribe,r,r)}function rE(e,n,r,i=[]){let s=S.useRef(),l=jl();return Oi(()=>{var u;let d=(()=>{var m;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(m=y.current.textContent)==null?void 0:m.trim():s.current}})(),p=i.map(m=>m.trim());l.value(e,d,p),(u=n.current)==null||u.setAttribute(Ao,d),s.current=d}),s}var jP=()=>{let[e,n]=S.useState(),r=Mo(()=>new Map);return Oi(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,s)=>{r.current.set(i,s),n({})}};function TP(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function md({asChild:e,children:n},r){return e&&S.isValidElement(n)?S.cloneElement(TP(n),{ref:n.ref},r(n.props.children)):r(n)}var OP={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function AP({className:e,...n}){return f.jsx(hd,{"data-slot":"command",className:Je("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n})}function MP({className:e,...n}){return f.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[f.jsx(b_,{className:"size-4 shrink-0 opacity-50"}),f.jsx(hd.Input,{"data-slot":"command-input",className:Je("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function NP({className:e,...n}){return f.jsx(hd.List,{"data-slot":"command-list",className:Je("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function DP({className:e,...n}){return f.jsx(hd.Item,{"data-slot":"command-item",className:Je("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...n})}function pw(e,n){if(!e)return{score:0,hits:[]};const r=e.toLowerCase(),i=n.toLowerCase();let s=0,l=0,u=0;const d=[];for(let p=0;p3&&i.endsWith("ies")?s=i.slice(0,-3)+"y":i.length>3&&i.endsWith("es")?s=i.slice(0,-2):i.length>2&&i.endsWith("s")&&(s=i.slice(0,-1)),s?pw(s,n):null}function kP({text:e,hits:n}){const r=[];let i=0;return n.forEach((s,l)=>{s>i&&r.push(e.slice(i,s)),r.push(f.jsx("b",{children:e[s]},l)),i=s+1}),r.push(e.slice(i)),f.jsx("span",{className:"plabel",children:r})}function LP({open:e,onClose:n,candidates:r}){const[i,s]=S.useState(""),l=S.useMemo(()=>{if(!e)return[];const d=[];for(const p of r()){const m=zP(i,p.label);m&&d.push({...p,score:m.score,hits:m.hits})}return d.sort((p,m)=>m.score-p.score),d.slice(0,40)},[e,i,r]);S.useEffect(()=>{e&&s("")},[e]);const u=d=>{n(),d.run()};return f.jsx(Ju,{open:e,onOpenChange:d=>!d&&n(),children:f.jsxs(Wu,{id:"palette",className:"palette",showCloseButton:!1,"aria-describedby":void 0,children:[f.jsx(Sl,{className:"sr-only",children:"Search and quick actions"}),f.jsxs(AP,{shouldFilter:!1,loop:!0,children:[f.jsxs("div",{id:"palette-inputwrap",children:[f.jsx(ut,{name:"search"}),f.jsx(MP,{placeholder:"Search file names, projects, actions…",autoComplete:"off",spellCheck:!1,value:i,onValueChange:s})]}),f.jsx(NP,{children:l.length===0?f.jsx("div",{className:"pempty",children:"No matches — search covers file names, projects, and actions"}):l.map(d=>f.jsxs(DP,{value:d.kind+":"+d.label,onSelect:()=>u(d),children:[f.jsx("span",{className:"picon",children:f.jsx(ut,{name:d.icon})}),f.jsx(kP,{text:d.label,hits:d.hits}),f.jsx("span",{className:"pkind",children:d.kind})]},d.kind+":"+d.label))}),f.jsx("footer",{id:"palette-hint",children:"↑↓ navigate · ⏎ select · esc close"})]})]})})}const Xs=3,No=30;function $P(e,n){return Ht({queryKey:["heatDevices",e],queryFn:()=>Yt(e+"heat?by=device&days=30"),enabled:n,retry:!1,staleTime:6e4}).data?.devices??null}const IP=["all","human","agent","share"],PP={all:"All reads",human:"Human reads",agent:"Agent reads",share:"Shared reads"},FP={agent:{agent:1,human:0,share:0},human:{agent:0,human:1,share:0},share:{agent:0,human:0,share:1}};function gw(e){const[n,r]=S.useState("all"),{flatFiles:i,heatMap:s,devices:l,scope:u}=e,d=w=>!u||w===u||w.startsWith(u+"/"),p=u?i.filter(w=>d(w.path)):i;if(!e.loading&&!p.length)return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsxs("div",{className:"dl-empty in-blank",children:[f.jsx("p",{children:u?`Nothing in ${u} to chart yet.`:"Nothing to chart yet."}),f.jsx("p",{children:u?`No files under ${u} are syncing here yet.`:"This project has no files. Once a device syncs files here, the map, the reads × freshness plot and the hot path fill in on their own."}),e.installHref&&f.jsx("a",{className:"pbtn",...dl(e.installHref),children:"Set up a device →"})]})]});const m=l&&u?l.map(w=>{const _=Object.create(null);for(const[E,R]of Object.entries(w.folders||{}))d(E)&&(_[E]=R);return{...w,folders:_}}).filter(w=>Object.keys(w.folders).length>0):l,y=Date.now(),v=p.map(w=>{const _=s&&s[w.path]||{},E=w.time?Math.max(0,(y-new Date(w.time).getTime())/864e5):0,R=n==="all"?ka(_):_[n]||0;return{path:w.path,reads:R,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:E,danger:R>=Xs&&E>=No}}),b=rI(s,new Set(i.map(w=>w.path))).filter(d).map(w=>{const _=s[w];return{path:w,reads:n==="all"?ka(_):_[n]||0,agent:_.agent||0,human:_.human||0,share:_.share||0,total:ka(_),days:0,danger:!1,orphan:!0}}).filter(w=>w.reads>0),x=b.length>0?f.jsxs("p",{className:"in-legend in-orphan-note",children:[tp(b.length,"file")," with reads ",b.length===1?"is":"are"," no longer in the project — see Hot path."]}):null;return f.jsxs("div",{className:"insights",children:[f.jsxs("h1",{className:"in-title",children:["Knowledge insights",u?f.jsxs("span",{className:"in-scope",children:[" · ",u]}):null]}),f.jsx("p",{className:"dl-sub",children:u?`Reads over the last 30 days × freshness, for ${u} 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."}),f.jsx("div",{className:"in-lens",children:IP.map(w=>f.jsx("button",{className:"in-lens-btn"+(w===n?" active":""),onClick:()=>r(w),children:PP[w]},w))}),f.jsx("h3",{className:"dl-h3",children:"Map — cell size = reads, color = freshness (scale below)"}),f.jsx(UP,{pts:v,onOpenFile:e.onOpenFile,onOpenFolder:e.onOpenFolder,isFolder:e.isFolder}),x,f.jsxs("h3",{className:"dl-h3 in-h3-row",children:["Reads × freshness",f.jsx("span",{className:"in-cap",children:"dot size = agent share of reads"})]}),f.jsx(BP,{pts:v,onOpenFile:e.onOpenFile}),x,f.jsx("h3",{className:"dl-h3",children:"Hot path — top files by reads"}),f.jsx(qP,{pts:[...v,...b],lens:n,onOpenFile:e.onOpenFile,onOpenHistory:e.onOpenHistory}),m&&m.length>0&&f.jsxs(f.Fragment,{children:[f.jsx("h3",{className:"dl-h3",children:"Agent coverage — which agents read which areas"}),f.jsx(GP,{devices:m})]})]})}const VP="rgb(150,156,164)";function aE(e){const n=[[76,195,138],[232,196,84],[224,93,93]],r=Math.min(1,Math.max(0,e/300))*(n.length-1),i=Math.min(n.length-2,Math.floor(r)),s=r-i,l=n[i].map((u,d)=>Math.round(u+(n[i+1][d]-u)*s));return`rgb(${l[0]},${l[1]},${l[2]})`}function vw(e,n,r,i,s){const l=e.reduce((m,y)=>m+y.value,0);if(!l||i<=0||s<=0)return[];const u=e.slice().sort((m,y)=>y.value-m.value).map(m=>({it:m,a:m.value/l*i*s})),d=(m,y)=>{const b=m.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of m){const _=w.a/b;x=Math.max(x,_/b,b/_)}return x},p=[];for(;u.length;){const m=i>=s,y=m?s:i,v=[u.shift()];for(;u.length&&d(v.concat(u[0]),y)<=d(v,y);)v.push(u.shift());const b=v.reduce((w,_)=>w+_.a,0)/y;let x=0;for(const w of v){const _=w.a/b;m?p.push({item:w.it,x:n,y:r+x,w:b,h:_}):p.push({item:w.it,x:n+x,y:r,w:_,h:b}),x+=_}m?(n+=b,i-=b):(r+=b,s-=b)}return p}const cm=15;function yw(e,n,r){const i=Math.floor((r-8)/6),s=`${e} · ${n}`;return s.length<=i?{label:s,fit:i}:{label:e.length>i?e.slice(0,Math.max(1,i-1))+"…":e,fit:i}}const tp=(e,n)=>`${e} ${n}${e===1?"":"s"}`;function UP({pts:e,onOpenFile:n,onOpenFolder:r,isFolder:i}){const u=iI(e.map(y=>y.days)),d=!!u&&oI(u.min,u.max),p=new Map;for(const y of e){const v=y.path.includes("/")?y.path.split("/")[0]:"/";let b=p.get(v);b||p.set(v,b={name:v,files:[],value:0,reads:0}),b.files.push(y),b.value+=y.reads+1,b.reads+=y.reads}const m=[];for(const y of vw([...p.values()],0,0,720,480)){const v=y.item,b=v.name==="/"?"":v.name,x=v.name==="/"?"(root)":v.name;if(m.push(f.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":b,children:f.jsx("title",{children:`${v.name==="/"?"(root)":v.name+"/"} — ${tp(v.reads,"read")}/30d · ${tp(v.files.length,"file")}`})},"g"+v.name)),y.w>46&&y.h>cm+10){const{label:_}=yw(x,v.reads,y.w);m.push(f.jsx("text",{x:y.x+5,y:y.y+12,className:"in-tm-glabel","data-dir":b,children:_},"gl"+v.name))}const w=vw(v.files.map(_=>({..._,name:_.path.split("/").pop(),value:_.reads+1})),y.x+2,y.y+cm,Math.max(0,y.w-4),Math.max(0,y.h-cm-2));for(const _ of w)if(m.push(f.jsx("rect",{x:_.x+.6,y:_.y+.6,width:Math.max(.4,_.w-1.2),height:Math.max(.4,_.h-1.2),rx:1.5,fill:d?VP:aE(_.item.days),className:"in-tm-cell","data-path":_.item.path,children:f.jsx("title",{children:`${_.item.path} — ${_.item.reads} read${_.item.reads===1?"":"s"}/30d · changed ${Math.round(_.item.days)}d ago`})},_.item.path)),_.w>54&&_.h>16){const{label:E,fit:R}=yw((_.item.danger?"⚠ ":"")+_.item.name,_.item.reads,_.w);R>=5&&m.push(f.jsx("text",{x:_.x+4.5,y:_.y+12.5,className:"in-tm-label","data-path":_.item.path,children:E},"l"+_.item.path))}}return f.jsxs(f.Fragment,{children:[f.jsx("svg",{viewBox:"0 0 720 480",className:"in-chart in-treemap",onClick:y=>{const v=y.target.closest("[data-path], [data-dir]");if(!v)return;const b=v.getAttribute("data-path");if(b)return n(b);const x=v.getAttribute("data-dir");x&&i(x)&&r(x)},children:m}),f.jsx(HP,{range:u,flat:d})]})}function HP({range:e,flat:n}){if(!e)return null;const r=sI(e.min,e.max);return f.jsxs("p",{className:"in-legend in-tm-legend",children:["freshness 0d",f.jsx("span",{className:"in-sw in-sw-age"+(n?" in-sw-flat":""),style:{background:`linear-gradient(to right, ${[0,60,150,300].map(aE).join(", ")})`}}),"300d+",f.jsx("span",{className:"in-tm-range",children:n?`all files here: ${r} old — colour off, not enough range to rank`:`observed: ${r} old`})]})}function BP({pts:e,onOpenFile:n}){const s={l:44,r:16,t:20,b:34},l=Math.max(No*2,...e.map(w=>w.days)),u=Math.max(Xs*2,...e.map(w=>w.reads)),d=w=>Math.log10(w+1)/Math.log10(l+1),p=w=>Math.log10(w+1)/Math.log10(u+1),m=w=>3+4*w,y=m(1),v=w=>s.l+y+d(w)*(720-s.l-s.r-2*y),b=w=>360-s.b-y-p(w)*(360-s.t-s.b-2*y),x=uI(e.filter(w=>w.danger).map(w=>({path:w.path,reads:w.reads,cx:v(w.days),cy:b(w.reads),r:m(w.total?(w.agent||0)/w.total:0)})),{right:720-s.r,top:s.t+8,bottom:360-s.b-4});return f.jsxs("svg",{viewBox:"0 0 720 360",className:"in-chart",children:[f.jsx("rect",{x:v(No),y:s.t,width:720-s.r-v(No),height:b(Xs)-s.t,className:"in-danger-zone"}),f.jsx("line",{x1:v(No),y1:s.t,x2:v(No),y2:360-s.b,className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:b(Xs),x2:720-s.r,y2:b(Xs),className:"in-threshold"}),f.jsx("line",{x1:s.l,y1:360-s.b,x2:720-s.r,y2:360-s.b,className:"in-axis"}),f.jsx("line",{x1:s.l,y1:s.t,x2:s.l,y2:360-s.b,className:"in-axis"}),f.jsx("text",{x:(s.l+720-s.r)/2,y:352,className:"in-label",children:"days since last change →"}),f.jsx("text",{x:12,y:(s.t+360-s.b)/2,className:"in-label",transform:`rotate(-90 12 ${(s.t+360-s.b)/2})`,children:"reads / 30d →"}),f.jsx("text",{x:720-s.r-6,y:s.t+14,className:"in-quad in-quad-danger",textAnchor:"end",children:"hot + stale"}),f.jsx("text",{x:s.l+6,y:s.t+14,className:"in-quad",children:"hot + fresh"}),f.jsx("text",{x:720-s.r-6,y:360-s.b-8,className:"in-quad",textAnchor:"end",children:"cold + stale"}),f.jsx("text",{x:s.l+6,y:360-s.b-8,className:"in-quad",children:"cold + fresh"}),e.map(w=>{const _=w.total?(w.agent||0)/w.total:0;return f.jsx("circle",{cx:Number(v(w.days).toFixed(1)),cy:Number(b(w.reads).toFixed(1)),r:Number(m(_).toFixed(1)),className:"in-pt"+(w.danger?" danger":w.reads?"":" cold"),onClick:()=>n(w.path),children:f.jsx("title",{children:`${w.path} — ${w.reads} read${w.reads===1?"":"s"} / 30d · changed ${Math.round(w.days)}d ago`})},w.path)}),x.map(w=>f.jsx("text",{x:Number(w.x.toFixed(1)),y:Number(w.y.toFixed(1)),textAnchor:w.anchor,className:"in-pt-label",children:w.name},w.path))]})}function qP({pts:e,lens:n,onOpenFile:r,onOpenHistory:i}){const s=e.filter(d=>d.reads>0).sort((d,p)=>p.reads-d.reads||p.days-d.days).slice(0,20);if(!s.length)return f.jsx("div",{className:"dl-empty",children:"No reads in the window yet."});const l=s[0].reads,u=s.some(d=>d.share>0);return f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"in-hotpath",children:s.map(d=>{const p=FP[n]??nI(d),m=d.reads/l*100,y=()=>d.orphan?i(d.path):r(d.path);return f.jsxs("div",{className:"in-hp-row",tabIndex:0,role:"button",title:d.orphan?`${d.reads} read${d.reads===1?"":"s"}/30d · no longer in the project — open its history`:d.danger?`${d.reads} read${d.reads===1?"":"s"}/30d · unchanged ${Math.round(d.days)}d — review this file`:d.path,onClick:y,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),y())},children:[f.jsx("span",{className:"in-hp-name"+(d.danger?" danger":""),children:d.path+(d.danger?" ⚠":"")}),d.orphan&&f.jsx("span",{className:"in-hp-gone",children:"· no longer in the project"}),f.jsxs("span",{className:"in-hp-bar",children:[f.jsx("span",{className:"in-hp-agent",style:{width:(m*p.agent).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-human",style:{width:(m*p.human).toFixed(1)+"%"}}),f.jsx("span",{className:"in-hp-share",style:{width:(m*p.share).toFixed(1)+"%"}})]}),f.jsx("span",{className:"in-hp-count",children:d.reads})]},d.path)})}),f.jsxs("p",{className:"in-legend",children:[f.jsx("span",{className:"in-sw agent"})," agent reads ",f.jsx("span",{className:"in-sw human"})," human reads",u&&f.jsxs(f.Fragment,{children:[" ",f.jsx("span",{className:"in-sw share"})," shared reads"]})]})]})}function GP({devices:e}){const n=new Map;for(const b of e)for(const[x,w]of Object.entries(b.folders||{}))n.set(x,(n.get(x)||0)+w);const r=[...n.entries()].sort((b,x)=>x[1]-b[1]).slice(0,12).map(b=>b[0]),i=e.slice(0,12),s=140,l=6,u=Math.min(76,Math.max(34,(720-s-8)/r.length)),d=26,p=720,m=l+i.length*d+58,y=Math.max(1,...i.flatMap(b=>r.map(x=>(b.folders||{})[x]||0))),v=b=>{const x=[23,25,31],w=[245,166,35],_=x.map((E,R)=>Math.round(E+(w[R]-E)*b));return`rgb(${_[0]},${_[1]},${_[2]})`};return f.jsxs("svg",{viewBox:`0 0 ${p} ${m}`,className:"in-chart in-matrix",children:[i.map((b,x)=>{let w=b.name||b.id||"";return w.length>20&&(w=w.slice(0,19)+"…"),f.jsxs("g",{children:[f.jsx("text",{x:s-8,y:l+x*d+17,textAnchor:"end",className:"in-label",children:w}),r.map((_,E)=>{const R=(b.folders||{})[_]||0;return f.jsx("rect",{x:s+E*u,y:l+x*d,width:u-4,height:d-4,rx:3,fill:v(Math.sqrt(R/y)),children:f.jsx("title",{children:`${b.name||b.id} × ${_||"(root)"}: ${R} read${R===1?"":"s"}/30d`})},_)})]},b.id||x)}),r.map((b,x)=>{const w=s+x*u+(u-4)/2,_=l+i.length*d+14;return f.jsx("text",{x:w,y:_,className:"in-label",textAnchor:"end",transform:`rotate(-28 ${w} ${_})`,children:b||"(root)"},b)})]})}function iE(e){return new Set(e.entries.map(n=>n.path)).size}function ZP(e){const n=l=>l.note+"\0"+(l.device?.id??""),r=new Map;e.forEach((l,u)=>{if(!l.note)return;const d=r.get(n(l));if(d){d.entries.push(l),d.idx.push(u);return}r.set(n(l),{note:l.note,entries:[l],idx:[u]})});const i=[],s=new Set;return e.forEach((l,u)=>{const d=l.note?r.get(n(l)):void 0;if(!d||iE(d)<2){i.push({i:u});return}s.has(d)||(s.add(d),i.push({run:d,i:u}))}),i}function KP(e){const{filters:n,authors:r,onChange:i}=e,s=(y,v)=>i({...n,[y]:v||void 0}),[l,u]=S.useState(n?.q??""),d=S.useRef(!1);S.useEffect(()=>{d.current||u(n?.q??"")},[n?.q]),S.useEffect(()=>{if(!d.current)return;const y=setTimeout(()=>{d.current=!1,l!==(n?.q??"")&&s("q",l)},250);return()=>clearTimeout(y)},[l]);const p=n?.user&&!r.includes(n.user)?[n.user,...r]:r,m=Zp(n);return f.jsxs("div",{className:"hfilters",children:[f.jsxs("label",{className:"hf-search",children:[f.jsx(ut,{name:"search"}),f.jsx(du,{type:"search",value:l,placeholder:"path contains…","aria-label":"Filter by path",onChange:y=>{d.current=!0,u(y.target.value)}})]}),f.jsxs("select",{className:"hf-user",value:n?.user??"","aria-label":"Filter by author",onChange:y=>s("user",y.target.value),children:[f.jsx("option",{value:"",children:"Anyone"}),p.map(y=>f.jsx("option",{value:y,children:y},y))]}),f.jsxs("span",{className:"hf-dates",children:[f.jsx("span",{className:"hf-lbl",children:"UTC"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.since??"","aria-label":"From date (UTC)",onChange:y=>s("since",y.target.value)}),f.jsx("span",{className:"hf-dash",children:"–"}),f.jsx(du,{type:"date",className:"hf-date",value:n?.until??"","aria-label":"To date (UTC)",onChange:y=>s("until",y.target.value)})]}),m&&f.jsx("button",{type:"button",className:"hf-clear",onClick:()=>i({}),children:"Clear"})]})}function YP(e){const n=new Set;for(const r of e)r.user&&n.add(r.user);return[...n].sort()}function QP(e){const{apiBase:n,target:r,isFolder:i,onMeta:s,onRendered:l,restore:u,remove:d,filters:p}=e,m=r?i(r)?{prefix:r+"/"}:{path:r}:{prefix:""},y=("path"in m&&m.path!==void 0?"path="+encodeURIComponent(m.path):"prefix="+encodeURIComponent(m.prefix??""))+N_(p).replace("?","&"),{data:v,error:b,fetchNextPage:x,hasNextPage:w,isFetchingNextPage:_}=fj({queryKey:["history",n,y],queryFn:({pageParam:P})=>Yt(n+"history?"+y+"&n=100"+(P?"&cursor="+encodeURIComponent(P):"")),initialPageParam:"",getNextPageParam:P=>P.next_cursor,staleTime:15e3}),E=S.useRef(new Set);S.useEffect(()=>{b&&s("History unavailable: "+b.message)},[b,s]),S.useEffect(()=>{v&&l?.()},[v,l]);const R=v?v.pages.flatMap(P=>P.entries||[]):[];for(const P of YP(R))E.current.add(P);const T=e.onFilters&&f.jsx(KP,{filters:p,authors:[...E.current].sort(),onChange:e.onFilters});if(!v)return T?f.jsx("div",{className:"history",children:T}):null;const O=P=>{for(let F=P+1;F{const F=R[P].kind==="delete"?O(P):R[P].blob;return F&&F===N.get(R[P].path)?void 0:F};return f.jsxs("div",{className:"history",children:[T,R.length===0&&(Zp(p)?f.jsxs("div",{className:"empty",children:["No changes match these filters.",f.jsx("br",{}),f.jsx("button",{type:"button",className:"btn hf-clear-empty",onClick:()=>e.onFilters?.({}),children:"Clear filters"})]}):f.jsx("div",{className:"empty",children:"No history yet."})),ZP(R).map((P,F)=>P.run?f.jsx(XP,{run:P.run,onOpen:e.onOpen,apiBase:n,prevBlob:O,restoreSha:L,restore:u,remove:d},"g"+F):f.jsx(pg,{entry:R[P.i],apiBase:n,onOpen:e.onOpen,diff:{apiBase:n,prev:O(P.i)},restore:u,restoreSha:L(P.i)},"r"+P.i)),w&&f.jsx("button",{type:"button",className:"btn hmore",onClick:()=>x(),disabled:_,children:_?"Loading…":"Load more"})]})}function XP({run:e,onOpen:n,apiBase:r,prevBlob:i,restoreSha:s,restore:l,remove:u}){const[d,p]=S.useState(!0),m=e.entries[0],y=dd(m),v=[m.device.name||m.device.id,m.device.os].filter(Boolean).join(" · "),b=e.entries.map(_=>new Date(_.time).getTime()),x=JP(Math.min(...b),Math.max(...b)),w=iE(e);return f.jsxs("div",{className:"hrun"+(d?" open":""),children:[f.jsxs("div",{className:"hrun-head",children:[f.jsx("button",{type:"button",className:"hrun-toggle","aria-expanded":d,title:d?"Collapse this run":"Expand this run",onClick:()=>p(!d),children:f.jsx(ut,{name:d?"chevd":"chev"})}),f.jsx("span",{className:"hrun-note",children:f.jsx(KC,{text:e.note})}),f.jsxs("span",{className:"hrun-meta",children:[w," file",w===1?"":"s"," · ",y,v?" · "+v:""]}),f.jsx("span",{className:"hrun-time",children:x})]}),d&&f.jsx("div",{className:"hrun-body",children:e.entries.map((_,E)=>f.jsx(pg,{entry:_,apiBase:r,onOpen:n,diff:{apiBase:r,prev:i(e.idx[E])},restore:l,remove:u,restoreSha:s(e.idx[E]),inRun:!0},E))})]})}function JP(e,n){const r=new Date(e),i=new Date(n),s=u=>u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(r.toDateString()!==i.toDateString())return r.toLocaleString()+" – "+i.toLocaleString();const l=i.toLocaleDateString();return e===n?l+" "+s(i):l+" "+s(r)+" – "+s(i)}function WP(e,n){return e?n(e)?e+"/ (folder)":e:"all changes"}function eF(e){const{apiBase:n,path:r,version:i}=e,s="path="+encodeURIComponent(r),{data:l}=Ht({queryKey:["history",n,s,200],queryFn:()=>Yt(n+"history?"+s+"&n=200"),staleTime:15e3}),u=l?.entries?.find(y=>y.blob===i),d=u?dd(u):"",p=u?.time?new Date(u.time).toLocaleString():"",m=n+"blob?sha="+i+"&name="+encodeURIComponent(r.split("/").pop()||r)+"&download=1";return f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"clock"})}),f.jsxs("div",{className:"vb-text",children:[f.jsx("b",{children:[p&&"Version from "+p,d&&"by "+d].filter(Boolean).join(" ")||"Earlier version"}),f.jsx("span",{children:"This is not the current file."})]}),f.jsxs("div",{className:"vb-actions",children:[f.jsx("button",{className:"ai-btn",onClick:e.onViewCurrent,children:"View current"}),f.jsx("a",{className:"ai-btn",download:!0,href:m,children:"Download this version"})]})]})}function oE(e){const{config:n,apiBase:r,route:i,hub:s,project:l}=e,u=Yp(),d=Ai(),{tree:p,flatFiles:m,dirIndex:y,loaded:v}=dI(r,!s||!!l),b=fI(r,s&&!!l&&!!n.reads?.enabled),x=s&&!!l&&!i.path&&!i.view,w=i.view==="dashboard"||x,_=$P(r,w);S.useEffect(()=>{w&&d.invalidateQueries({queryKey:["heat",r]})},[w,r,d]);const E=i.path,R=i.view?void 0:i.version,T=E||(i.view==="dashboard"||i.view==="history")&&i.viewTarget||"",O=!!E&&y.has(E),N=!!E&&v&&!O&&m.some(Z=>Z.path===E),L=!!E&&v&&!O&&!N,P=O&&!i.view,{data:F}=Ht({queryKey:["resolve",r,E],queryFn:()=>Yt(r+"resolve?path="+encodeURIComponent(E)),enabled:L,retry:!1,staleTime:6e4}),[V,ve]=S.useState(null);S.useEffect(()=>{!L||!F?.to||(ve({from:E,to:F.to}),Zt(ul(F.to,l?.id),{replace:!0}))},[L,F,E,l?.id]);const[ye,he]=S.useState(()=>new Set),X=S.useRef(!0);S.useEffect(()=>{if(!p||!X.current)return;X.current=!1;const Z=(p.children||[]).filter(ne=>ne.dir);Z.length===1&&he(ne=>new Set(ne).add(Z[0].path))},[p]),S.useEffect(()=>{!T||!v||he(Z=>{const ne=new Set(Z);for(const de of DI(T))ne.add(de);return y.has(T)&&ne.add(T),ne})},[T,v,y]);const ae=S.useCallback(Z=>{he(ne=>{const de=new Set(ne);return de.has(Z)?de.delete(Z):de.add(Z),de})},[]),pe=S.useRef(null),xe=S.useRef(new Map),z=S.useRef({key:"",want:0,attempts:0});S.useEffect(()=>{z.current={key:u,want:N3()==="POP"?xe.current.get(u)??0:0,attempts:0}},[u]);const Q=S.useCallback(()=>{const Z=pe.current,ne=z.current;!Z||ne.key!==u||ne.attempts>=3||(ne.attempts++,Z.scrollTo({top:ne.want,behavior:"instant"}))},[u]),oe=S.useCallback(()=>{pe.current&&xe.current.set(u,pe.current.scrollTop)},[u]),W=S.useCallback((Z,ne)=>{Zt(ul(Z,l?.id,ne)),mr()},[l?.id]),te=S.useCallback(Z=>Zt(Pn("history",l?.id,Z)),[l?.id]),[D,M]=S.useState(""),[B,J]=S.useState(null),[K,ce]=S.useState(!1),[re,ge]=S.useState(!1);S.useEffect(()=>VD(()=>ge(!0)),[]);const be=S.useRef(null),Oe=e.panel??null,Ie=!Oe&&s&&!!l&&N&&wi(l.perm,"write"),{data:Ve}=j_(l?.id,s&&!!l),it=S.useCallback(()=>{d.invalidateQueries({queryKey:["shares",l?.id]})},[d,l?.id]),Qe=N?(Ve||[]).filter(Z=>Z.path===E):[],fn=!Oe&&s&&!!l,hn=!Oe&&N,Qt=!Oe&&(N||s&&!!l&&O),br=R?r+"blob?sha="+R+"&name="+encodeURIComponent(E)+"&download=1":r+"download?path="+encodeURIComponent(E),jt=S.useCallback(async()=>{try{const Z=await fetch(r+"shares",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E})});if(!Z.ok)throw new Error(await Z.text());const ne=await Z.json();zw("share_created");const de=await Bo(ne.url);J({url:ne.url,copied:de}),it()}catch(Z){Ke("Share failed: "+Z.message,!0)}},[r,E,it]),[rr,xr]=S.useState(""),Tt=s&&!!l&&wi(l?.perm,"write"),Vn=S.useCallback(async(Z,ne)=>{xr(Z+ne);try{await Si(r+"restore",{path:Z,sha:ne}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Restored "+Z+" — it syncs to every device like any other change.")}catch(de){Ke("Restore failed: "+de.message,!0)}finally{xr("")}},[r,d]),[Dt,kr]=S.useState(""),ar=S.useCallback(async Z=>{if(await Cl("Remove "+Z+"?","It disappears from every synced device. History keeps it — you can restore it from the DELETED row afterwards.","Remove file",!0)){kr(Z);try{await Si(r+"remove",{path:Z}),d.invalidateQueries({queryKey:["history",r]}),d.invalidateQueries({queryKey:["tree",r]}),d.invalidateQueries({queryKey:["render",r,Z]}),d.invalidateQueries({queryKey:["text"]}),Ke("Removed "+Z+" — it syncs to every device like any other change.")}catch(ne){Ke("Remove failed: "+ne.message,!0)}finally{kr("")}}},[r,d]),ir=S.useCallback(()=>{if(!E)return te("");te(O?E+"/":E)},[E,O,te]);S.useEffect(()=>{const Z=ne=>{(ne.metaKey||ne.ctrlKey)&&ne.key.toLowerCase()==="k"&&(ne.preventDefault(),ge(de=>!de))};return window.addEventListener("keydown",Z),()=>window.removeEventListener("keydown",Z)},[]);const wr=S.useCallback(()=>{const Z=[],ne=(de,we,Ee,Xe)=>Z.push({icon:de,label:we,kind:Ee,run:Xe});if(s&&l){const de=l.id,we=Ee=>()=>{e.onClosePanel?.(),Zt(Ee)};ne("folder","Go to project root","action",we("/"+de)),ne("dashboard","Dashboard","action",we(Pn("dashboard",de))),ne("terminal","Installation","action",we(Pn("install",de))),ne("gear","Settings","action",we(Pn("settings",de)))}if(s&&l&&E&&(N&&ne("share","Share: "+E,"action",jt),ne("hist","History: "+E,"action",ir),N&&ne("download","Download: "+E,"action",()=>be.current?.click())),s&&l&&ne("hist","History: whole project","action",()=>te("")),s)for(const de of e.projects||[])(!l||de.id!==l.id)&&ne("folder","Switch to project: "+de.name,"project",()=>Zt("/"+de.id));n.auth?.enabled&&ne("power","Sign out","action",()=>window.location.href="/auth/logout");for(const de of y.keys())ne("folder",de,"folder",()=>W(de));for(const de of m)ne("doc",de.path,"file",()=>W(de.path));return Z},[s,l,E,N,n.auth?.enabled,y,m,e.projects,e.onClosePanel,jt,ir,te,W]);S.useEffect(()=>{if(!K)return;const Z=()=>ce(!1);return document.addEventListener("click",Z),()=>document.removeEventListener("click",Z)},[K]);const or=S.useCallback(Z=>y.has(Z),[y]);let mn="app",A,I;Oe?I=Oe.body:i.view==="dashboard"?I=f.jsx(gw,{flatFiles:m,heatMap:b,devices:_,scope:i.viewTarget||"",loading:!v,installHref:l?Pn("install",l.id):void 0,onOpenFile:W,onOpenFolder:W,onOpenHistory:te,isFolder:or}):i.view==="history"?I=f.jsx(QP,{apiBase:r,target:i.viewTarget||"",isFolder:or,onOpen:W,onMeta:M,onRendered:Q,restore:Tt?{onRestore:Vn,busy:rr}:void 0,remove:Tt?{onRemove:ar,busy:Dt}:void 0,filters:i.filters,onFilters:Z=>Zt(Pn("history",l?.id,i.viewTarget||"",Z))}):E?v?L?I=f.jsxs("div",{className:"notfound",children:[f.jsx("h1",{children:"Couldn't find that"}),f.jsxs("p",{children:[f.jsx("code",{children:E})," isn't in this project right now."]}),f.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."}),f.jsx("button",{className:"pbtn",onClick:()=>d.invalidateQueries({queryKey:["tree",r]}),children:"Check again"})]}):O?I=f.jsx(qI,{node:y.get(E),heatMap:b,hub:s&&!!l,apiBase:r,onOpen:W,onFullHistory:te,onRendered:Q}):(mn=OC.test(E)||AC.test(E)?"wide":"read",A="markdown",I=f.jsxs(f.Fragment,{children:[R&&f.jsx(eF,{apiBase:r,path:E,version:R,onViewCurrent:()=>W(E)}),f.jsx(KI,{apiBase:r,path:E,version:R,heatMap:b,flatFiles:m,onOpenFile:W,onMeta:M,onRendered:Q})]})):I=f.jsx("div",{className:"empty",children:"Loading…"}):x?I=f.jsxs(f.Fragment,{children:[f.jsx(HC,{project:l,existing:i.connect==="existing"}),f.jsx("div",{className:"home-insights",children:f.jsx(gw,{flatFiles:m,heatMap:b,devices:_,loading:!v,onOpenFile:W,onOpenFolder:W,onOpenHistory:te,isFolder:or})})]}):I=f.jsx("div",{className:"empty",children:"Select a file to read it."}),V&&V.to===E&&(I=f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"vbanner",role:"status",children:[f.jsx("span",{className:"vb-icon",children:f.jsx(ut,{name:"link"})}),f.jsxs("div",{className:"vb-text",children:[f.jsxs("b",{children:["Moved from ",V.from]}),f.jsx("span",{children:"The URL has been updated."})]})]}),I]}));const U=Oe?Oe.crumb:E?f.jsx(zI,{path:E,onOpenFolder:W}):i.view==="dashboard"?"Dashboard — "+(i.viewTarget||l?.name||""):i.view==="history"?"History — "+WP(i.viewTarget||"",or):x?l.name:null,ue=f.jsx(cl,{crumb:U,meta:D,actions:f.jsxs(f.Fragment,{children:[Ie&&f.jsx(vt,{id:"share-btn",variant:"toolbar",className:"icon-only",title:"Share","aria-label":"Share",onClick:jt,children:f.jsx(ut,{name:"share"})}),fn&&!E&&!i.view&&f.jsxs(vt,{id:"history-btn",variant:"toolbar",onClick:ir,children:[f.jsx(ut,{name:"hist"})," ",f.jsx("span",{className:"lbl",children:"History"})]}),hn&&f.jsx("a",{id:"download",hidden:!0,download:!0,href:br,ref:be,children:"Download"}),Qt&&f.jsx(vt,{id:"more-btn",variant:"toolbar",className:"icon-only",title:"More actions","aria-label":"More actions",onClick:Z=>{Z.stopPropagation(),ce(!K)},children:f.jsx(ut,{name:"dots"})}),K&&f.jsxs("div",{id:"more-menu",role:"menu",children:[fn&&f.jsx("button",{className:"more-item",onClick:ir,children:"History"}),hn&&f.jsx("button",{className:"more-item",onClick:()=>be.current?.click(),children:"Download"}),s&&!!l&&f.jsx("button",{className:"more-item",onClick:()=>{e.onClosePanel?.(),Zt(Pn("dashboard",l?.id,E))},children:"Dashboard"})]})]})});return f.jsxs(f.Fragment,{children:[f.jsx(ll,{vault:e.sidebar.vault,projectsNav:e.sidebar.projectsNav,orgBar:e.sidebar.orgBar,tree:f.jsx(NI,{root:p,expanded:ye,onToggle:ae,currentPath:T,listingShowing:P,onOpen:W}),topbar:ue,contentRef:pe,onContentScroll:oe,children:f.jsxs(Su,{width:mn,className:A,children:[!Oe&&N&&f.jsx(iP,{shares:Qe,canRevoke:!!l&&wi(l.perm,"write"),onChanged:it}),I]})}),B&&f.jsx(aP,{url:B.url,copied:B.copied,onClose:()=>{J(null),it()}}),f.jsx(LP,{open:re,onClose:()=>ge(!1),candidates:wr})]})}function tF({config:e}){const n=Yp(),r=O_(),[i,s]=S.useState(null),[l,u]=S.useState(null);S.useEffect(()=>u(null),[n]);const d=S.useMemo(()=>{const ae=n.split("?")[0].match(/^\/join\/([0-9a-f]+)\/?$/);return ae?ae[1]:null},[n]),{data:p}=E3(!d),{data:m}=R3(!d),y=!!e.auth.admin,{data:v}=T_(y),b=S.useMemo(()=>D_(n,"hub"),[n]),[x,w]=S.useState(!1),_=e.upload.enabled,E=async(ae,pe)=>{const xe=pe===BC;try{const z=await Si("/api/projects",{name:ae,template:xe?"":pe});w(!1),await r(),Zt("/"+z.project.id+(xe?"?connect=existing":"")),Ke(`Created “${z.project.name}”.`)}catch(z){Ke("Could not create the project: "+z.message,!0)}},R=x?f.jsx(eI,{templates:e.templates??[],onCreate:E,onClose:()=>w(!1)}):null,T=S.useMemo(()=>p&&(p.find(ae=>ae.id===b.project)||i&&p.find(ae=>ae.org===i)||p.find(ae=>ae.id===_$())||p[0])||null,[p,b.project,i]);if(S.useEffect(()=>{document.title=T?T.name+" — BearDrive":e.brand||"BearDrive",T&&C$(T.id)},[T,e]),d)return f.jsx(nF,{token:d,onDone:async ae=>{s(ae),await r(),Zt("/",{replace:!0})}});const O=e.brand||"BearDrive",N=T&&m?.find(ae=>ae.id===T.org)||null,L=f.jsx(Xu,{name:O,onHome:()=>Zt("/"),search:!!T}),P=e.me?f.jsx(q$,{me:e.me,org:N,orgActive:!!b.org,billing:e.billing,admin:y?{pending:v?.length||0,onClick:()=>{u({kind:"hub"}),mr()}}:void 0}):void 0;if(!p||!m)return f.jsx(ll,{vault:L,topbar:f.jsx(cl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Loading…"})})});if(!T)return f.jsxs(ll,{vault:L,projectsNav:f.jsx(aw,{projects:p,onNew:()=>w(!0)}),orgBar:P,topbar:f.jsx(cl,{}),children:[f.jsx(Su,{children:f.jsx(W$,{onNew:()=>w(!0),canCreate:_})}),R]});const F=l?.kind==="hub"?{crumb:"Signup & access",body:f.jsx(k$,{})}:null,V=b.org?m.find(ae=>ae.id===b.org):null,ye=b.org&&!V?{crumb:"Organization",body:f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"Organization not found"}),f.jsx("p",{children:"This organization doesn't exist, or you're no longer a member."}),f.jsx("p",{children:f.jsxs("a",{...dl("/"+T.id),children:["Back to ",T.name]})})]})}:V?{crumb:"Organization",body:f.jsx(N$,{org:V,projects:p,myEmail:e.me?.email||""})}:null,he=b.billing?{crumb:"Billing",body:e.billing?f.jsx(G$,{url:e.billing.url}):f.jsxs("div",{className:"empty",children:[f.jsx("h3",{children:"No billing on this hub"}),f.jsx("p",{children:"This BearDrive hub doesn't have a billing surface."})]})}:null,X=b.view==="settings"?{crumb:"Project settings",body:f.jsx(Y$,{project:T,org:N,onDeleted:async()=>{await r(),Zt("/")}})}:b.view==="install"?{crumb:"Installation",body:f.jsx(HC,{project:T,existing:b.connect==="existing"})}:null;return!b.org&&!b.billing&&b.project!==T.id?f.jsx(Ks,{to:"/"+T.id}):b.legacyView&&b.view?f.jsx(Ks,{to:Pn(b.view,T.id,b.viewTarget,b.filters)}):b.queryTarget&&b.view?f.jsx(Ks,{to:Pn(b.view,T.id,b.viewTarget,b.filters)}):b.trailingSlash&&b.path?f.jsx(Ks,{to:ul(b.path,T.id,b.version)}):f.jsxs(f.Fragment,{children:[f.jsx(oE,{config:e,apiBase:"/api/p/"+T.id+"/",route:b,hub:!0,project:T,projects:p,sidebar:{vault:L,projectsNav:f.jsx(aw,{projects:p,currentId:T.id,onNew:()=>w(!0),menu:{active:l?null:b.view==="dashboard"&&!b.viewTarget?"dashboard":b.view==="install"?"install":b.view==="history"&&!b.viewTarget?"history":b.view==="settings"?"settings":null,onDashboard:()=>{u(null),Zt(Pn("dashboard",T.id)),mr()},onInstall:()=>{u(null),Zt(Pn("install",T.id)),mr()},onHistory:()=>{u(null),Zt(Pn("history",T.id)),mr()},onSettings:()=>{u(null),Zt(Pn("settings",T.id)),mr()}}}),orgBar:P},panel:F||ye||he||X,onClosePanel:()=>u(null)},T.id),R]})}function nF({token:e,onDone:n}){return S.useEffect(()=>{let r=!1;return Si("/api/invites/"+e).then(i=>{r||(Ke(`Welcome — you joined the “${i.org.name}” team. Opening its projects…`),n(i.org.id))}).catch(i=>{r||String(i.message).includes("signing in")||(Ke("Could not accept the invite: "+i.message,!0),n(null))}),()=>{r=!0}},[e]),f.jsx(ll,{vault:f.jsx(Xu,{name:"BearDrive"}),topbar:f.jsx(cl,{}),children:f.jsx(Su,{children:f.jsx("div",{className:"empty",children:"Joining…"})})})}function rF({config:e}){const n=Yp(),r=e.volume||"BearDrive";S.useEffect(()=>{document.title=e.brand||r},[e,r]);const i=S.useMemo(()=>D_(n,"volume"),[n]);return i.trailingSlash&&i.path?f.jsx(Ks,{to:ul(i.path)}):f.jsx(oE,{config:e,apiBase:"/api/",route:i,hub:!1,sidebar:{vault:f.jsx(Xu,{name:r,showSignout:e.auth.enabled,search:!0})}})}function aF(){const{data:e}=vj();return f.jsxs($D,{delayDuration:150,children:[e?e.mode==="hub"?f.jsx(tF,{config:e}):f.jsx(rF,{config:e}):f.jsx(ll,{vault:f.jsx(Xu,{name:"…",showSignout:!1}),topbar:f.jsx(cl,{}),children:f.jsx("div",{className:"empty",children:"Loading…"})}),f.jsx(v3,{}),f.jsx(S3,{})]})}class iF extends S.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("BearDrive: unhandled render error",n,r.componentStack)}render(){return this.state.error?f.jsxs("div",{className:"mx-auto max-w-lg p-8 text-sm",children:[f.jsx("h1",{className:"mb-2 text-lg font-semibold",children:"This page didn’t load"}),f.jsx("p",{className:"mb-4 opacity-80",children:"Something went wrong rendering this view. The rest of BearDrive is fine."}),f.jsx("p",{className:"mb-4",children:f.jsx("a",{className:"underline",href:"/",children:"Go to the project list"})}),f.jsx("pre",{className:"overflow-x-auto rounded bg-black/5 p-3 text-xs dark:bg-white/10",children:String(this.state.error)})]}):this.props.children}}const oF=new ej({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});j2.createRoot(document.getElementById("root")).render(f.jsx(S.StrictMode,{children:f.jsx(iF,{children:f.jsx(tj,{client:oF,children:f.jsx(aF,{})})})})); diff --git a/internal/webapp/static/index.html b/internal/webapp/static/index.html index 14a4a60..89aba4e 100644 --- a/internal/webapp/static/index.html +++ b/internal/webapp/static/index.html @@ -5,7 +5,7 @@ BearDrive - + diff --git a/web/docs/src/content/docs/guides/agent-artifacts.md b/web/docs/src/content/docs/guides/agent-artifacts.md index c819fed..29ebb28 100644 --- a/web/docs/src/content/docs/guides/agent-artifacts.md +++ b/web/docs/src/content/docs/guides/agent-artifacts.md @@ -28,6 +28,12 @@ bdrive url --sync wiki/report.html With no argument, `bdrive url` gives the project home. +If someone later renames the file or drags it into a folder, the old URL keeps +working: the hub pairs the rename's two halves in the journal and redirects to +the file's new home, saying "Moved from …" above the content. A **live** path +always wins, though — if a brand-new file has since taken the old address, that +new file is what the URL serves, with no redirect. + :::tip[Agents do this automatically] The sync hook `bdrive init` registers injects the project's gated-link formula into the agent's context, so a connected agent appends @@ -50,6 +56,12 @@ https://drive.example.com/s/eacc1df3ee6a6ebbdacc535c2796dc30 Links serve the file's **latest** synced content, which is the right behavior for living reports and wiki pages, and live until they expire or you revoke them. +A share link points at one **file**, not at an address — the opposite of an +internal link. Move or rename the file and the link follows it, even if a new +file later takes the old path. Delete the file and the link 404s, and stays +404 forever: nothing that later appears at that path is ever served through a +link minted for something else. + ```sh bdrive share --list # every link you've minted bdrive share --revoke # kill one