diff --git a/backend/Dockerfile b/backend/Dockerfile index ad342c3e3..66779b977 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,7 +1,7 @@ # BOC Backend Dockerfile # Multi-stage build for minimal image -FROM golang:1.22-alpine AS builder +FROM golang:1.25-alpine AS builder WORKDIR /app diff --git a/backend/bin/boc b/backend/bin/boc index 83d45e08d..8c6db9e5b 100755 Binary files a/backend/bin/boc and b/backend/bin/boc differ diff --git a/backend/boc b/backend/boc index f12e23258..c72b658e7 100755 Binary files a/backend/boc and b/backend/boc differ diff --git a/backend/config/config.go b/backend/config/config.go index 942d0c46d..e2d493ee2 100644 --- a/backend/config/config.go +++ b/backend/config/config.go @@ -26,7 +26,7 @@ func Load() *Config { return &Config{ Port: getEnv("PORT", "9092"), DBURL: getEnv("DB_URL", "postgres://boc:boc@localhost:5432/boc?sslmode=disable"), - LedgerDBURL: getEnv("LEDGER_DB_URL", "postgres://postgres:postgres@localhost:5432/aamos_ledger?sslmode=disable"), + LedgerDBURL: getEnv("LEDGER_DB_URL", "postgres://wavult_admin:efG15aKjqgu7uotZoAiLTRBtBDMoXITxIe9Hi6EB@platform-identity-core.cvi0qcksmsfj.eu-north-1.rds.amazonaws.com:5432/amos?sslmode=disable"), JWTSecret: getEnv("JWT_SECRET", "w+Qkf/CoDda3Ba7vZLKokrGHiwUV5Ak/3tiBmFAvRC8="), AMOSBaseURL: getEnv("AMOS_BASE_URL", "http://localhost:9000"), CORSOrigins: splitComma(getEnv("CORS_ORIGINS", "http://localhost:3000")), diff --git a/backend/handlers/ledger_v2.go b/backend/handlers/ledger_v2.go new file mode 100644 index 000000000..6c902166b --- /dev/null +++ b/backend/handlers/ledger_v2.go @@ -0,0 +1,89 @@ +package handlers + +import ( + "encoding/json" + "net/http" + + "boc/ledger" +) + +var ledgerDBURL = getEnv("LEDGER_DB_URL", "postgres://wavult_admin:efG15aKjqgu7uotZoAiLTRBtBDMoXITxIe9Hi6EB@platform-identity-core.cvi0qcksmsfj.eu-north-1.rds.amazonaws.com:5432/amos?sslmode=disable") + +// LedgerV2Handler uses direct DB connection for reliable data +type LedgerV2Handler struct { + client *ledger.RobustClient +} + +// NewLedgerV2Handler creates a handler with DB connection +func NewLedgerV2Handler() (*LedgerV2Handler, error) { + client, err := ledger.NewRobustClient(ledgerDBURL) + if err != nil { + return nil, err + } + return &LedgerV2Handler{client: client}, nil +} + +// GetAccounts returns all BAS accounts +func (h *LedgerV2Handler) GetAccounts(w http.ResponseWriter, r *http.Request) { + accounts, err := h.client.GetAccounts(r.Context()) + if err != nil { + writeError(w, http.StatusInternalServerError, err.Error()) + return + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(map[string]interface{}{ + "accounts": accounts, + }) +} + +// GetBalanceSheet returns balance sheet for a period +func (h *LedgerV2Handler) GetBalanceSheet(w http.ResponseWriter, r *http.Request) { + period := r.URL.Query().Get("period") + if period == "" { + period = "2026-01" + } + + bs, err := h.client.GetBalanceSheet(r.Context(), period) + if err != nil { + writeError(w, http.StatusInternalServerError, err.Error()) + return + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(bs) +} + +// GetIncomeStatement returns P&L for a period +func (h *LedgerV2Handler) GetIncomeStatement(w http.ResponseWriter, r *http.Request) { + period := r.URL.Query().Get("period") + if period == "" { + period = "2026-01" + } + + is, err := h.client.GetIncomeStatement(r.Context(), period) + if err != nil { + writeError(w, http.StatusInternalServerError, err.Error()) + return + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(is) +} + +// GetMomsReport returns VAT report for a period +func (h *LedgerV2Handler) GetMomsReport(w http.ResponseWriter, r *http.Request) { + period := r.URL.Query().Get("period") + if period == "" { + period = "2026-01" + } + + report, err := h.client.GetMomsReport(r.Context(), period) + if err != nil { + writeError(w, http.StatusInternalServerError, err.Error()) + return + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(report) +} \ No newline at end of file diff --git a/backend/ledger/robust_client.go b/backend/ledger/robust_client.go index 7019f4c1b..f71050a64 100644 --- a/backend/ledger/robust_client.go +++ b/backend/ledger/robust_client.go @@ -44,13 +44,13 @@ type LedgerAccount struct { // GetAccounts returns all BAS accounts with balances func (c *RobustClient) GetAccounts(ctx context.Context) ([]LedgerAccount, error) { rows, err := c.db.QueryContext(ctx, ` - SELECT a.code, a.name, a.account_type, + SELECT a.account_code, a.name, a.account_type, COALESCE(SUM(CASE WHEN jl.debit IS NOT NULL THEN jl.debit ELSE 0 END) - SUM(CASE WHEN jl.credit IS NOT NULL THEN jl.credit ELSE 0 END), 0) as balance - FROM accounts a - LEFT JOIN journal_lines jl ON a.id = jl.account_id - GROUP BY a.id, a.code, a.name, a.account_type - ORDER BY a.code + FROM boc_chart_of_accounts a + LEFT JOIN boc_journal_lines jl ON a.id = jl.account_id + GROUP BY a.id, a.account_code, a.name, a.account_type + ORDER BY a.account_code `) if err != nil { return nil, fmt.Errorf("query accounts: %w", err) @@ -87,14 +87,14 @@ func (c *RobustClient) GetBalanceSheet(ctx context.Context, period string) (*Bal } rows, err := c.db.QueryContext(ctx, ` - SELECT a.code, a.name, a.account_type, + SELECT a.account_code, a.name, a.account_type, COALESCE(SUM(CASE WHEN jl.debit IS NOT NULL THEN jl.debit ELSE 0 END) - SUM(CASE WHEN jl.credit IS NOT NULL THEN jl.credit ELSE 0 END), 0) as balance - FROM accounts a - LEFT JOIN journal_lines jl ON a.id = jl.account_id - LEFT JOIN journal_entries je ON jl.journal_entry_id = je.id AND je.entry_date >= $1::date AND je.entry_date < ($1::date + INTERVAL '1 month') - GROUP BY a.id, a.code, a.name, a.account_type - ORDER BY a.code + FROM boc_chart_of_accounts a + LEFT JOIN boc_journal_lines jl ON a.id = jl.account_id + LEFT JOIN boc_journal_entries je ON jl.entry_id = je.id AND je.entry_date >= $1::date AND je.entry_date < ($1::date + INTERVAL '1 month') + GROUP BY a.id, a.account_code, a.name, a.account_type + ORDER BY a.account_code `, period+"-01") if err != nil { return nil, fmt.Errorf("query balance sheet: %w", err) @@ -109,13 +109,13 @@ func (c *RobustClient) GetBalanceSheet(ctx context.Context, period string) (*Bal } switch a.AccountType { - case "Asset": + case "Asset", "asset": bs.Assets = append(bs.Assets, a) bs.TotalAssets += a.Balance - case "Liability": + case "Liability", "liability": bs.Liabilities = append(bs.Liabilities, a) bs.TotalLiabilities += a.Balance - case "Equity": + case "Equity", "equity": bs.Equity = append(bs.Equity, a) bs.TotalEquity += a.Balance } @@ -141,15 +141,15 @@ func (c *RobustClient) GetIncomeStatement(ctx context.Context, period string) (* } rows, err := c.db.QueryContext(ctx, ` - SELECT a.code, a.name, a.account_type, + SELECT a.account_code, a.name, a.account_type, COALESCE(SUM(CASE WHEN jl.debit IS NOT NULL THEN jl.debit ELSE 0 END) - SUM(CASE WHEN jl.credit IS NOT NULL THEN jl.credit ELSE 0 END), 0) as balance - FROM accounts a - LEFT JOIN journal_lines jl ON a.id = jl.account_id - LEFT JOIN journal_entries je ON jl.journal_entry_id = je.id AND je.entry_date >= $1::date AND je.entry_date < ($1::date + INTERVAL '1 month') + FROM boc_chart_of_accounts a + LEFT JOIN boc_journal_lines jl ON a.id = jl.account_id + LEFT JOIN boc_journal_entries je ON jl.entry_id = je.id AND je.entry_date >= $1::date AND je.entry_date < ($1::date + INTERVAL '1 month') WHERE a.account_type IN ('Revenue', 'Expense') - GROUP BY a.id, a.code, a.name, a.account_type - ORDER BY a.code + GROUP BY a.id, a.account_code, a.name, a.account_type + ORDER BY a.account_code `, period+"-01") if err != nil { return nil, fmt.Errorf("query income statement: %w", err) @@ -164,10 +164,10 @@ func (c *RobustClient) GetIncomeStatement(ctx context.Context, period string) (* } switch a.AccountType { - case "Revenue": + case "Revenue", "revenue": is.Revenues = append(is.Revenues, a) is.TotalRevenue += a.Balance - case "Expense": + case "Expense", "expense": is.Expenses = append(is.Expenses, a) is.TotalExpense += a.Balance } @@ -197,11 +197,11 @@ func (c *RobustClient) GetMomsReport(ctx context.Context, period string) (*MomsR // Moms in (utgående moms från försäljning) err := c.db.QueryRowContext(ctx, ` SELECT COALESCE(SUM(jl.credit), 0) - FROM journal_lines jl - JOIN journal_entries je ON jl.journal_entry_id = je.id - JOIN accounts a ON jl.account_id = a.id + FROM boc_journal_lines jl + JOIN boc_journal_entries je ON jl.entry_id = je.id + JOIN boc_chart_of_accounts a ON jl.account_id = a.id WHERE je.entry_date >= $1::date AND je.entry_date < ($1::date + INTERVAL '1 month') - AND a.code LIKE '26%' + AND a.account_code LIKE '26%' `, period+"-01").Scan(&report.MomsUt) if err != nil { return nil, fmt.Errorf("query moms ut: %w", err) diff --git a/docker-compose.yml b/docker-compose.yml index 4026e4240..2ac7a458b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,6 +48,7 @@ services: JWT_SECRET: ${JWT_SECRET:?JWT_SECRET must be set} AMOS_BASE_URL: "http://172.17.0.1:3250" LEDGER_URL: "http://172.17.0.1:3250" + LEDGER_DB_URL: "postgres://boc:boc_secret_2026@postgres:5432/boc?sslmode=disable" MIGRATIONS_DIR: "./db/migrations" REDIS_URL: "redis://redis:6379" RESEND_API_KEY: ${RESEND_API_KEY:-} diff --git a/web-v2/dist/assets/index-B0Irvkd7.css b/web-v2/dist/assets/index-B0Irvkd7.css deleted file mode 100644 index 9e9e1c07b..000000000 --- a/web-v2/dist/assets/index-B0Irvkd7.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-300:oklch(87.2% .01 258.338);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#fafaf8;--color-surface:#fff;--color-sidebar:#fff;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-border:#0000000f;--color-primary:#2563eb;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-primary-hover:#1d4ed8;--color-primary-light:#2563eb14;--color-success-light:#16a34a14;--color-warning-light:#d9770614;--color-danger-light:#dc262614;--shadow-card:0 2px 10px #0000000a;--shadow-dropdown:0 4px 20px #00000014;--shadow-hover:0 4px 16px #0000000f}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);min-height:100vh}*{border-color:var(--color-border)}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-\[38px\]{top:38px}.top-full{top:100%}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:var(--spacing)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-mt-16{margin-top:calc(var(--spacing) * -16)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-64{height:calc(var(--spacing) * 64)}.h-\[80px\]{height:80px}.h-\[120px\]{height:120px}.h-\[140px\]{height:140px}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[280px\]{height:280px}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[400px\]{height:400px}.h-full{height:100%}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[90vh\]{max-height:90vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-56{width:calc(var(--spacing) * 56)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[400px\]{max-width:400px}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4\.5{--tw-translate-x:calc(var(--spacing) * 4.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-bg{border-color:var(--color-bg)}.border-border{border-color:var(--color-border)}.border-border\/40{border-color:#00000006}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,var(--color-border) 40%,transparent)}}.border-border\/50{border-color:#00000008}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--color-border) 50%,transparent)}}.border-border\/60{border-color:#00000009}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.border-danger{border-color:var(--color-danger)}.border-danger\/20{border-color:#dc262633}@supports (color:color-mix(in lab,red,red)){.border-danger\/20{border-color:color-mix(in oklab,var(--color-danger) 20%,transparent)}}.border-primary{border-color:var(--color-primary)}.border-primary\/20{border-color:#2563eb33}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.border-success\/20{border-color:#16a34a33}@supports (color:color-mix(in lab,red,red)){.border-success\/20{border-color:color-mix(in oklab,var(--color-success) 20%,transparent)}}.border-warning\/20{border-color:#d9770633}@supports (color:color-mix(in lab,red,red)){.border-warning\/20{border-color:color-mix(in oklab,var(--color-warning) 20%,transparent)}}.bg-bg{background-color:var(--color-bg)}.bg-bg\/50{background-color:#fafaf880}@supports (color:color-mix(in lab,red,red)){.bg-bg\/50{background-color:color-mix(in oklab,var(--color-bg) 50%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-danger{background-color:var(--color-danger)}.bg-danger-light{background-color:var(--color-danger-light)}.bg-danger\/5{background-color:#dc26260d}@supports (color:color-mix(in lab,red,red)){.bg-danger\/5{background-color:color-mix(in oklab,var(--color-danger) 5%,transparent)}}.bg-danger\/10{background-color:#dc26261a}@supports (color:color-mix(in lab,red,red)){.bg-danger\/10{background-color:color-mix(in oklab,var(--color-danger) 10%,transparent)}}.bg-danger\/80{background-color:#dc2626cc}@supports (color:color-mix(in lab,red,red)){.bg-danger\/80{background-color:color-mix(in oklab,var(--color-danger) 80%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-primary-light\/30{background-color:#2563eb06}@supports (color:color-mix(in lab,red,red)){.bg-primary-light\/30{background-color:color-mix(in oklab,var(--color-primary-light) 30%,transparent)}}.bg-primary\/5{background-color:#2563eb0d}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-primary\/10{background-color:#2563eb1a}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-primary\/80{background-color:#2563ebcc}@supports (color:color-mix(in lab,red,red)){.bg-primary\/80{background-color:color-mix(in oklab,var(--color-primary) 80%,transparent)}}.bg-sidebar{background-color:var(--color-sidebar)}.bg-success{background-color:var(--color-success)}.bg-success-light{background-color:var(--color-success-light)}.bg-success\/5{background-color:#16a34a0d}@supports (color:color-mix(in lab,red,red)){.bg-success\/5{background-color:color-mix(in oklab,var(--color-success) 5%,transparent)}}.bg-success\/10{background-color:#16a34a1a}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--color-success) 10%,transparent)}}.bg-success\/20{background-color:#16a34a33}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,var(--color-success) 20%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-text-secondary{background-color:var(--color-text-secondary)}.bg-text-secondary\/8{background-color:#6b728014}@supports (color:color-mix(in lab,red,red)){.bg-text-secondary\/8{background-color:color-mix(in oklab,var(--color-text-secondary) 8%,transparent)}}.bg-text-secondary\/20{background-color:#6b728033}@supports (color:color-mix(in lab,red,red)){.bg-text-secondary\/20{background-color:color-mix(in oklab,var(--color-text-secondary) 20%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning-light{background-color:var(--color-warning-light)}.bg-warning\/5{background-color:#d977060d}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning) 5%,transparent)}}.bg-warning\/10{background-color:#d977061a}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning) 10%,transparent)}}.bg-warning\/80{background-color:#d97706cc}@supports (color:color-mix(in lab,red,red)){.bg-warning\/80{background-color:color-mix(in oklab,var(--color-warning) 80%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary-hover{--tw-gradient-to:var(--color-primary-hover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-1{padding-left:var(--spacing)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-danger{color:var(--color-danger)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-secondary\/40{color:#6b728066}@supports (color:color-mix(in lab,red,red)){.text-text-secondary\/40{color:color-mix(in oklab,var(--color-text-secondary) 40%,transparent)}}.text-text-secondary\/60{color:#6b728099}@supports (color:color-mix(in lab,red,red)){.text-text-secondary\/60{color:color-mix(in oklab,var(--color-text-secondary) 60%,transparent)}}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}}.peer-checked\:bg-primary:is(:where(.peer):checked~*){background-color:var(--color-primary)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.placeholder\:text-text-secondary\/50::placeholder{color:#6b728080}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-text-secondary\/50::placeholder{color:color-mix(in oklab,var(--color-text-secondary) 50%,transparent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing) * 5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);border-color:var(--color-gray-300)}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/30:hover{border-color:#2563eb4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.hover\:bg-bg:hover{background-color:var(--color-bg)}.hover\:bg-bg\/50:hover{background-color:#fafaf880}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg\/50:hover{background-color:color-mix(in oklab,var(--color-bg) 50%,transparent)}}.hover\:bg-bg\/60:hover{background-color:#fafaf899}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg\/60:hover{background-color:color-mix(in oklab,var(--color-bg) 60%,transparent)}}.hover\:bg-danger-light:hover{background-color:var(--color-danger-light)}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-hover:hover{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-danger\/30:focus{border-color:#dc26264d}@supports (color:color-mix(in lab,red,red)){.focus\:border-danger\/30:focus{border-color:color-mix(in oklab,var(--color-danger) 30%,transparent)}}.focus\:border-primary\/30:focus{border-color:#2563eb4d}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/30:focus{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-danger\/20:focus{--tw-ring-color:#dc262633}@supports (color:color-mix(in lab,red,red)){.focus\:ring-danger\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-danger) 20%, transparent)}}.focus\:ring-primary\/20:focus{--tw-ring-color:#2563eb33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:block{display:block}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:w-auto{width:auto}.sm\:flex-initial{flex:0 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media(min-width:48rem){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:ml-\[72px\]{margin-left:72px}.lg\:ml-\[240px\]{margin-left:240px}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}}@media(min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.card-shadow{box-shadow:var(--shadow-card)}.dropdown-shadow{box-shadow:var(--shadow-dropdown)}.hover-shadow{box-shadow:var(--shadow-hover)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/web-v2/dist/assets/index-BtifZyOD.js b/web-v2/dist/assets/index-BtifZyOD.js new file mode 100644 index 000000000..1e0aa51fa --- /dev/null +++ b/web-v2/dist/assets/index-BtifZyOD.js @@ -0,0 +1,455 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var Td=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ev={exports:{}},wu={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var J2;function e8(){if(J2)return wu;J2=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,s){var l=null;if(s!==void 0&&(l=""+s),a.key!==void 0&&(l=""+a.key),"key"in a){s={};for(var c in a)c!=="key"&&(s[c]=a[c])}else s=a;return a=s.ref,{$$typeof:e,type:r,key:l,ref:a!==void 0?a:null,props:s}}return wu.Fragment=t,wu.jsx=n,wu.jsxs=n,wu}var eT;function t8(){return eT||(eT=1,Ev.exports=e8()),Ev.exports}var p=t8(),Nv={exports:{}},Me={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var tT;function n8(){if(tT)return Me;tT=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),g=Symbol.iterator;function S(L){return L===null||typeof L!="object"?null:(L=g&&L[g]||L["@@iterator"],typeof L=="function"?L:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,b={};function A(L,G,re){this.props=L,this.context=G,this.refs=b,this.updater=re||w}A.prototype.isReactComponent={},A.prototype.setState=function(L,G){if(typeof L!="object"&&typeof L!="function"&&L!=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,L,G,"setState")},A.prototype.forceUpdate=function(L){this.updater.enqueueForceUpdate(this,L,"forceUpdate")};function _(){}_.prototype=A.prototype;function T(L,G,re){this.props=L,this.context=G,this.refs=b,this.updater=re||w}var C=T.prototype=new _;C.constructor=T,j(C,A.prototype),C.isPureReactComponent=!0;var O=Array.isArray;function N(){}var M={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function D(L,G,re){var fe=re.ref;return{$$typeof:e,type:L,key:G,ref:fe!==void 0?fe:null,props:re}}function B(L,G){return D(L.type,G,L.props)}function I(L){return typeof L=="object"&&L!==null&&L.$$typeof===e}function z(L){var G={"=":"=0",":":"=2"};return"$"+L.replace(/[=:]/g,function(re){return G[re]})}var H=/\/+/g;function X(L,G){return typeof L=="object"&&L!==null&&L.key!=null?z(""+L.key):G.toString(36)}function Y(L){switch(L.status){case"fulfilled":return L.value;case"rejected":throw L.reason;default:switch(typeof L.status=="string"?L.then(N,N):(L.status="pending",L.then(function(G){L.status==="pending"&&(L.status="fulfilled",L.value=G)},function(G){L.status==="pending"&&(L.status="rejected",L.reason=G)})),L.status){case"fulfilled":return L.value;case"rejected":throw L.reason}}throw L}function $(L,G,re,fe,ve){var je=typeof L;(je==="undefined"||je==="boolean")&&(L=null);var ze=!1;if(L===null)ze=!0;else switch(je){case"bigint":case"string":case"number":ze=!0;break;case"object":switch(L.$$typeof){case e:case t:ze=!0;break;case m:return ze=L._init,$(ze(L._payload),G,re,fe,ve)}}if(ze)return ve=ve(L),ze=fe===""?"."+X(L,0):fe,O(ve)?(re="",ze!=null&&(re=ze.replace(H,"$&/")+"/"),$(ve,G,re,"",function(Te){return Te})):ve!=null&&(I(ve)&&(ve=B(ve,re+(ve.key==null||L&&L.key===ve.key?"":(""+ve.key).replace(H,"$&/")+"/")+ze)),G.push(ve)),1;ze=0;var Xe=fe===""?".":fe+":";if(O(L))for(var ce=0;ce>>1,se=$[ie];if(0>>1;iea(re,Q))fea(ve,re)?($[ie]=ve,$[fe]=Q,ie=fe):($[ie]=re,$[G]=Q,ie=G);else if(fea(ve,Q))$[ie]=ve,$[fe]=Q,ie=fe;else break e}}return F}function a($,F){var Q=$.sortIndex-F.sortIndex;return Q!==0?Q:$.id-F.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var f=[],d=[],m=1,y=null,g=3,S=!1,w=!1,j=!1,b=!1,A=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function C($){for(var F=n(d);F!==null;){if(F.callback===null)r(d);else if(F.startTime<=$)r(d),F.sortIndex=F.expirationTime,t(f,F);else break;F=n(d)}}function O($){if(j=!1,C($),!w)if(n(f)!==null)w=!0,N||(N=!0,z());else{var F=n(d);F!==null&&Y(O,F.startTime-$)}}var N=!1,M=-1,R=5,D=-1;function B(){return b?!0:!(e.unstable_now()-D$&&B());){var ie=y.callback;if(typeof ie=="function"){y.callback=null,g=y.priorityLevel;var se=ie(y.expirationTime<=$);if($=e.unstable_now(),typeof se=="function"){y.callback=se,C($),F=!0;break t}y===n(f)&&r(f),C($)}else r(f);y=n(f)}if(y!==null)F=!0;else{var L=n(d);L!==null&&Y(O,L.startTime-$),F=!1}}break e}finally{y=null,g=Q,S=!1}F=void 0}}finally{F?z():N=!1}}}var z;if(typeof T=="function")z=function(){T(I)};else if(typeof MessageChannel<"u"){var H=new MessageChannel,X=H.port2;H.port1.onmessage=I,z=function(){X.postMessage(null)}}else z=function(){A(I,0)};function Y($,F){M=A(function(){$(e.unstable_now())},F)}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($){$.callback=null},e.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_next=function($){switch(g){case 1:case 2:case 3:var F=3;break;default:F=g}var Q=g;g=F;try{return $()}finally{g=Q}},e.unstable_requestPaint=function(){b=!0},e.unstable_runWithPriority=function($,F){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var Q=g;g=$;try{return F()}finally{g=Q}},e.unstable_scheduleCallback=function($,F,Q){var ie=e.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0ie?($.sortIndex=Q,t(d,$),n(f)===null&&$===n(d)&&(j?(_(M),M=-1):j=!0,Y(O,Q-ie))):($.sortIndex=se,t(f,$),w||S||(w=!0,N||(N=!0,z()))),$},e.unstable_shouldYield=B,e.unstable_wrapCallback=function($){var F=g;return function(){var Q=g;g=F;try{return $.apply(this,arguments)}finally{g=Q}}}})(Pv)),Pv}var iT;function i8(){return iT||(iT=1,Mv.exports=r8()),Mv.exports}var Rv={exports:{}},fn={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var aT;function a8(){if(aT)return fn;aT=1;var e=iw();function t(f){var d="https://react.dev/errors/"+f;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Rv.exports=a8(),Rv.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var sT;function s8(){if(sT)return ju;sT=1;var e=i8(),t=iw(),n=o8();function r(i){var o="https://react.dev/errors/"+i;if(1se||(i.current=ie[se],ie[se]=null,se--)}function re(i,o){se++,ie[se]=i.current,i.current=o}var fe=L(null),ve=L(null),je=L(null),ze=L(null);function Xe(i,o){switch(re(je,o),re(ve,i),re(fe,null),o.nodeType){case 9:case 11:i=(i=o.documentElement)&&(i=i.namespaceURI)?w2(i):0;break;default:if(i=o.tagName,o=o.namespaceURI)o=w2(o),i=j2(o,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}G(fe),re(fe,i)}function ce(){G(fe),G(ve),G(je)}function Te(i){i.memoizedState!==null&&re(ze,i);var o=fe.current,u=j2(o,i.type);o!==u&&(re(ve,i),re(fe,u))}function Ce(i){ve.current===i&&(G(fe),G(ve)),ze.current===i&&(G(ze),gu._currentValue=Q)}var le,yt;function De(i){if(le===void 0)try{throw Error()}catch(u){var o=u.stack.trim().match(/\n( *(at )?)/);le=o&&o[1]||"",yt=-1)":-1v||U[h]!==Z[v]){var te=` +`+U[h].replace(" at new "," at ");return i.displayName&&te.includes("")&&(te=te.replace("",i.displayName)),te}while(1<=h&&0<=v);break}}}finally{At=!1,Error.prepareStackTrace=u}return(u=i?i.displayName||i.name:"")?De(u):""}function un(i,o){switch(i.tag){case 26:case 27:case 5:return De(i.type);case 16:return De("Lazy");case 13:return i.child!==o&&o!==null?De("Suspense Fallback"):De("Suspense");case 19:return De("SuspenseList");case 0:case 15:return Ot(i.type,!1);case 11:return Ot(i.type.render,!1);case 1:return Ot(i.type,!0);case 31:return De("Activity");default:return""}}function mr(i){try{var o="",u=null;do o+=un(i,u),u=i,i=i.return;while(i);return o}catch(h){return` +Error generating stack: `+h.message+` +`+h.stack}}var Dr=Object.prototype.hasOwnProperty,qi=e.unstable_scheduleCallback,yr=e.unstable_cancelCallback,ni=e.unstable_shouldYield,Nl=e.unstable_requestPaint,cn=e.unstable_now,uf=e.unstable_getCurrentPriorityLevel,eA=e.unstable_ImmediatePriority,tA=e.unstable_UserBlockingPriority,cf=e.unstable_NormalPriority,kB=e.unstable_LowPriority,nA=e.unstable_IdlePriority,LB=e.log,zB=e.unstable_setDisableYieldValue,Cl=null,Cn=null;function Ii(i){if(typeof LB=="function"&&zB(i),Cn&&typeof Cn.setStrictMode=="function")try{Cn.setStrictMode(Cl,i)}catch{}}var Mn=Math.clz32?Math.clz32:qB,$B=Math.log,BB=Math.LN2;function qB(i){return i>>>=0,i===0?32:31-($B(i)/BB|0)|0}var ff=256,df=262144,hf=4194304;function ka(i){var o=i&42;if(o!==0)return o;switch(i&-i){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 i&261888;case 262144:case 524288:case 1048576:case 2097152:return i&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function pf(i,o,u){var h=i.pendingLanes;if(h===0)return 0;var v=0,x=i.suspendedLanes,E=i.pingedLanes;i=i.warmLanes;var k=h&134217727;return k!==0?(h=k&~x,h!==0?v=ka(h):(E&=k,E!==0?v=ka(E):u||(u=k&~i,u!==0&&(v=ka(u))))):(k=h&~x,k!==0?v=ka(k):E!==0?v=ka(E):u||(u=h&~i,u!==0&&(v=ka(u)))),v===0?0:o!==0&&o!==v&&(o&x)===0&&(x=v&-v,u=o&-o,x>=u||x===32&&(u&4194048)!==0)?o:v}function Ml(i,o){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&o)===0}function IB(i,o){switch(i){case 1:case 2:case 4:case 8:case 64:return o+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 o+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 rA(){var i=hf;return hf<<=1,(hf&62914560)===0&&(hf=4194304),i}function ym(i){for(var o=[],u=0;31>u;u++)o.push(i);return o}function Pl(i,o){i.pendingLanes|=o,o!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function UB(i,o,u,h,v,x){var E=i.pendingLanes;i.pendingLanes=u,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=u,i.entangledLanes&=u,i.errorRecoveryDisabledLanes&=u,i.shellSuspendCounter=0;var k=i.entanglements,U=i.expirationTimes,Z=i.hiddenUpdates;for(u=E&~u;0"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var YB=/[\n"\\]/g;function Xn(i){return i.replace(YB,function(o){return"\\"+o.charCodeAt(0).toString(16)+" "})}function wm(i,o,u,h,v,x,E,k){i.name="",E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"?i.type=E:i.removeAttribute("type"),o!=null?E==="number"?(o===0&&i.value===""||i.value!=o)&&(i.value=""+Yn(o)):i.value!==""+Yn(o)&&(i.value=""+Yn(o)):E!=="submit"&&E!=="reset"||i.removeAttribute("value"),o!=null?jm(i,E,Yn(o)):u!=null?jm(i,E,Yn(u)):h!=null&&i.removeAttribute("value"),v==null&&x!=null&&(i.defaultChecked=!!x),v!=null&&(i.checked=v&&typeof v!="function"&&typeof v!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?i.name=""+Yn(k):i.removeAttribute("name")}function yA(i,o,u,h,v,x,E,k){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(i.type=x),o!=null||u!=null){if(!(x!=="submit"&&x!=="reset"||o!=null)){Sm(i);return}u=u!=null?""+Yn(u):"",o=o!=null?""+Yn(o):u,k||o===i.value||(i.value=o),i.defaultValue=o}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,i.checked=k?i.checked:!!h,i.defaultChecked=!!h,E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"&&(i.name=E),Sm(i)}function jm(i,o,u){o==="number"&&vf(i.ownerDocument)===i||i.defaultValue===""+u||(i.defaultValue=""+u)}function Io(i,o,u,h){if(i=i.options,o){o={};for(var v=0;v"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Em=!1;if(ai)try{var Ll={};Object.defineProperty(Ll,"passive",{get:function(){Em=!0}}),window.addEventListener("test",Ll,Ll),window.removeEventListener("test",Ll,Ll)}catch{Em=!1}var Vi=null,Nm=null,xf=null;function jA(){if(xf)return xf;var i,o=Nm,u=o.length,h,v="value"in Vi?Vi.value:Vi.textContent,x=v.length;for(i=0;i=Bl),NA=" ",CA=!1;function MA(i,o){switch(i){case"keyup":return w5.indexOf(o.keyCode)!==-1;case"keydown":return o.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function PA(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Go=!1;function A5(i,o){switch(i){case"compositionend":return PA(o);case"keypress":return o.which!==32?null:(CA=!0,NA);case"textInput":return i=o.data,i===NA&&CA?null:i;default:return null}}function O5(i,o){if(Go)return i==="compositionend"||!Dm&&MA(i,o)?(i=jA(),xf=Nm=Vi=null,Go=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(o.ctrlKey||o.altKey||o.metaKey)||o.ctrlKey&&o.altKey){if(o.char&&1=o)return{node:u,offset:o-i};i=h}e:{for(;u;){if(u.nextSibling){u=u.nextSibling;break e}u=u.parentNode}u=void 0}u=qA(u)}}function UA(i,o){return i&&o?i===o?!0:i&&i.nodeType===3?!1:o&&o.nodeType===3?UA(i,o.parentNode):"contains"in i?i.contains(o):i.compareDocumentPosition?!!(i.compareDocumentPosition(o)&16):!1:!1}function VA(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var o=vf(i.document);o instanceof i.HTMLIFrameElement;){try{var u=typeof o.contentWindow.location.href=="string"}catch{u=!1}if(u)i=o.contentWindow;else break;o=vf(i.document)}return o}function zm(i){var o=i&&i.nodeName&&i.nodeName.toLowerCase();return o&&(o==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||o==="textarea"||i.contentEditable==="true")}var R5=ai&&"documentMode"in document&&11>=document.documentMode,Fo=null,$m=null,Vl=null,Bm=!1;function HA(i,o,u){var h=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;Bm||Fo==null||Fo!==vf(h)||(h=Fo,"selectionStart"in h&&zm(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),Vl&&Ul(Vl,h)||(Vl=h,h=dd($m,"onSelect"),0>=E,v-=E,kr=1<<32-Mn(o)+v|u<ke?(Ue=xe,xe=null):Ue=xe.sibling;var Ge=J(K,xe,W[ke],ae);if(Ge===null){xe===null&&(xe=Ue);break}i&&xe&&Ge.alternate===null&&o(K,xe),V=x(Ge,V,ke),He===null?we=Ge:He.sibling=Ge,He=Ge,xe=Ue}if(ke===W.length)return u(K,xe),Ve&&si(K,ke),we;if(xe===null){for(;keke?(Ue=xe,xe=null):Ue=xe.sibling;var fa=J(K,xe,Ge.value,ae);if(fa===null){xe===null&&(xe=Ue);break}i&&xe&&fa.alternate===null&&o(K,xe),V=x(fa,V,ke),He===null?we=fa:He.sibling=fa,He=fa,xe=Ue}if(Ge.done)return u(K,xe),Ve&&si(K,ke),we;if(xe===null){for(;!Ge.done;ke++,Ge=W.next())Ge=oe(K,Ge.value,ae),Ge!==null&&(V=x(Ge,V,ke),He===null?we=Ge:He.sibling=Ge,He=Ge);return Ve&&si(K,ke),we}for(xe=h(xe);!Ge.done;ke++,Ge=W.next())Ge=ee(xe,K,ke,Ge.value,ae),Ge!==null&&(i&&Ge.alternate!==null&&xe.delete(Ge.key===null?ke:Ge.key),V=x(Ge,V,ke),He===null?we=Ge:He.sibling=Ge,He=Ge);return i&&xe.forEach(function(J6){return o(K,J6)}),Ve&&si(K,ke),we}function ot(K,V,W,ae){if(typeof W=="object"&&W!==null&&W.type===j&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case S:e:{for(var we=W.key;V!==null;){if(V.key===we){if(we=W.type,we===j){if(V.tag===7){u(K,V.sibling),ae=v(V,W.props.children),ae.return=K,K=ae;break e}}else if(V.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===R&&Fa(we)===V.type){u(K,V.sibling),ae=v(V,W.props),Xl(ae,W),ae.return=K,K=ae;break e}u(K,V);break}else o(K,V);V=V.sibling}W.type===j?(ae=Ia(W.props.children,K.mode,ae,W.key),ae.return=K,K=ae):(ae=Nf(W.type,W.key,W.props,null,K.mode,ae),Xl(ae,W),ae.return=K,K=ae)}return E(K);case w:e:{for(we=W.key;V!==null;){if(V.key===we)if(V.tag===4&&V.stateNode.containerInfo===W.containerInfo&&V.stateNode.implementation===W.implementation){u(K,V.sibling),ae=v(V,W.children||[]),ae.return=K,K=ae;break e}else{u(K,V);break}else o(K,V);V=V.sibling}ae=Fm(W,K.mode,ae),ae.return=K,K=ae}return E(K);case R:return W=Fa(W),ot(K,V,W,ae)}if(Y(W))return me(K,V,W,ae);if(z(W)){if(we=z(W),typeof we!="function")throw Error(r(150));return W=we.call(W),Ae(K,V,W,ae)}if(typeof W.then=="function")return ot(K,V,Lf(W),ae);if(W.$$typeof===T)return ot(K,V,Pf(K,W),ae);zf(K,W)}return typeof W=="string"&&W!==""||typeof W=="number"||typeof W=="bigint"?(W=""+W,V!==null&&V.tag===6?(u(K,V.sibling),ae=v(V,W),ae.return=K,K=ae):(u(K,V),ae=Gm(W,K.mode,ae),ae.return=K,K=ae),E(K)):u(K,V)}return function(K,V,W,ae){try{Yl=0;var we=ot(K,V,W,ae);return rs=null,we}catch(xe){if(xe===ns||xe===Df)throw xe;var He=Rn(29,xe,null,K.mode);return He.lanes=ae,He.return=K,He}finally{}}}var Ya=hO(!0),pO=hO(!1),Yi=!1;function iy(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ay(i,o){i=i.updateQueue,o.updateQueue===i&&(o.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,callbacks:null})}function Xi(i){return{lane:i,tag:0,payload:null,callback:null,next:null}}function Wi(i,o,u){var h=i.updateQueue;if(h===null)return null;if(h=h.shared,(Ke&2)!==0){var v=h.pending;return v===null?o.next=o:(o.next=v.next,v.next=o),h.pending=o,o=Ef(i),ZA(i,null,u),o}return Tf(i,h,o,u),Ef(i)}function Wl(i,o,u){if(o=o.updateQueue,o!==null&&(o=o.shared,(u&4194048)!==0)){var h=o.lanes;h&=i.pendingLanes,u|=h,o.lanes=u,aA(i,u)}}function oy(i,o){var u=i.updateQueue,h=i.alternate;if(h!==null&&(h=h.updateQueue,u===h)){var v=null,x=null;if(u=u.firstBaseUpdate,u!==null){do{var E={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};x===null?v=x=E:x=x.next=E,u=u.next}while(u!==null);x===null?v=x=o:x=x.next=o}else v=x=o;u={baseState:h.baseState,firstBaseUpdate:v,lastBaseUpdate:x,shared:h.shared,callbacks:h.callbacks},i.updateQueue=u;return}i=u.lastBaseUpdate,i===null?u.firstBaseUpdate=o:i.next=o,u.lastBaseUpdate=o}var sy=!1;function Zl(){if(sy){var i=ts;if(i!==null)throw i}}function Ql(i,o,u,h){sy=!1;var v=i.updateQueue;Yi=!1;var x=v.firstBaseUpdate,E=v.lastBaseUpdate,k=v.shared.pending;if(k!==null){v.shared.pending=null;var U=k,Z=U.next;U.next=null,E===null?x=Z:E.next=Z,E=U;var te=i.alternate;te!==null&&(te=te.updateQueue,k=te.lastBaseUpdate,k!==E&&(k===null?te.firstBaseUpdate=Z:k.next=Z,te.lastBaseUpdate=U))}if(x!==null){var oe=v.baseState;E=0,te=Z=U=null,k=x;do{var J=k.lane&-536870913,ee=J!==k.lane;if(ee?(Ie&J)===J:(h&J)===J){J!==0&&J===es&&(sy=!0),te!==null&&(te=te.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});e:{var me=i,Ae=k;J=o;var ot=u;switch(Ae.tag){case 1:if(me=Ae.payload,typeof me=="function"){oe=me.call(ot,oe,J);break e}oe=me;break e;case 3:me.flags=me.flags&-65537|128;case 0:if(me=Ae.payload,J=typeof me=="function"?me.call(ot,oe,J):me,J==null)break e;oe=y({},oe,J);break e;case 2:Yi=!0}}J=k.callback,J!==null&&(i.flags|=64,ee&&(i.flags|=8192),ee=v.callbacks,ee===null?v.callbacks=[J]:ee.push(J))}else ee={lane:J,tag:k.tag,payload:k.payload,callback:k.callback,next:null},te===null?(Z=te=ee,U=oe):te=te.next=ee,E|=J;if(k=k.next,k===null){if(k=v.shared.pending,k===null)break;ee=k,k=ee.next,ee.next=null,v.lastBaseUpdate=ee,v.shared.pending=null}}while(!0);te===null&&(U=oe),v.baseState=U,v.firstBaseUpdate=Z,v.lastBaseUpdate=te,x===null&&(v.shared.lanes=0),ta|=E,i.lanes=E,i.memoizedState=oe}}function mO(i,o){if(typeof i!="function")throw Error(r(191,i));i.call(o)}function yO(i,o){var u=i.callbacks;if(u!==null)for(i.callbacks=null,i=0;ix?x:8;var E=$.T,k={};$.T=k,_y(i,!1,o,u);try{var U=v(),Z=$.S;if(Z!==null&&Z(k,U),U!==null&&typeof U=="object"&&typeof U.then=="function"){var te=U5(U,h);tu(i,o,te,$n(i))}else tu(i,o,h,$n(i))}catch(oe){tu(i,o,{then:function(){},status:"rejected",reason:oe},$n())}finally{F.p=x,E!==null&&k.types!==null&&(E.types=k.types),$.T=E}}function Y5(){}function Ay(i,o,u,h){if(i.tag!==5)throw Error(r(476));var v=YO(i).queue;KO(i,v,o,Q,u===null?Y5:function(){return XO(i),u(h)})}function YO(i){var o=i.memoizedState;if(o!==null)return o;o={memoizedState:Q,baseState:Q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fi,lastRenderedState:Q},next:null};var u={};return o.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fi,lastRenderedState:u},next:null},i.memoizedState=o,i=i.alternate,i!==null&&(i.memoizedState=o),o}function XO(i){var o=YO(i);o.next===null&&(o=i.alternate.memoizedState),tu(i,o.next.queue,{},$n())}function Oy(){return nn(gu)}function WO(){return Mt().memoizedState}function ZO(){return Mt().memoizedState}function X5(i){for(var o=i.return;o!==null;){switch(o.tag){case 24:case 3:var u=$n();i=Xi(u);var h=Wi(o,i,u);h!==null&&(Tn(h,o,u),Wl(h,o,u)),o={cache:ey()},i.payload=o;return}o=o.return}}function W5(i,o,u){var h=$n();u={lane:h,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},Kf(i)?JO(o,u):(u=Vm(i,o,u,h),u!==null&&(Tn(u,i,h),e_(u,o,h)))}function QO(i,o,u){var h=$n();tu(i,o,u,h)}function tu(i,o,u,h){var v={lane:h,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null};if(Kf(i))JO(o,v);else{var x=i.alternate;if(i.lanes===0&&(x===null||x.lanes===0)&&(x=o.lastRenderedReducer,x!==null))try{var E=o.lastRenderedState,k=x(E,u);if(v.hasEagerState=!0,v.eagerState=k,Pn(k,E))return Tf(i,o,v,0),lt===null&&_f(),!1}catch{}finally{}if(u=Vm(i,o,v,h),u!==null)return Tn(u,i,h),e_(u,o,h),!0}return!1}function _y(i,o,u,h){if(h={lane:2,revertLane:iv(),gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},Kf(i)){if(o)throw Error(r(479))}else o=Vm(i,u,h,2),o!==null&&Tn(o,i,2)}function Kf(i){var o=i.alternate;return i===Re||o!==null&&o===Re}function JO(i,o){as=qf=!0;var u=i.pending;u===null?o.next=o:(o.next=u.next,u.next=o),i.pending=o}function e_(i,o,u){if((u&4194048)!==0){var h=o.lanes;h&=i.pendingLanes,u|=h,o.lanes=u,aA(i,u)}}var nu={readContext:nn,use:Vf,useCallback:_t,useContext:_t,useEffect:_t,useImperativeHandle:_t,useLayoutEffect:_t,useInsertionEffect:_t,useMemo:_t,useReducer:_t,useRef:_t,useState:_t,useDebugValue:_t,useDeferredValue:_t,useTransition:_t,useSyncExternalStore:_t,useId:_t,useHostTransitionStatus:_t,useFormState:_t,useActionState:_t,useOptimistic:_t,useMemoCache:_t,useCacheRefresh:_t};nu.useEffectEvent=_t;var t_={readContext:nn,use:Vf,useCallback:function(i,o){return mn().memoizedState=[i,o===void 0?null:o],i},useContext:nn,useEffect:$O,useImperativeHandle:function(i,o,u){u=u!=null?u.concat([i]):null,Gf(4194308,4,UO.bind(null,o,i),u)},useLayoutEffect:function(i,o){return Gf(4194308,4,i,o)},useInsertionEffect:function(i,o){Gf(4,2,i,o)},useMemo:function(i,o){var u=mn();o=o===void 0?null:o;var h=i();if(Xa){Ii(!0);try{i()}finally{Ii(!1)}}return u.memoizedState=[h,o],h},useReducer:function(i,o,u){var h=mn();if(u!==void 0){var v=u(o);if(Xa){Ii(!0);try{u(o)}finally{Ii(!1)}}}else v=o;return h.memoizedState=h.baseState=v,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:v},h.queue=i,i=i.dispatch=W5.bind(null,Re,i),[h.memoizedState,i]},useRef:function(i){var o=mn();return i={current:i},o.memoizedState=i},useState:function(i){i=xy(i);var o=i.queue,u=QO.bind(null,Re,o);return o.dispatch=u,[i.memoizedState,u]},useDebugValue:wy,useDeferredValue:function(i,o){var u=mn();return jy(u,i,o)},useTransition:function(){var i=xy(!1);return i=KO.bind(null,Re,i.queue,!0,!1),mn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,o,u){var h=Re,v=mn();if(Ve){if(u===void 0)throw Error(r(407));u=u()}else{if(u=o(),lt===null)throw Error(r(349));(Ie&127)!==0||wO(h,o,u)}v.memoizedState=u;var x={value:u,getSnapshot:o};return v.queue=x,$O(AO.bind(null,h,x,i),[i]),h.flags|=2048,ss(9,{destroy:void 0},jO.bind(null,h,x,u,o),null),u},useId:function(){var i=mn(),o=lt.identifierPrefix;if(Ve){var u=Lr,h=kr;u=(h&~(1<<32-Mn(h)-1)).toString(32)+u,o="_"+o+"R_"+u,u=If++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof h.is=="string"?E.createElement("select",{is:h.is}):E.createElement("select"),h.multiple?x.multiple=!0:h.size&&(x.size=h.size);break;default:x=typeof h.is=="string"?E.createElement(v,{is:h.is}):E.createElement(v)}}x[en]=o,x[Sn]=h;e:for(E=o.child;E!==null;){if(E.tag===5||E.tag===6)x.appendChild(E.stateNode);else if(E.tag!==4&&E.tag!==27&&E.child!==null){E.child.return=E,E=E.child;continue}if(E===o)break e;for(;E.sibling===null;){if(E.return===null||E.return===o)break e;E=E.return}E.sibling.return=E.return,E=E.sibling}o.stateNode=x;e:switch(an(x,v,h),v){case"button":case"input":case"select":case"textarea":h=!!h.autoFocus;break e;case"img":h=!0;break e;default:h=!1}h&&hi(o)}}return gt(o),qy(o,o.type,i===null?null:i.memoizedProps,o.pendingProps,u),null;case 6:if(i&&o.stateNode!=null)i.memoizedProps!==h&&hi(o);else{if(typeof h!="string"&&o.stateNode===null)throw Error(r(166));if(i=je.current,Qo(o)){if(i=o.stateNode,u=o.memoizedProps,h=null,v=tn,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}i[en]=o,i=!!(i.nodeValue===u||h!==null&&h.suppressHydrationWarning===!0||b2(i.nodeValue,u)),i||Fi(o,!0)}else i=hd(i).createTextNode(h),i[en]=o,o.stateNode=i}return gt(o),null;case 31:if(u=o.memoizedState,i===null||i.memoizedState!==null){if(h=Qo(o),u!==null){if(i===null){if(!h)throw Error(r(318));if(i=o.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(557));i[en]=o}else Ua(),(o.flags&128)===0&&(o.memoizedState=null),o.flags|=4;gt(o),i=!1}else u=Wm(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=u),i=!0;if(!i)return o.flags&256?(kn(o),o):(kn(o),null);if((o.flags&128)!==0)throw Error(r(558))}return gt(o),null;case 13:if(h=o.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(v=Qo(o),h!==null&&h.dehydrated!==null){if(i===null){if(!v)throw Error(r(318));if(v=o.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(r(317));v[en]=o}else Ua(),(o.flags&128)===0&&(o.memoizedState=null),o.flags|=4;gt(o),v=!1}else v=Wm(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=v),v=!0;if(!v)return o.flags&256?(kn(o),o):(kn(o),null)}return kn(o),(o.flags&128)!==0?(o.lanes=u,o):(u=h!==null,i=i!==null&&i.memoizedState!==null,u&&(h=o.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool),x=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(x=h.memoizedState.cachePool.pool),x!==v&&(h.flags|=2048)),u!==i&&u&&(o.child.flags|=8192),Qf(o,o.updateQueue),gt(o),null);case 4:return ce(),i===null&&lv(o.stateNode.containerInfo),gt(o),null;case 10:return ui(o.type),gt(o),null;case 19:if(G(Ct),h=o.memoizedState,h===null)return gt(o),null;if(v=(o.flags&128)!==0,x=h.rendering,x===null)if(v)iu(h,!1);else{if(Tt!==0||i!==null&&(i.flags&128)!==0)for(i=o.child;i!==null;){if(x=Bf(i),x!==null){for(o.flags|=128,iu(h,!1),i=x.updateQueue,o.updateQueue=i,Qf(o,i),o.subtreeFlags=0,i=u,u=o.child;u!==null;)QA(u,i),u=u.sibling;return re(Ct,Ct.current&1|2),Ve&&si(o,h.treeForkCount),o.child}i=i.sibling}h.tail!==null&&cn()>rd&&(o.flags|=128,v=!0,iu(h,!1),o.lanes=4194304)}else{if(!v)if(i=Bf(x),i!==null){if(o.flags|=128,v=!0,i=i.updateQueue,o.updateQueue=i,Qf(o,i),iu(h,!0),h.tail===null&&h.tailMode==="hidden"&&!x.alternate&&!Ve)return gt(o),null}else 2*cn()-h.renderingStartTime>rd&&u!==536870912&&(o.flags|=128,v=!0,iu(h,!1),o.lanes=4194304);h.isBackwards?(x.sibling=o.child,o.child=x):(i=h.last,i!==null?i.sibling=x:o.child=x,h.last=x)}return h.tail!==null?(i=h.tail,h.rendering=i,h.tail=i.sibling,h.renderingStartTime=cn(),i.sibling=null,u=Ct.current,re(Ct,v?u&1|2:u&1),Ve&&si(o,h.treeForkCount),i):(gt(o),null);case 22:case 23:return kn(o),uy(),h=o.memoizedState!==null,i!==null?i.memoizedState!==null!==h&&(o.flags|=8192):h&&(o.flags|=8192),h?(u&536870912)!==0&&(o.flags&128)===0&&(gt(o),o.subtreeFlags&6&&(o.flags|=8192)):gt(o),u=o.updateQueue,u!==null&&Qf(o,u.retryQueue),u=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(u=i.memoizedState.cachePool.pool),h=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),h!==u&&(o.flags|=2048),i!==null&&G(Ga),null;case 24:return u=null,i!==null&&(u=i.memoizedState.cache),o.memoizedState.cache!==u&&(o.flags|=2048),ui(Rt),gt(o),null;case 25:return null;case 30:return null}throw Error(r(156,o.tag))}function t6(i,o){switch(Ym(o),o.tag){case 1:return i=o.flags,i&65536?(o.flags=i&-65537|128,o):null;case 3:return ui(Rt),ce(),i=o.flags,(i&65536)!==0&&(i&128)===0?(o.flags=i&-65537|128,o):null;case 26:case 27:case 5:return Ce(o),null;case 31:if(o.memoizedState!==null){if(kn(o),o.alternate===null)throw Error(r(340));Ua()}return i=o.flags,i&65536?(o.flags=i&-65537|128,o):null;case 13:if(kn(o),i=o.memoizedState,i!==null&&i.dehydrated!==null){if(o.alternate===null)throw Error(r(340));Ua()}return i=o.flags,i&65536?(o.flags=i&-65537|128,o):null;case 19:return G(Ct),null;case 4:return ce(),null;case 10:return ui(o.type),null;case 22:case 23:return kn(o),uy(),i!==null&&G(Ga),i=o.flags,i&65536?(o.flags=i&-65537|128,o):null;case 24:return ui(Rt),null;case 25:return null;default:return null}}function O_(i,o){switch(Ym(o),o.tag){case 3:ui(Rt),ce();break;case 26:case 27:case 5:Ce(o);break;case 4:ce();break;case 31:o.memoizedState!==null&&kn(o);break;case 13:kn(o);break;case 19:G(Ct);break;case 10:ui(o.type);break;case 22:case 23:kn(o),uy(),i!==null&&G(Ga);break;case 24:ui(Rt)}}function au(i,o){try{var u=o.updateQueue,h=u!==null?u.lastEffect:null;if(h!==null){var v=h.next;u=v;do{if((u.tag&i)===i){h=void 0;var x=u.create,E=u.inst;h=x(),E.destroy=h}u=u.next}while(u!==v)}}catch(k){et(o,o.return,k)}}function Ji(i,o,u){try{var h=o.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var x=v.next;h=x;do{if((h.tag&i)===i){var E=h.inst,k=E.destroy;if(k!==void 0){E.destroy=void 0,v=o;var U=u,Z=k;try{Z()}catch(te){et(v,U,te)}}}h=h.next}while(h!==x)}}catch(te){et(o,o.return,te)}}function __(i){var o=i.updateQueue;if(o!==null){var u=i.stateNode;try{yO(o,u)}catch(h){et(i,i.return,h)}}}function T_(i,o,u){u.props=Wa(i.type,i.memoizedProps),u.state=i.memoizedState;try{u.componentWillUnmount()}catch(h){et(i,o,h)}}function ou(i,o){try{var u=i.ref;if(u!==null){switch(i.tag){case 26:case 27:case 5:var h=i.stateNode;break;case 30:h=i.stateNode;break;default:h=i.stateNode}typeof u=="function"?i.refCleanup=u(h):u.current=h}}catch(v){et(i,o,v)}}function zr(i,o){var u=i.ref,h=i.refCleanup;if(u!==null)if(typeof h=="function")try{h()}catch(v){et(i,o,v)}finally{i.refCleanup=null,i=i.alternate,i!=null&&(i.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(v){et(i,o,v)}else u.current=null}function E_(i){var o=i.type,u=i.memoizedProps,h=i.stateNode;try{e:switch(o){case"button":case"input":case"select":case"textarea":u.autoFocus&&h.focus();break e;case"img":u.src?h.src=u.src:u.srcSet&&(h.srcset=u.srcSet)}}catch(v){et(i,i.return,v)}}function Iy(i,o,u){try{var h=i.stateNode;j6(h,i.type,u,o),h[Sn]=o}catch(v){et(i,i.return,v)}}function N_(i){return i.tag===5||i.tag===3||i.tag===26||i.tag===27&&oa(i.type)||i.tag===4}function Uy(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||N_(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.tag===27&&oa(i.type)||i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function Vy(i,o,u){var h=i.tag;if(h===5||h===6)i=i.stateNode,o?(u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u).insertBefore(i,o):(o=u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u,o.appendChild(i),u=u._reactRootContainer,u!=null||o.onclick!==null||(o.onclick=ii));else if(h!==4&&(h===27&&oa(i.type)&&(u=i.stateNode,o=null),i=i.child,i!==null))for(Vy(i,o,u),i=i.sibling;i!==null;)Vy(i,o,u),i=i.sibling}function Jf(i,o,u){var h=i.tag;if(h===5||h===6)i=i.stateNode,o?u.insertBefore(i,o):u.appendChild(i);else if(h!==4&&(h===27&&oa(i.type)&&(u=i.stateNode),i=i.child,i!==null))for(Jf(i,o,u),i=i.sibling;i!==null;)Jf(i,o,u),i=i.sibling}function C_(i){var o=i.stateNode,u=i.memoizedProps;try{for(var h=i.type,v=o.attributes;v.length;)o.removeAttributeNode(v[0]);an(o,h,u),o[en]=i,o[Sn]=u}catch(x){et(i,i.return,x)}}var pi=!1,Lt=!1,Hy=!1,M_=typeof WeakSet=="function"?WeakSet:Set,Wt=null;function n6(i,o){if(i=i.containerInfo,fv=bd,i=VA(i),zm(i)){if("selectionStart"in i)var u={start:i.selectionStart,end:i.selectionEnd};else e:{u=(u=i.ownerDocument)&&u.defaultView||window;var h=u.getSelection&&u.getSelection();if(h&&h.rangeCount!==0){u=h.anchorNode;var v=h.anchorOffset,x=h.focusNode;h=h.focusOffset;try{u.nodeType,x.nodeType}catch{u=null;break e}var E=0,k=-1,U=-1,Z=0,te=0,oe=i,J=null;t:for(;;){for(var ee;oe!==u||v!==0&&oe.nodeType!==3||(k=E+v),oe!==x||h!==0&&oe.nodeType!==3||(U=E+h),oe.nodeType===3&&(E+=oe.nodeValue.length),(ee=oe.firstChild)!==null;)J=oe,oe=ee;for(;;){if(oe===i)break t;if(J===u&&++Z===v&&(k=E),J===x&&++te===h&&(U=E),(ee=oe.nextSibling)!==null)break;oe=J,J=oe.parentNode}oe=ee}u=k===-1||U===-1?null:{start:k,end:U}}else u=null}u=u||{start:0,end:0}}else u=null;for(dv={focusedElem:i,selectionRange:u},bd=!1,Wt=o;Wt!==null;)if(o=Wt,i=o.child,(o.subtreeFlags&1028)!==0&&i!==null)i.return=o,Wt=i;else for(;Wt!==null;){switch(o=Wt,x=o.alternate,i=o.flags,o.tag){case 0:if((i&4)!==0&&(i=o.updateQueue,i=i!==null?i.events:null,i!==null))for(u=0;u title"))),an(x,h,u),x[en]=i,Xt(x),h=x;break e;case"link":var E=z2("link","href",v).get(h+(u.href||""));if(E){for(var k=0;kot&&(E=ot,ot=Ae,Ae=E);var K=IA(k,Ae),V=IA(k,ot);if(K&&V&&(ee.rangeCount!==1||ee.anchorNode!==K.node||ee.anchorOffset!==K.offset||ee.focusNode!==V.node||ee.focusOffset!==V.offset)){var W=oe.createRange();W.setStart(K.node,K.offset),ee.removeAllRanges(),Ae>ot?(ee.addRange(W),ee.extend(V.node,V.offset)):(W.setEnd(V.node,V.offset),ee.addRange(W))}}}}for(oe=[],ee=k;ee=ee.parentNode;)ee.nodeType===1&&oe.push({element:ee,left:ee.scrollLeft,top:ee.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;ku?32:u,$.T=null,u=Zy,Zy=null;var x=ra,E=xi;if(It=0,ds=ra=null,xi=0,(Ke&6)!==0)throw Error(r(331));var k=Ke;if(Ke|=4,U_(x.current),B_(x,x.current,E,u),Ke=k,du(0,!1),Cn&&typeof Cn.onPostCommitFiberRoot=="function")try{Cn.onPostCommitFiberRoot(Cl,x)}catch{}return!0}finally{F.p=v,$.T=h,o2(i,o)}}function l2(i,o,u){o=Zn(u,o),o=Cy(i.stateNode,o,2),i=Wi(i,o,2),i!==null&&(Pl(i,2),$r(i))}function et(i,o,u){if(i.tag===3)l2(i,i,u);else for(;o!==null;){if(o.tag===3){l2(o,i,u);break}else if(o.tag===1){var h=o.stateNode;if(typeof o.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(na===null||!na.has(h))){i=Zn(u,i),u=u_(2),h=Wi(o,u,2),h!==null&&(c_(u,h,o,i),Pl(h,2),$r(h));break}}o=o.return}}function tv(i,o,u){var h=i.pingCache;if(h===null){h=i.pingCache=new a6;var v=new Set;h.set(o,v)}else v=h.get(o),v===void 0&&(v=new Set,h.set(o,v));v.has(u)||(Ky=!0,v.add(u),i=c6.bind(null,i,o,u),o.then(i,i))}function c6(i,o,u){var h=i.pingCache;h!==null&&h.delete(o),i.pingedLanes|=i.suspendedLanes&u,i.warmLanes&=~u,lt===i&&(Ie&u)===u&&(Tt===4||Tt===3&&(Ie&62914560)===Ie&&300>cn()-nd?(Ke&2)===0&&hs(i,0):Yy|=u,fs===Ie&&(fs=0)),$r(i)}function u2(i,o){o===0&&(o=rA()),i=qa(i,o),i!==null&&(Pl(i,o),$r(i))}function f6(i){var o=i.memoizedState,u=0;o!==null&&(u=o.retryLane),u2(i,u)}function d6(i,o){var u=0;switch(i.tag){case 31:case 13:var h=i.stateNode,v=i.memoizedState;v!==null&&(u=v.retryLane);break;case 19:h=i.stateNode;break;case 22:h=i.stateNode._retryCache;break;default:throw Error(r(314))}h!==null&&h.delete(o),u2(i,u)}function h6(i,o){return qi(i,o)}var ud=null,ms=null,nv=!1,cd=!1,rv=!1,aa=0;function $r(i){i!==ms&&i.next===null&&(ms===null?ud=ms=i:ms=ms.next=i),cd=!0,nv||(nv=!0,m6())}function du(i,o){if(!rv&&cd){rv=!0;do for(var u=!1,h=ud;h!==null;){if(i!==0){var v=h.pendingLanes;if(v===0)var x=0;else{var E=h.suspendedLanes,k=h.pingedLanes;x=(1<<31-Mn(42|i)+1)-1,x&=v&~(E&~k),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(u=!0,h2(h,x))}else x=Ie,x=pf(h,h===lt?x:0,h.cancelPendingCommit!==null||h.timeoutHandle!==-1),(x&3)===0||Ml(h,x)||(u=!0,h2(h,x));h=h.next}while(u);rv=!1}}function p6(){c2()}function c2(){cd=nv=!1;var i=0;aa!==0&&O6()&&(i=aa);for(var o=cn(),u=null,h=ud;h!==null;){var v=h.next,x=f2(h,o);x===0?(h.next=null,u===null?ud=v:u.next=v,v===null&&(ms=u)):(u=h,(i!==0||(x&3)!==0)&&(cd=!0)),h=v}It!==0&&It!==5||du(i),aa!==0&&(aa=0)}function f2(i,o){for(var u=i.suspendedLanes,h=i.pingedLanes,v=i.expirationTimes,x=i.pendingLanes&-62914561;0k)break;var te=U.transferSize,oe=U.initiatorType;te&&S2(oe)&&(U=U.responseEnd,E+=te*(U"u"?null:document;function R2(i,o,u){var h=ys;if(h&&typeof o=="string"&&o){var v=Xn(o);v='link[rel="'+i+'"][href="'+v+'"]',typeof u=="string"&&(v+='[crossorigin="'+u+'"]'),P2.has(v)||(P2.add(v),i={rel:i,crossOrigin:u,href:o},h.querySelector(v)===null&&(o=h.createElement("link"),an(o,"link",i),Xt(o),h.head.appendChild(o)))}}function D6(i){bi.D(i),R2("dns-prefetch",i,null)}function k6(i,o){bi.C(i,o),R2("preconnect",i,o)}function L6(i,o,u){bi.L(i,o,u);var h=ys;if(h&&i&&o){var v='link[rel="preload"][as="'+Xn(o)+'"]';o==="image"&&u&&u.imageSrcSet?(v+='[imagesrcset="'+Xn(u.imageSrcSet)+'"]',typeof u.imageSizes=="string"&&(v+='[imagesizes="'+Xn(u.imageSizes)+'"]')):v+='[href="'+Xn(i)+'"]';var x=v;switch(o){case"style":x=vs(i);break;case"script":x=gs(i)}rr.has(x)||(i=y({rel:"preload",href:o==="image"&&u&&u.imageSrcSet?void 0:i,as:o},u),rr.set(x,i),h.querySelector(v)!==null||o==="style"&&h.querySelector(yu(x))||o==="script"&&h.querySelector(vu(x))||(o=h.createElement("link"),an(o,"link",i),Xt(o),h.head.appendChild(o)))}}function z6(i,o){bi.m(i,o);var u=ys;if(u&&i){var h=o&&typeof o.as=="string"?o.as:"script",v='link[rel="modulepreload"][as="'+Xn(h)+'"][href="'+Xn(i)+'"]',x=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=gs(i)}if(!rr.has(x)&&(i=y({rel:"modulepreload",href:i},o),rr.set(x,i),u.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(u.querySelector(vu(x)))return}h=u.createElement("link"),an(h,"link",i),Xt(h),u.head.appendChild(h)}}}function $6(i,o,u){bi.S(i,o,u);var h=ys;if(h&&i){var v=Bo(h).hoistableStyles,x=vs(i);o=o||"default";var E=v.get(x);if(!E){var k={loading:0,preload:null};if(E=h.querySelector(yu(x)))k.loading=5;else{i=y({rel:"stylesheet",href:i,"data-precedence":o},u),(u=rr.get(x))&&xv(i,u);var U=E=h.createElement("link");Xt(U),an(U,"link",i),U._p=new Promise(function(Z,te){U.onload=Z,U.onerror=te}),U.addEventListener("load",function(){k.loading|=1}),U.addEventListener("error",function(){k.loading|=2}),k.loading|=4,md(E,o,h)}E={type:"stylesheet",instance:E,count:1,state:k},v.set(x,E)}}}function B6(i,o){bi.X(i,o);var u=ys;if(u&&i){var h=Bo(u).hoistableScripts,v=gs(i),x=h.get(v);x||(x=u.querySelector(vu(v)),x||(i=y({src:i,async:!0},o),(o=rr.get(v))&&bv(i,o),x=u.createElement("script"),Xt(x),an(x,"link",i),u.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},h.set(v,x))}}function q6(i,o){bi.M(i,o);var u=ys;if(u&&i){var h=Bo(u).hoistableScripts,v=gs(i),x=h.get(v);x||(x=u.querySelector(vu(v)),x||(i=y({src:i,async:!0,type:"module"},o),(o=rr.get(v))&&bv(i,o),x=u.createElement("script"),Xt(x),an(x,"link",i),u.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},h.set(v,x))}}function D2(i,o,u,h){var v=(v=je.current)?pd(v):null;if(!v)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof u.precedence=="string"&&typeof u.href=="string"?(o=vs(u.href),u=Bo(v).hoistableStyles,h=u.get(o),h||(h={type:"style",instance:null,count:0,state:null},u.set(o,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(u.rel==="stylesheet"&&typeof u.href=="string"&&typeof u.precedence=="string"){i=vs(u.href);var x=Bo(v).hoistableStyles,E=x.get(i);if(E||(v=v.ownerDocument||v,E={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(i,E),(x=v.querySelector(yu(i)))&&!x._p&&(E.instance=x,E.state.loading=5),rr.has(i)||(u={rel:"preload",as:"style",href:u.href,crossOrigin:u.crossOrigin,integrity:u.integrity,media:u.media,hrefLang:u.hrefLang,referrerPolicy:u.referrerPolicy},rr.set(i,u),x||I6(v,i,u,E.state))),o&&h===null)throw Error(r(528,""));return E}if(o&&h!==null)throw Error(r(529,""));return null;case"script":return o=u.async,u=u.src,typeof u=="string"&&o&&typeof o!="function"&&typeof o!="symbol"?(o=gs(u),u=Bo(v).hoistableScripts,h=u.get(o),h||(h={type:"script",instance:null,count:0,state:null},u.set(o,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function vs(i){return'href="'+Xn(i)+'"'}function yu(i){return'link[rel="stylesheet"]['+i+"]"}function k2(i){return y({},i,{"data-precedence":i.precedence,precedence:null})}function I6(i,o,u,h){i.querySelector('link[rel="preload"][as="style"]['+o+"]")?h.loading=1:(o=i.createElement("link"),h.preload=o,o.addEventListener("load",function(){return h.loading|=1}),o.addEventListener("error",function(){return h.loading|=2}),an(o,"link",u),Xt(o),i.head.appendChild(o))}function gs(i){return'[src="'+Xn(i)+'"]'}function vu(i){return"script[async]"+i}function L2(i,o,u){if(o.count++,o.instance===null)switch(o.type){case"style":var h=i.querySelector('style[data-href~="'+Xn(u.href)+'"]');if(h)return o.instance=h,Xt(h),h;var v=y({},u,{"data-href":u.href,"data-precedence":u.precedence,href:null,precedence:null});return h=(i.ownerDocument||i).createElement("style"),Xt(h),an(h,"style",v),md(h,u.precedence,i),o.instance=h;case"stylesheet":v=vs(u.href);var x=i.querySelector(yu(v));if(x)return o.state.loading|=4,o.instance=x,Xt(x),x;h=k2(u),(v=rr.get(v))&&xv(h,v),x=(i.ownerDocument||i).createElement("link"),Xt(x);var E=x;return E._p=new Promise(function(k,U){E.onload=k,E.onerror=U}),an(x,"link",h),o.state.loading|=4,md(x,u.precedence,i),o.instance=x;case"script":return x=gs(u.src),(v=i.querySelector(vu(x)))?(o.instance=v,Xt(v),v):(h=u,(v=rr.get(x))&&(h=y({},u),bv(h,v)),i=i.ownerDocument||i,v=i.createElement("script"),Xt(v),an(v,"link",h),i.head.appendChild(v),o.instance=v);case"void":return null;default:throw Error(r(443,o.type))}else o.type==="stylesheet"&&(o.state.loading&4)===0&&(h=o.instance,o.state.loading|=4,md(h,u.precedence,i));return o.instance}function md(i,o,u){for(var h=u.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,x=v,E=0;E title"):null)}function U6(i,o,u){if(u===1||o.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof o.precedence!="string"||typeof o.href!="string"||o.href==="")break;return!0;case"link":if(typeof o.rel!="string"||typeof o.href!="string"||o.href===""||o.onLoad||o.onError)break;switch(o.rel){case"stylesheet":return i=o.disabled,typeof o.precedence=="string"&&i==null;default:return!0}case"script":if(o.async&&typeof o.async!="function"&&typeof o.async!="symbol"&&!o.onLoad&&!o.onError&&o.src&&typeof o.src=="string")return!0}return!1}function B2(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}function V6(i,o,u,h){if(u.type==="stylesheet"&&(typeof h.media!="string"||matchMedia(h.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var v=vs(h.href),x=o.querySelector(yu(v));if(x){o=x._p,o!==null&&typeof o=="object"&&typeof o.then=="function"&&(i.count++,i=vd.bind(i),o.then(i,i)),u.state.loading|=4,u.instance=x,Xt(x);return}x=o.ownerDocument||o,h=k2(h),(v=rr.get(v))&&xv(h,v),x=x.createElement("link"),Xt(x);var E=x;E._p=new Promise(function(k,U){E.onload=k,E.onerror=U}),an(x,"link",h),u.instance=x}i.stylesheets===null&&(i.stylesheets=new Map),i.stylesheets.set(u,o),(o=u.state.preload)&&(u.state.loading&3)===0&&(i.count++,u=vd.bind(i),o.addEventListener("load",u),o.addEventListener("error",u))}}var Sv=0;function H6(i,o){return i.stylesheets&&i.count===0&&xd(i,i.stylesheets),0Sv?50:800)+o);return i.unsuspend=u,function(){i.unsuspend=null,clearTimeout(h),clearTimeout(v)}}:null}function vd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xd(this,this.stylesheets);else if(this.unsuspend){var i=this.unsuspend;this.unsuspend=null,i()}}}var gd=null;function xd(i,o){i.stylesheets=null,i.unsuspend!==null&&(i.count++,gd=new Map,o.forEach(G6,i),gd=null,vd.call(i))}function G6(i,o){if(!(o.state.loading&4)){var u=gd.get(i);if(u)var h=u.get(null);else{u=new Map,gd.set(i,u);for(var v=i.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Cv.exports=s8(),Cv.exports}var u8=l8();/** + * react-router v7.18.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */var aw=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Kk=/^[\\/]{2}/;function c8(e,t){return t+e.replace(/\\/g,"/")}var uT="popstate";function cT(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function f8(e={}){function t(r,a){var d;let s=(d=a.state)==null?void 0:d.masked,{pathname:l,search:c,hash:f}=s||r.location;return n1("",{pathname:l,search:c,hash:f},a.state&&a.state.usr||null,a.state&&a.state.key||"default",s?{pathname:r.location.pathname,search:r.location.search,hash:r.location.hash}:void 0)}function n(r,a){return typeof a=="string"?a:rc(a)}return h8(t,n,null,e)}function jt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Nr(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function d8(){return Math.random().toString(36).substring(2,10)}function fT(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function n1(e,t,n=null,r,a){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?pl(t):t,state:n,key:t&&t.key||r||d8(),mask:a}}function rc({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function pl(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h8(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:s=!1}=r,l=a.history,c="POP",f=null,d=m();d==null&&(d=0,l.replaceState({...l.state,idx:d},""));function m(){return(l.state||{idx:null}).idx}function y(){c="POP";let b=m(),A=b==null?null:b-d;d=b,f&&f({action:c,location:j.location,delta:A})}function g(b,A){c="PUSH";let _=cT(b)?b:n1(j.location,b,A);d=m()+1;let T=fT(_,d),C=j.createHref(_.mask||_);try{l.pushState(T,"",C)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;a.location.assign(C)}s&&f&&f({action:c,location:j.location,delta:1})}function S(b,A){c="REPLACE";let _=cT(b)?b:n1(j.location,b,A);d=m();let T=fT(_,d),C=j.createHref(_.mask||_);l.replaceState(T,"",C),s&&f&&f({action:c,location:j.location,delta:0})}function w(b){return p8(a,b)}let j={get action(){return c},get location(){return e(a,l)},listen(b){if(f)throw new Error("A history only accepts one active listener");return a.addEventListener(uT,y),f=b,()=>{a.removeEventListener(uT,y),f=null}},createHref(b){return t(a,b)},createURL:w,encodeLocation(b){let A=w(b);return{pathname:A.pathname,search:A.search,hash:A.hash}},push:g,replace:S,go(b){return l.go(b)}};return j}function p8(e,t,n=!1){let r="http://localhost";e&&(r=e.location.origin!=="null"?e.location.origin:e.location.href),jt(r,"No window.location.(origin|href) available to create URL");let a=typeof t=="string"?t:rc(t);return a=a.replace(/ $/,"%20"),!n&&Kk.test(a)&&(a=r+a),new URL(a,r)}function Yk(e,t,n="/"){return m8(e,t,n,!1)}function m8(e,t,n,r,a){let s=typeof t=="string"?pl(t):t,l=Ci(s.pathname||"/",n);if(l==null)return null;let c=y8(e),f=null,d=T8(l);for(let m=0;f==null&&m{let m={relativePath:d===void 0?l.path||"":d,caseSensitive:l.caseSensitive===!0,childrenIndex:c,route:l};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(r)&&f)return;jt(m.relativePath.startsWith(r),`Absolute route path "${m.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(r.length)}let y=_r([r,m.relativePath]),g=n.concat(m);l.children&&l.children.length>0&&(jt(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${y}".`),Xk(l.children,t,g,y,f)),!(l.path==null&&!l.index)&&t.push({path:y,score:A8(y,l.index),routesMeta:g.map((S,w)=>{let[j,b]=Qk(S.relativePath,S.caseSensitive,w===g.length-1);return{...S,matcher:j,compiledParams:b}})})};return e.forEach((l,c)=>{var f;if(l.path===""||!((f=l.path)!=null&&f.includes("?")))s(l,c);else for(let d of Wk(l.path))s(l,c,!0,d)}),t}function Wk(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return a?[s,""]:[s];let l=Wk(r.join("/")),c=[];return c.push(...l.map(f=>f===""?s:[s,f].join("/"))),a&&c.push(...l),c.map(f=>e.startsWith("/")&&f===""?"/":f)}function v8(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:O8(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var g8=/^:[\w-]+$/,x8=3,b8=2,S8=1,w8=10,j8=-2,dT=e=>e==="*";function A8(e,t){let n=e.split("/"),r=n.length;return n.some(dT)&&(r+=j8),t&&(r+=b8),n.filter(a=>!dT(a)).reduce((a,s)=>a+(g8.test(s)?x8:s===""?S8:w8),r)}function O8(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function _8(e,t,n=!1){let{routesMeta:r}=e,a={},s="/",l=[];for(let c=0;c{if(m==="*"){let w=c[g]||"";l=s.slice(0,s.length-w.length).replace(/(.)\/+$/,"$1")}const S=c[g];return y&&!S?d[m]=void 0:d[m]=(S||"").replace(/%2F/g,"/"),d},{}),pathname:s,pathnameBase:l,pattern:e}}function Qk(e,t=!1,n=!0){Nr(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,c,f,d,m)=>{if(r.push({paramName:c,isOptional:f!=null}),f){let y=m.charAt(d+l.length);return y&&y!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function T8(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Nr(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Ci(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function E8(e,t="/"){let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?pl(e):e,s;return n?(n=Jk(n),n.startsWith("/")?s=hT(n.substring(1),"/"):s=hT(n,t)):s=t,{pathname:s,search:M8(r),hash:P8(a)}}function hT(e,t){let n=ch(t).split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function Dv(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function N8(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function ow(e){let t=N8(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Ap(e,t,n,r=!1){let a;typeof e=="string"?a=pl(e):(a={...e},jt(!a.pathname||!a.pathname.includes("?"),Dv("?","pathname","search",a)),jt(!a.pathname||!a.pathname.includes("#"),Dv("#","pathname","hash",a)),jt(!a.search||!a.search.includes("#"),Dv("#","search","hash",a)));let s=e===""||a.pathname==="",l=s?"/":a.pathname,c;if(l==null)c=n;else{let y=t.length-1;if(!r&&l.startsWith("..")){let g=l.split("/");for(;g[0]==="..";)g.shift(),y-=1;a.pathname=g.join("/")}c=y>=0?t[y]:"/"}let f=E8(a,c),d=l&&l!=="/"&&l.endsWith("/"),m=(s||l===".")&&n.endsWith("/");return!f.pathname.endsWith("/")&&(d||m)&&(f.pathname+="/"),f}var Jk=e=>e.replace(/[\\/]{2,}/g,"/"),_r=e=>Jk(e.join("/")),ch=e=>e.replace(/\/+$/,""),C8=e=>ch(e).replace(/^\/*/,"/"),M8=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,P8=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,R8=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function D8(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function k8(e){let t=e.map(n=>n.route.path).filter(Boolean);return _r(t)||"/"}var e3=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function t3(e,t){let n=e;if(typeof n!="string"||!aw.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,a=!1;if(e3)try{let s=new URL(window.location.href),l=Kk.test(n)?new URL(c8(n,s.protocol)):new URL(n),c=Ci(l.pathname,t);l.origin===s.origin&&c!=null?n=c+l.search+l.hash:a=!0}catch{Nr(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:a,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var n3=["POST","PUT","PATCH","DELETE"];new Set(n3);var L8=["GET",...n3];new Set(L8);var z8=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function $8(e){try{return z8.includes(new URL(e).protocol)}catch{return!1}}var ml=P.createContext(null);ml.displayName="DataRouter";var Op=P.createContext(null);Op.displayName="DataRouterState";var r3=P.createContext(!1);function B8(){return P.useContext(r3)}var i3=P.createContext({isTransitioning:!1});i3.displayName="ViewTransition";var q8=P.createContext(new Map);q8.displayName="Fetchers";var I8=P.createContext(null);I8.displayName="Await";var Kn=P.createContext(null);Kn.displayName="Navigation";var Hc=P.createContext(null);Hc.displayName="Location";var Mr=P.createContext({outlet:null,matches:[],isDataRoute:!1});Mr.displayName="Route";var sw=P.createContext(null);sw.displayName="RouteError";var a3="REACT_ROUTER_ERROR",U8="REDIRECT",V8="ROUTE_ERROR_RESPONSE";function H8(e){if(e.startsWith(`${a3}:${U8}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function G8(e){if(e.startsWith(`${a3}:${V8}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new R8(t.status,t.statusText,t.data)}catch{}}function F8(e,{relative:t}={}){jt(yl(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=P.useContext(Kn),{hash:a,pathname:s,search:l}=Gc(e,{relative:t}),c=s;return n!=="/"&&(c=s==="/"?n:_r([n,s])),r.createHref({pathname:c,search:l,hash:a})}function yl(){return P.useContext(Hc)!=null}function Pr(){return jt(yl(),"useLocation() may be used only in the context of a component."),P.useContext(Hc).location}var o3="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function s3(e){P.useContext(Kn).static||P.useLayoutEffect(e)}function _p(){let{isDataRoute:e}=P.useContext(Mr);return e?sq():K8()}function K8(){jt(yl(),"useNavigate() may be used only in the context of a component.");let e=P.useContext(ml),{basename:t,navigator:n}=P.useContext(Kn),{matches:r}=P.useContext(Mr),{pathname:a}=Pr(),s=JSON.stringify(ow(r)),l=P.useRef(!1);return s3(()=>{l.current=!0}),P.useCallback((f,d={})=>{if(Nr(l.current,o3),!l.current)return;if(typeof f=="number"){n.go(f);return}let m=Ap(f,JSON.parse(s),a,d.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:_r([t,m.pathname])),(d.replace?n.replace:n.push)(m,d.state,d)},[t,n,s,a,e])}var Y8=P.createContext(null);function X8(e){let t=P.useContext(Mr).outlet;return P.useMemo(()=>t&&P.createElement(Y8.Provider,{value:e},t),[t,e])}function Gc(e,{relative:t}={}){let{matches:n}=P.useContext(Mr),{pathname:r}=Pr(),a=JSON.stringify(ow(n));return P.useMemo(()=>Ap(e,JSON.parse(a),r,t==="path"),[e,a,r,t])}function W8(e,t){return l3(e,t)}function l3(e,t,n){var b;jt(yl(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=P.useContext(Kn),{matches:a}=P.useContext(Mr),s=a[a.length-1],l=s?s.params:{},c=s?s.pathname:"/",f=s?s.pathnameBase:"/",d=s&&s.route;{let A=d&&d.path||"";c3(c,!d||A.endsWith("*")||A.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${c}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let m=Pr(),y;if(t){let A=typeof t=="string"?pl(t):t;jt(f==="/"||((b=A.pathname)==null?void 0:b.startsWith(f)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${A.pathname}" was given in the \`location\` prop.`),y=A}else y=m;let g=y.pathname||"/",S=g;if(f!=="/"){let A=f.replace(/^\//,"").split("/");S="/"+g.replace(/^\//,"").split("/").slice(A.length).join("/")}let w=n&&n.state.matches.length?n.state.matches.map(A=>Object.assign(A,{route:n.manifest[A.route.id]||A.route})):Yk(e,{pathname:S});Nr(d||w!=null,`No routes matched location "${y.pathname}${y.search}${y.hash}" `),Nr(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.length-1].route.lazy!==void 0,`Matched leaf route at location "${y.pathname}${y.search}${y.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let j=tq(w&&w.map(A=>Object.assign({},A,{params:Object.assign({},l,A.params),pathname:_r([f,r.encodeLocation?r.encodeLocation(A.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?f:_r([f,r.encodeLocation?r.encodeLocation(A.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathnameBase])})),a,n);return t&&j?P.createElement(Hc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...y},navigationType:"POP"}},j):j}function Z8(){let e=oq(),t=D8(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=P.createElement(P.Fragment,null,P.createElement("p",null,"💿 Hey developer 👋"),P.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",P.createElement("code",{style:s},"ErrorBoundary")," or"," ",P.createElement("code",{style:s},"errorElement")," prop on your route.")),P.createElement(P.Fragment,null,P.createElement("h2",null,"Unexpected Application Error!"),P.createElement("h3",{style:{fontStyle:"italic"}},t),n?P.createElement("pre",{style:a},n):null,l)}var Q8=P.createElement(Z8,null),u3=class extends P.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=G8(e.digest);n&&(e=n)}let t=e!==void 0?P.createElement(Mr.Provider,{value:this.props.routeContext},P.createElement(sw.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?P.createElement(J8,{error:e},t):t}};u3.contextType=r3;var kv=new WeakMap;function J8({children:e,error:t}){let{basename:n}=P.useContext(Kn);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=H8(t.digest);if(r){let a=kv.get(t);if(a)throw a;let s=t3(r.location,n),l=s.absoluteURL||s.to;if($8(l))throw new Error("Invalid redirect location");if(e3&&!kv.get(t))if(s.isExternal||r.reloadDocument)window.location.href=l;else{const c=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw kv.set(t,c),c}return P.createElement("meta",{httpEquiv:"refresh",content:`0;url=${l}`})}}return e}function eq({routeContext:e,match:t,children:n}){let r=P.useContext(ml);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),P.createElement(Mr.Provider,{value:e},n)}function tq(e,t=[],n){let r=n==null?void 0:n.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let a=e,s=r==null?void 0:r.errors;if(s!=null){let m=a.findIndex(y=>y.route.id&&(s==null?void 0:s[y.route.id])!==void 0);jt(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),a=a.slice(0,Math.min(a.length,m+1))}let l=!1,c=-1;if(n&&r){l=r.renderFallback;for(let m=0;m=0?a=a.slice(0,c+1):a=[a[0]];break}}}}let f=n==null?void 0:n.onError,d=r&&f?(m,y)=>{var g,S;f(m,{location:r.location,params:((S=(g=r.matches)==null?void 0:g[0])==null?void 0:S.params)??{},pattern:k8(r.matches),errorInfo:y})}:void 0;return a.reduceRight((m,y,g)=>{let S,w=!1,j=null,b=null;r&&(S=s&&y.route.id?s[y.route.id]:void 0,j=y.route.errorElement||Q8,l&&(c<0&&g===0?(c3("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),w=!0,b=null):c===g&&(w=!0,b=y.route.hydrateFallbackElement||null)));let A=t.concat(a.slice(0,g+1)),_=()=>{let T;return S?T=j:w?T=b:y.route.Component?T=P.createElement(y.route.Component,null):y.route.element?T=y.route.element:T=m,P.createElement(eq,{match:y,routeContext:{outlet:m,matches:A,isDataRoute:r!=null},children:T})};return r&&(y.route.ErrorBoundary||y.route.errorElement||g===0)?P.createElement(u3,{location:r.location,revalidation:r.revalidation,component:j,error:S,children:_(),routeContext:{outlet:null,matches:A,isDataRoute:!0},onError:d}):_()},null)}function lw(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function nq(e){let t=P.useContext(ml);return jt(t,lw(e)),t}function rq(e){let t=P.useContext(Op);return jt(t,lw(e)),t}function iq(e){let t=P.useContext(Mr);return jt(t,lw(e)),t}function uw(e){let t=iq(e),n=t.matches[t.matches.length-1];return jt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function aq(){return uw("useRouteId")}function oq(){var r;let e=P.useContext(sw),t=rq("useRouteError"),n=uw("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function sq(){let{router:e}=nq("useNavigate"),t=uw("useNavigate"),n=P.useRef(!1);return s3(()=>{n.current=!0}),P.useCallback(async(a,s={})=>{Nr(n.current,o3),n.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...s}))},[e,t])}var pT={};function c3(e,t,n){!t&&!pT[e]&&(pT[e]=!0,Nr(!1,n))}P.memo(lq);function lq({routes:e,manifest:t,future:n,state:r,isStatic:a,onError:s}){return l3(e,void 0,{manifest:t,state:r,isStatic:a,onError:s})}function cw({to:e,replace:t,state:n,relative:r}){jt(yl()," may be used only in the context of a component.");let{static:a}=P.useContext(Kn);Nr(!a," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:s}=P.useContext(Mr),{pathname:l}=Pr(),c=_p(),f=Ap(e,ow(s),l,r==="path"),d=JSON.stringify(f);return P.useEffect(()=>{c(JSON.parse(d),{replace:t,state:n,relative:r})},[c,d,r,t,n]),null}function uq(e){return X8(e.context)}function dn(e){jt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function cq({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:a,static:s=!1,useTransitions:l}){jt(!yl(),"You cannot render a inside another . You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),f=P.useMemo(()=>({basename:c,navigator:a,static:s,useTransitions:l,future:{}}),[c,a,s,l]);typeof n=="string"&&(n=pl(n));let{pathname:d="/",search:m="",hash:y="",state:g=null,key:S="default",mask:w}=n,j=P.useMemo(()=>{let b=Ci(d,c);return b==null?null:{location:{pathname:b,search:m,hash:y,state:g,key:S,mask:w},navigationType:r}},[c,d,m,y,g,S,r,w]);return Nr(j!=null,` is not able to match the URL "${d}${m}${y}" because it does not start with the basename, so the won't render anything.`),j==null?null:P.createElement(Kn.Provider,{value:f},P.createElement(Hc.Provider,{children:t,value:j}))}function fq({children:e,location:t}){return W8(r1(e),t)}function r1(e,t=[]){let n=[];return P.Children.forEach(e,(r,a)=>{if(!P.isValidElement(r))return;let s=[...t,a];if(r.type===P.Fragment){n.push.apply(n,r1(r.props.children,s));return}jt(r.type===dn,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),jt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let l={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(l.children=r1(r.props.children,s)),n.push(l)}),n}var Xd="get",Wd="application/x-www-form-urlencoded";function Tp(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function dq(e){return Tp(e)&&e.tagName.toLowerCase()==="button"}function hq(e){return Tp(e)&&e.tagName.toLowerCase()==="form"}function pq(e){return Tp(e)&&e.tagName.toLowerCase()==="input"}function mq(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function yq(e,t){return e.button===0&&(!t||t==="_self")&&!mq(e)}var Ed=null;function vq(){if(Ed===null)try{new FormData(document.createElement("form"),0),Ed=!1}catch{Ed=!0}return Ed}var gq=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Lv(e){return e!=null&&!gq.has(e)?(Nr(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Wd}"`),null):e}function xq(e,t){let n,r,a,s,l;if(hq(e)){let c=e.getAttribute("action");r=c?Ci(c,t):null,n=e.getAttribute("method")||Xd,a=Lv(e.getAttribute("enctype"))||Wd,s=new FormData(e)}else if(dq(e)||pq(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a